ax的al值调用出错
时间:2010-12-14
来源:互联网
CODES SEGMENT
START:
mov ah,1 ;直接显示接收的ascii放到al中去
int 21h
mov ah,0
mov bl,100
div bl
add al,30h ;al为百位上的数字
mov cl,al ;百位移动进bl
mov al,ah
mov ah,0
mov bl,10
div bl
add al,30h ;为十位al
add ah,30h ;个位a
mov bx,ax
mov ah,2
mov dl,10
int 21h
mov dl,13
int 21h
mov dl,cl ;al为百位输出
int 21h
mov dl,al ;问题出在这里mov dl,bl 这里我换成mov dl,al就出错
int 21h
mov dl,bh
int 21h
mov ah,4ch
int 21h
CODES ENDS
END START
这个程序是正确的,目的是输出刚才通过键盘键入的值的ascii码值,并吧对应的值转成ascii码里的0-9值
可是我发现ax中的al值是我本身可以用到的,虽然前面mov bx,ax已经吧ax中的值复制到了bx中的.但我发现应该可以用ax中的al来输出,于是我修改了.mov dl,bl 换成mov dl,al
可是问题出现了,得到的输出值不对.
不知道,ax中的al值是不是在mov ah,2 以后就不可以在调用呢?为什么输出的值不对.
我通过t跟踪查看了.各个寄存器里的值发现ax中的al值是正确的,可就是显示出来的却不正确.不知道为什么?
START:
mov ah,1 ;直接显示接收的ascii放到al中去
int 21h
mov ah,0
mov bl,100
div bl
add al,30h ;al为百位上的数字
mov cl,al ;百位移动进bl
mov al,ah
mov ah,0
mov bl,10
div bl
add al,30h ;为十位al
add ah,30h ;个位a
mov bx,ax
mov ah,2
mov dl,10
int 21h
mov dl,13
int 21h
mov dl,cl ;al为百位输出
int 21h
mov dl,al ;问题出在这里mov dl,bl 这里我换成mov dl,al就出错
int 21h
mov dl,bh
int 21h
mov ah,4ch
int 21h
CODES ENDS
END START
这个程序是正确的,目的是输出刚才通过键盘键入的值的ascii码值,并吧对应的值转成ascii码里的0-9值
可是我发现ax中的al值是我本身可以用到的,虽然前面mov bx,ax已经吧ax中的值复制到了bx中的.但我发现应该可以用ax中的al来输出,于是我修改了.mov dl,bl 换成mov dl,al
可是问题出现了,得到的输出值不对.
不知道,ax中的al值是不是在mov ah,2 以后就不可以在调用呢?为什么输出的值不对.
我通过t跟踪查看了.各个寄存器里的值发现ax中的al值是正确的,可就是显示出来的却不正确.不知道为什么?
作者: cvksbaizhi 发布时间: 2010-12-14
mov ah,2
int 21h
显示完dl中的字符后,将dl的值同时放到al中了。所以,显示字符时,若al中的值有用,要先保存。
int 21h
显示完dl中的字符后,将dl的值同时放到al中了。所以,显示字符时,若al中的值有用,要先保存。
作者: shzhfu 发布时间: 2010-12-14
你好.我按照你说的,我修改程序,可是我在使用t跟踪的时侯,发现dx的从mov dl,10时,dx只为000A就没有发生变化了,我翻我手里的书,发现没有介绍更多的查看.我要怎么查看到这个过程呢?
作者: cvksbaizhi 发布时间: 2010-12-14
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28