Red de conocimiento informático - Conocimiento sistemático - ¿Cómo compilar una subrutina para ingresar un número hexadecimal de 4 dígitos desde el teclado y generar el número decimal correspondiente?

¿Cómo compilar una subrutina para ingresar un número hexadecimal de 4 dígitos desde el teclado y generar el número decimal correspondiente?

asumir?cs:código

código?segmento

iniciar: llamar?leerHex llamada?imprimir mov?ah,4ch int?21h

;imprimir?(ax)?en?decimal

imprimir?proc?cerca de xor?cx,?cx mov?bx,?10

Q0: xor?dx,? dx div?bx xor?dx,?0e30H push?dx inc?cx cmp?ax,?0 jnz?Q0

Q1: pop?ax int?10h loop?Q1 ret

print?endp

;read?a?Hex?number?(16bit)

;Los datos de entrada se almacenan en ax y se devuelven

;No datos de entrada Comprobación de validez

readHex?proc?near mov?cx,0404h mov?bx,0 mov?ah,1

L0: int?21h cmp?al,'F' ja ?L1 cmp?al,'9' ja?L2 jmp?L3

L1: sub?al,20H

L2: sub?al,7H

L3: sub?al,30H shl?bx,cl o?bl,al dec?ch jnz?L0 mov?ah,0eh mov?al,0dh int?10h mov?al,0ah int?10h mov?ax,? bx ret

leerHex?endp

código?ends

end?start