Desidero stampare una tabella di più numeri da 0 a 9 in assemblaggio. così ho programmare sottostante Codice:nuova riga nell'assemblaggio 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
Funziona correttamente, ma con un piccolo problema, quando voglio stampare nuova linea, e qualcosa di stampato in riga corrente, andrà a nuova linea, ma con un po 'di spazio prima nuova linea.
questo ha funzionato per me .. ma cosa fa esattamente il linefeed db 13, 10, "$"? –
Dai un'occhiata a questa domanda SO http://stackoverflow.com/q/17266837/2348704 – oat