Je suis en train d'imprimer A-Zcomment utiliser 26 en langage assembleur
dans le code MOV CX,[34H]
comment se fait le CX a équivalent de 26? quand je ce code, il m'a donné la sortie de A à Z
TITLE SAMPLE PROGRAM USING CMP AND JMP
.MODEL SMALL
.STACK 0100H
.DATA
.CODE
START:
MOV AX,@DATA
MOV DS,AX
MOV AH,02H
MOV CX,[34H]
MOV DL,41H
START_LOOP:
INT 21H
INC DL
DEC CX
JZ EXIT
LOOP START_LOOP
EXIT: MOV AX,4C00H
INT 21H
END START
Quelle est la valeur de cette instruction dans CX, lorsque vous vérifiez avec un débogueur? Et s'assemble-t-il à une charge de l'adresse 34H, ou à un mov-immédiat? Je pense que dans la syntaxe de style MASM, c'est toujours immédiat même avec le '[]'. –
Pourquoi avez-vous une 'LOOP' directement après' DEC CX'/'JZ'? – Michael
parce que 34h est 52 ... 52/2 = 26 ... avec MASM tout d'un coup tout a un sens ... Quelqu'un peut-il brûler tous les binaires MASM de la Terre, avant qu'il ne pondre des œufs? ('dec cx' +' loop' décrémentera cx de deux pour chaque itération de boucle, donc la boucle ne se répètera que 26 fois avant que 'loop' ne saute parce que cx est nul.) – Ped7g