code?segment
start:
call?readHex call?print mov?ah,4ch int?21h;print?(ax)?in?decimal
print?proc?near
xor?cx,?cx mov?bx,?10Q0:
xor?dx,?dx div?bx xor?dx,?0e30H push?dx inc?cx cmp?ax,?0 jnz?Q0Q1:
pop?ax int?10h loop?Q1 retprint?endp
;read?a?Hex?number?(16bit)
;輸入數據存儲在ax中返回
;不做輸入數據有效性檢查
readHex?proc?near
mov?cx,0404h mov?bx,0 mov?ah,1L0:
int?21h cmp?al,'F' ja?L1 cmp?al,'9' ja?L2 jmp?L3L1:
sub?al,20HL2:
sub?al,7HL3:
sub?al,30H shl?bx,cl or?bl,al dec?ch jnz?L0 mov?ah,0eh mov?al,0dh int?10h mov?al,0ah int?10h mov?ax,?bx retreadHex?endp
code?ends
end?start