注册 登录
编程论坛 汇编论坛

[求助][请教] 8088 汇编

service 发布于 2006-09-24 10:31, 532 次点击

编写程序,用16进制显示按键ASCII值 如: 输入A 输出 A=41h

我编的:
code SEGMENT
ASSUME CS:code
m: MOV AH,1
INT 21h
MOV BL,AL
MOV DL,AL ;输出字符
MOV AH,2
INT 21h
MOV DL,3dh
INT 21h ;输出“=”


MOV AL,BL ;分离各位数字
MOV AH,00h
MOV DL,10
DIV DL

ADD AL,'0'
MOV BL,AH
ADD BL,'0'

MOV DL,AL
MOV AH,2
INT 21h ;输出十位数

MOV DL,BL
INT 21h
MOV DL,'H' ;输出个位数
INT 21h


MOV AH,4cH
INT 21h
code ENDS
END m


运行不对,哪儿错了啊???

2 回复
#2
hu9jj2006-09-24 14:43
是不能运行还是输出的结果不正确?
#3
srl99732006-09-28 10:34

MOV AL,BL ;分离各位数字
MOV AH,00h
MOV DL,10 ;应为10H
DIV DL

ADD AL,'0'
MOV BL,AH
ADD BL,'0'
;应加入判断当值大于9时应加37H
cmp al,9
jb l1
add al,7
MOV DL,AL
l1: MOV AH,2
INT 21h ;输出十位数

;应加入判断当值大于9时应加37H
cmp bl,9
jb l2
add al,7

MOV DL,BL
l2: INT 21h
MOV DL,'H' ;输出个位数
INT 21h

这个程序就还有更好的改进

1