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

[求助]关于DOS功能调用的问题?

fish7fish7 发布于 2008-11-30 13:40, 1958 次点击
程序代码:
code          SEGMENT
              ASSUME    CS:code
        start:mov ah,1;带回显键盘输入
              int 21h
              mov dl,10;显示换行
              mov ah,2
              int 21h
              mov dl,13;显示回车
              mov ah,2
              int 21h
              MOV        AH,4ch
              INT       21h
code          ENDS
              END       start

为什么执行完,输入一个字符后AL不是它的ASCII码,却是回车的ASCII码,1号功能不是带回显键盘输入吗?
9 回复
#2
fish7fish72008-11-30 13:58
这个问题有这么难吗?真的没有人会?
#3
zklhp2008-11-30 17:36
谁说的?

code          SEGMENT
              ASSUME    CS:code
        start:mov ah,1;带回显键盘输入
              int 21h
              mov dl,al
              mov ah,2h
              int 21h
              mov dl,10;显示换行
              mov ah,2
              int 21h
              mov dl,13;显示回车
              mov ah,2
              int 21h
              MOV        AH,4ch
              INT       21h
code          ENDS
              END       start
#4
zklhp2008-11-30 17:40
只有本站会员才能查看附件,请 登录
#5
fish7fish72008-12-07 08:47
用转存技术我也会,就是不明白为什么执行完,输入一个字符后AL不是它的ASCII码,却是回车的ASCII码。
#6
zklhp2008-12-07 11:37
以下是引用fish7fish7在2008-12-7 08:47的发言:

用转存技术我也会,就是不明白为什么执行完,输入一个字符后AL不是它的ASCII码,却是回车的ASCII码。


你没看我那个图呀 我再把al显示出来 是刚才输入的呀

是不是偶理解错了?
#7
fish7fish72008-12-07 15:27
斑竹那个图是什么啊?
#8
zklhp2008-12-07 18:04
就是我那个程序执行的截图呀

输一个字母 再显示al 还是那个字母 所以是两个 你说怎么能是回车~~~
#9
shaoyuan2008-12-07 20:16
我认为计算机在向输出端输出符号时同时也向AL寄存器中传送输出的符号,类似于返回操作
#10
liushui20102010-04-30 15:31
我的理解是:带回显并不是自动输出的意思,系统只是把从键盘输入的字符放在AL中,还要靠你自己写代码输出。注意一点是,你在执行mov ah,2h  int 21h 这俩条语句时,AL中的值会被系统改变,置为0!此乃鄙人浅解,如有错误,请指出,谢谢!

              
1