Je suis nouveau dans l'assemblage, j'utilise EMU8086éléments d'impression de tableau dans l'ensemble
Je tentais d'imprimer deux éléments d'un tableau, mais je ne pouvais pas imprimer le deuxième élément
Voici mon code:
.MODEL SMALL
.STACK 100H
.DATA
MSG DB 'HI','GOOD$'
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
MOV AH,2
MOV DL,MSG
INT 21H
MOV AH,2
MOV DL,MSG+1
INT 21H
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
à la sortie salut est imprimé, bon n'est pas imprimé. s'il vous plaît corrigez-moi comment peut imprimer le deuxième élément.
Merci à l'avance
Vous pouvez faire défiler l'ensemble du tableau et imprimer la valeur du décalage. Vérifiez ce lien: [link] (http://stackoverflow.com/questions/35709437/printing-array-getting-strange-output-emu8086) – Nabid
1) 'int 21h/ah = 02h' imprime des caractères individuels, pour imprimer une chaîne, vous utiliseriez 'int 21h/ah = 09h'. 2) Toutes les chaînes que vous imprimez avec 'int 21h/ah = 09h' doivent être terminées par '' $ ''; actuellement seul '' GOOD'' est '' $ '-terminated. 3) "GOOD" commence à "MSG + 2", pas "MSG + 1" (et si vous ajoutez un "$" '-terminator à" HI "," GOOD "commence à' MSG + 3'). Cela simplifierait les choses si vous créiez un autre tableau contenant l'adresse de chaque chaîne, que vous pourriez ensuite traiter en boucle. – Michael