Montaż, drukowanie numeru ascii
Mam problem z moim kodem zespołu. Chcę wydrukować numer zapisany w rejestrze cx, ale gdy próbowałem go wydrukować, drukował znak ascii zamiast liczby ascii, więc postanowiłem napisać procedurę konwertowania ascii char na wartość ascii. Problem polega na tym, że gdy próbuję wywołać tę procedurę, program zawiesza się i muszę zrestartować dosbox. Czy ktoś wie, co jest nie tak z tym kodem? Dzięki.
P4 PROC
MOV AX,CX ;CX = VALUE THAT I WANT TO CONVERT
MOV BX,10
ASC2:
DIV BX ;DIV AX/10
ADD DX,48 ;ADD 48 TO REMAINDER TO GET ASCII CHARACTER OF NUMBER
PUSH AX ;SAVE AX
MOV AH,2 ;PRINT REMAINDER STORED IN DX
INT 21H ;INTERRUP
POP AX ;POP AX BACK
CMP AX,0
JZ EXTT ;IF AX=0, END OF THE PROCEDURE
JMP ASC2 ;ELSE REPEAT
EXTT:
RET
P4 ENDP