| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 302 人关注过本帖
标题:一个关于REGS的问题
只看楼主 加入收藏
镖叔
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-10-4
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:4 
一个关于REGS的问题
这是一个读键盘的函数
int key ()
{
union REGS rg;
rg.h.ah=0;
int86 (0x16,&rg,&rg);
return rg.h.ah;}
我想问一下rg.h.ah=0;为什么要这样设定呢
搜索更多相关主题的帖子: return 
2012-10-16 10:03
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:20 
INT 16h是键盘中断调用,AH=0是入口参数,表示要求读取键盘字符,调用之后,返回的寄存器中AH储存按键对应的键盘扫描码。

授人以渔,不授人以鱼。
2012-10-16 12:39
镖叔
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-10-4
收藏
得分:0 
回复 2楼 TonyDeng
我还想问一下是不是一定要用ah寄存器的呢,可不可用其他寄存器呢,例如用rg.h.al=1可以吗
2012-10-16 12:56
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
那是中断程序规定的语法,就如写程序定义好的函数原型,不能改。这东西实质是你在调用外部程序,不是你作主的,人家规定这样接收参数和返回结果,就必须按照对方的来。

授人以渔,不授人以鱼。
2012-10-16 12:58
镖叔
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-10-4
收藏
得分:0 
回复 2楼 TonyDeng
我突然懂了,谢谢版主
2012-10-16 12:59
快速回复:一个关于REGS的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011868 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved