Tp

Signaler
Messages postés
1
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
5 novembre 2008
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
je suis débutante en assembleur et je veux ecrire un programme qui fait la saisie d'une suite de nbres à stocker ds 1 tableau,la saisie s'arrete lors  de saisie de #. le nbre max qu'on peut saisir est 16.jé écris ce code mé ça n'a pa marché.svp aidez moi.c urgent!!!!!!

.model  small
.stack  100h
.386

.data
tab db 16 dup (?)

.code
main PROC

mov ax,@data
mov ds,ax
mov di,offset tab
mov cx,0
saisie:
mov ah,1
int 21h
cmp al,35
JE fin_saisie
mov [di],al
add di,type tab
inc cx
cmp cx,16
JLE saisie

fin_saisie:

main ENDP
END main

1 réponse

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Je ne vais pas m'occuper de la récup du nbr, je ne fais plus de DOS ASM depuis des lustres.

Voyons le reste:
tab db 16 dup (?)
un tableau d'octets, on va donc pousser le pointer d'1 octet à chaque insertion.
Dans une boucle, il faut tendre vers 0 à chaque fois que c'est possible, on gagne ainsi une comparaison.
mov di, offset tab
mov cx, 16
saisie:
mov ah,1
;;;;; TA RECUP DU NBR DANS al ICI
je fin_saisie
mov [di], al
inc di   ; POINTEUR +1 DE 1 OCTET
dec cx ; TENDANT VERS 0, PLUS BESOIN DE COMPARAISON
jne saisie
fin_saisie:

ciao...
BruNews, MVP VC++