;从键盘输入一个单个字符、显示该字符的ASCI码(十六进制)
;回车键退出循环, 终止程序
;分析:每个字符都是由两个16进制数组成的ASCL码,例如E3
;所以我们得到一个字符后,将这个字符除16,我们要的结果应该是【结果】【余数】
;我们要写一个子程序能显示0~F,然后循环调用
code segment
assume cs:code
show:
push ax
push dx
cmp al,0ah
jb number1
letter1:
add al,37h
jmp tail1
number1:
add al,30h
tail1:
mov dl,al
push ax
mov ah,02
int 21h
pop ax
mov al,ah
cmp al,0ah
jb number2
letter2:
add al,37h
jmp tail2
number2:
add al,30h
tail2:
mov dl,al
mov ah,02
int 21h
pop dx
pop ax
ret
start:
mov bl,16 ;除法需要
mov ah,01h ;输入一个字符
int 21h
cmp al,0DH ;通过实验可知当输入换行时al为0d
jz endd
;下面就是处理环节
mov ah,0
div bl ;al中存放结果,ah中存放余数
;自己写一个show方法,显示我们想要的结果
;ax相当于参数
call show
jmp start
endd:
mov ah,4ch
int 21h
code ends
end start
从键盘输入一个单个字符、显示该字符的ASCI码(十六进制) 回车键退出循环, 终止程序
最新推荐文章于 2023-12-10 08:40:22 发布