è la stessa cosa ke pensavo anke io solo ke ho provato a mettere tutto in eax facendo:
shl eax,16
xor ax,ax
mov ax,dx

ma durante l'esecuzione mi si impalla quando deve scrivere il numero in formato decimale...