Salve a tutti,sono nuovo qui.
Sto facendo un programmino in assembly ;i miei dati da stampare sono contenuti nei registri DX:AX;
Per stampare a video ho spostato tutto nel registro eax
shl edx,16
xor dx,dx
mov dx,ax
mov eax,edx
e utilizzo poi questo algoritmo per i decimali:

STAMPA PROC NEAR

PUSH EBP

MOV EBP,10
XOR CX,CX
DIVIDI: XOR EDX,EDX
DIV EBP

PUSH DX
INC CX

TEST EAX, EAX
JNZ DIVIDI
CICLO: POP AX

ADD AL,"0"
INT 29h
DEC CX
JNZ CICLO
POP EBP

RET



STAMPA ENDP

il programma mi visualizza 2 o tre caratteri se inserisco un numero maggiore di 5 mentre si impalla se inserisco 1 o 2