试编写汇编语言程序,要求从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数

CODE SEGMENT
ASSUME CS:CODE
START: 
mov bx,0
mov ch,4
mov cl,4
s0:
mov ah,1          ;键盘输入4个16进制数
int 21h
cmp al,39h        ;判断是0~9还是A~H,若是数字减30H,否则还要减07H
jbe next
sub al,07h

next:
sub al,30h
shl bx,cl
add bl,al        ;转换后的数据存入BX,每存一次左移4位
dec ch
jnz s0            ;输入完则控制显示
mov cx,16

s1:
mov dl,0
rol bx,1            ;循环左移1位,最高位移入CF
adc dl,30h        ;加30H后可得该位的ASCII码.
mov ah,02h
int 21h
loop s1
mov ax,4c00h
int 21h

CODE END
END START ;结束

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章