《汇编语言》PPT课件

《汇编语言》PPT课件

ID:38938163

大小:276.00 KB

页数:57页

时间:2019-06-21

《汇编语言》PPT课件_第1页
《汇编语言》PPT课件_第2页
《汇编语言》PPT课件_第3页
《汇编语言》PPT课件_第4页
《汇编语言》PPT课件_第5页
资源描述:

《《汇编语言》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、汇编语言数学科学学院计算机应用技术专业修兴强&Ariel北京师范大学数学科学学院202.112.84.202/~xiux/download.phpE-mail:xq_xiu@yahoo.com.cn第15章BIOS程序设计BIOS数据区BIOS数据区包含了ROMBIOS服务历程使用的系统数据,它位于内存的0040h段内。中断向量表BIOS和DOS数据软件BIOSDOS内核、设备驱动命令行处理器驻留部分驻留程序区(应用程序可用)命令行处理器的暂留部分图形视频文本和图形视频保留区ROMBIOS地址FFFFFF0000C0000B8000A80000040000000VRAM640KR

2、AM2007年11月3汇编语言INT16h键盘中断BIOS层次仅在硬件层次之上,在该层次控制计算机有着极大的灵活性,这种方法的一个重要限制就是所有的程序必须在实地址模式或虚拟8086模式下运行。BIOS键盘处理程序INT16h获取键盘输入。INT16h不允许重定向,但却是读取扩展功能键、方向盘、PgUp和PgDn的最好方法,这些扩展键产生一个8位的扫描码(scancode)。对IBM兼容机而言,每个键的扫描码都是惟一的。事实上,所有的按键都产生扫描码,但我们通常并不注意和ASCII字符对应的扫描码,因为这是ASCII码更加通用。当按下扩展健时,其ASCII码是00h或E0h,如下

3、表所示:按键ASCII码Ins,Del,PageUp,PageDown,Home,End,上,下,左,右E0h功能键(F1--F12)00h2007年11月4汇编语言键盘是如何工作的?键盘输入事件是从键盘控制芯片开始的,到字符被放在30字节的键盘输入缓冲区(在偏移001Eh—003Dh处)中时结束。键盘输入缓冲区在任何时刻最多可容纳15个击键,因为每次击键将产生两个字节(ASCII码+扫描码)的数据。当用户按键时将产生下列事件:键盘控制芯片向PC的键盘输入端口发送一个8位的扫描码(sc)。输入端口引发一个中断,中断是预定义的信号,用于通知CPU一个输入输出设备需要引起注意。CPU

4、通过执行INT9h服务例程响应键盘中断。INT9h服务例程从输入端口获取键盘的扫描码(sc)并查找对应的ASCII码(ac),如果找到了ASCII码就将ASCII码和扫描码仪器插入到键盘缓冲区中(如果扫描码没有对应的ASCII码,键盘缓冲区中的ASCII码就设为0)。2007年11月5汇编语言KeyboardINT9hhandlertypeaheadbufferINT21hhandlerINT16hhandlersc=scancodeac=ASCIIcodescscsc,acacsc,acinputport2007年11月6汇编语言一旦扫描码和ASCII码被安全地放置于缓冲区中,

5、它们就一直保存在那里,直到被当前运行的程序取出为止,有两种方法取出按键:调用BIOSINT16h功能从键盘缓冲区中返回扫描码和ASCII码。这在处理没有ASCII码的功能键和光标键时非常有用。调用MS-DOSINT21h功能从输入缓冲区中返回按键的ASCII码。如果按下了扩展健,必须第二次调用INT21h以返回扫描码。INT16h功能进行键盘处理时INT16h比INT21h有许多明显的优点。INT16h可在一步内同时返回扫描码和ASCII码;另外INT16h还有一些额外的功能,如设置击键重复率和返回键盘状态标志等。击键重复率是指在按下键时击键的重复速率。当不知道用户按下的是否是扩

6、展健时,INT16h通常是可调用的最佳功能。2007年11月7汇编语言INT16h功能03h(设置击键重复率)INT16h功能03h允许设置键盘击键重复率。当一直按着某个键时,在键开始重复之前通常有250~1000毫秒的延迟。重复速率的取值可以在1Fh(最慢)到0(最快)之间。描述设置击键重复率接收参数AH=3AL=5BH=重复延迟(0=250ms;1=500ms;2=750ms;3=1000ms)返回值无2007年11月8汇编语言INT16h功能05h(在键盘缓冲区中插入按键动作)INT16h功能05h允许你将一个按键动作送入键盘缓冲区。一个按键由两个8位整数构成:一个ASCI

7、I码和一个键盘扫描码。描述将按键送键盘缓冲区接收参数AH=5CH=扫描码CL=ASCII码返回值如果键盘缓冲区已满,则CF=1,AL=1;否则CF=0,AL=02007年11月9汇编语言INT16h功能10h(等待按键)INT16h功能10h从键盘缓冲区中删除下一个按键。如果缓冲区中没有现成的按键存在,则键盘处理程序等待用户按键。描述等待按键接收参数AH=10h返回值AH=键盘扫描码AL=ASCII码注意如果缓冲区内无按键,该功能就等待按键2007年11月10汇编语言INT16h

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。