汇编语言题:十进制转十六进制

来源:百度知道 编辑:UC知道 时间:2024/06/14 21:15:32
从屏幕上输入一个十进制数(例如 100或-100),按十六进制形式输出到屏幕上。需要全程操作的思路。如果涉及中断、求余、变ASCII码,请包含转换的细节。

从屏幕键入一个十进制数以它的十六进制形式输出 这是我的程序代码,老师要我们做成实验报告上交,你顺便帮我修改,帮做一份报告给我,谢谢诶
code segment
assume cs:code
start:
mov cx,4
newchar: mov ah, 1 ;键盘输入
int 21h
sub al, 30h
jl newchar ; <0重输
cmp al, 9
jg newchar ; >9重输
cbw
xchg ax, bx
mov dx, 10
mul dx
xchg ax, bx
add bx, ax
loop newchar
exit:
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h

mov ch, 4
rotate: mov cl, 4
rol bx, cl
mov al, bl
and al, 0fh
add al, 30h ; ’0’~’9’ ASCII 30H~39H
cmp al, 3ah
jl printit
add al, 7h ; ’A’~’F’ ASCII 41H~46H
printit: mov dl, al
mov ah, 2
int 21h
dec ch
jnz ro