Bonjour,
j'ai ce code assembleur qui permet la creation d'un tableau de 10 cases et les remplir avec le chiffre 5.en l'utlisant avec tasm,il s'avère qu'il présente des erreurs .si vous pouvez les corriger et comment je peux modifier ce code pour demander à l'utlisateur de donner des valeurs pour remplir le tableau...Merci d'avance
voici le code
.MODEL SMALL
.STACK
.DATA
TABLEAU DB 10 DUP (?)
.CODE
MOV AX,0
BOUCLE:
MOV TABLEAU[AX],5
INC AX
CMP AX,9
JNE BOUCLE
MOV AX,0
BOUCLE2:
MOV DX,TABLEAU[AX]
INC AX
CMP AX,9
JNE BOUCLE2
MOV AX,4C00H
INT 21H
END
les erreurs affichées par TASM:
<13>illegal indexing mode
<21>operand types do not match
A voir également:
Tableau assembleur
Remplir un tableau en assembleur - Meilleures réponses
Gare aux 8086,..286 8 16 bits.
Il distingue les registres généraux,d'adresse et d'indexage.
si di pointeurs d'adresses
bx index
mov [di+bx],..
c'est pour ça que l'assembleur actuel est si utilisable.
OUI bx est le registre d'index.
Après il faut encore se préoccuper des segments,de la pile,de la ...SOS
je n'ai que 53 ans et le 8086 commence à devenir un vieux souvenir.
Il me semble que DS doit être positionner sur le registre des data.
L'adresse complète en 8086 est:
Segment + pointeur + index
Un segment en 8086 a une valeur.
cette valeur représente (Valeur * 16) bytes