Je veux imprimer la table de plusieurs nombres de 0 à 9 dans l'assemblée. donc je programme ci-dessous le code:nouvelle ligne dans l'assemblage 8086
data_seg segment
I DB 0D
J DB 0D
R DB ?
DIVER DB 10D
data_seg ends
stack_seg segment
stack_seg ends
code_seg segment
MAIN proc far
assume cs:code_seg, ds:data_seg, ss:stack_seg
MOV AX,data_seg
MOV DS,AX
FOR1:
MOV J,0D
FOR2:
MOV AX,0H
MOV AL,I
MUL J
DIV DIVER
MOV R,AH
ADD AL,48D
MOV AH,0EH
INT 10H
MOV AL,R
ADD AX,48D
MOV AH,0EH
INT 10H
MOV AX,32D
MOV AH,0EH
INT 10H
INC J
MOV AX,0
MOV AL,J
SUB AX,10D
JNZ FOR2
INC I
MOV AX,10D
MOV AH,0EH
INT 10H
MOV AX,0
MOV AL,I
SUB AX,10D
JNZ FOR1
MOV AX,4CH
INT 21H
MAIN endp
code_seg ends
end MAIN
Il fonctionne correctement, mais avec un petit problème, quand je veux imprimer nouvelle ligne, et quelque chose imprimé en ligne en cours, il ira à la nouvelle ligne, mais avec un peu d'espace avant nouvelle ligne.
cela a fonctionné pour moi .. mais qu'est-ce que linefeed db 13, 10, "$" exactement faire? –
Découvrez cette question SO http://stackoverflow.com/q/17266837/2348704 – oat