Tp

cs_rajabo Messages postés 1 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 5 novembre 2008 - 5 nov. 2008 à 12:49
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 8 nov. 2008 à 19:42
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 nov. 2008 à 19:42
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++
0
Rejoignez-nous