- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 汇编语言_03
PC 机系统子程序的类型及组织结构 对计算机硬件进行操作的系统子程序 BIOS 调用 BIOS(Basic Input Output System,即基本输入输出系统)调用是PC机中最底层的软件,为计算机提供最低端的、最直接的硬件控制与支持。 DOS 功能调用 DOS 功能调用则主要是由DOS 的系统文件之一MSDOS.COM 提供,它们随DOS 系统启动后驻留在内存中,供系统和用户调用。 软中断调用格式 INT N N=00H~FFH 为中断类型号,每个中断类型号都对应一种或一组系统功能调用 中断向量表包括有各类软中断调用、硬件中断(如类型号08H~0FH及70H~77H)及异常中断(类型号00H~07H)处理子程序的入口地址 这个可以提供256个中断处理子程序入口地址的中断向量表,每个表项(入口地址)为4个字节 包括2 个字节的CS 值和2个字节的IP 值。其中IP占据低地址字节空间,CS占据高地址字节空间。 1K 字节的中断向量表可容纳的中断向量数为1024/4=256 。 用户在编程选用系统功能调用时应遵循以下原则: ①尽可能使用DOS 的系统功能调用,以降低编程的复杂性。 ②在DOS 功能不能实现情况下考虑用BIOS 功能调用。 ③在DOS 和BIOS 的中断子程不能解决问题时使用 IN/OUT 指令直接控制硬件。 BIOS 调用主要是类型号N 小于3FH 和大于20H 的部分中断向量所提供的子程序调用。 DOS 调用主要集中在中断类型号20H 到27H之间。 常用的寄存器为AX(AH,AL);BX(BH,BL);CX(CH,CL);DX(DH,DL)。 通常AH 用于设置某项功能中某个具体操作的编号 PC 机对按键的自动处理过程 从8255 的A口(口地址60H)读取键的扫描码 由扫描码产生按键字符对应的ASCII 码 将键的扫描码,ASCII 码存放在起始地址为KB_BUFFER 的键盘缓冲区内 置标志寄存器FR中的零标志位ZF为0 例1.单字符输入并显示的子功能01H 的应用 GET_KEY: MOV AH ,1 ;AH←功能号1 INT 21H ;如果有键按下,按键的字符会在屏幕光标当前位置显示 CMP AL ,Y ;是Y 吗? JE YES ;是Y,转程序YES CMP AL ,N ;是N 吗? JE NO ;是N,转程序NO(略) JNE GET_KEY ;等待输入Y 或N 例2.单字符输入(但不显示)子功能07H 的应用 WAIT_ENT: MOV AH ,7 ;采用07H 号子功能检测键,不显示按键字符 INT 21H CMP AL ,0DH ;是Enter 吗?(0DH 是Enter 键的ASCII 码) JNE WAIT_ENT 1)、文本显示方式 在常用的文本显示模式(模式3)下,每屏最多可显示2000(80×25)个字符。 规定:屏幕的左上角坐标为(0, 0),右下角坐标为(24, 79)。 在显示字符时,用一个字节存储该字符的ASCII码,用另一个字节存储的显示属性,即:显示颜色。 彩色显示器的字符显示属性定义如图 (P325) 串行通信口的中断功能 1、DOS中的通信功能 INT 21H提供了对通信口COM1操作的功能调用。 03H——从辅助设备读入一个字符,该辅助设备的缺省值为COM1 04H——向辅助设备输出一个字符,该辅助设备的缺省值为COM1 2、BIOS中的通信功能 BIOS系统提供了中断14H来实现对通信端口的控制。 00H——初始化通信口 01H——向通信口输出字符 02H——从通信口读入字符 03H——读取通信口状态 * * BIOS和DOS中断 1 键盘I/O 2 显示器I/O 3 打印机I/O 4 串行通信口I/O 1 键盘I/O 键盘的中断有3个: (1)DOS的21H号中断,提供功能较强的读键功能; (2)BIOS的16H号中断,提供较低层次的服务; (3)BIOS的9号中断,这是键盘硬中断,每当键盘上有键被按下,键盘都会通过接口向CPU提出9号中断请求。 BIOS键盘中断 16H号中断是BIOS提供给用户程序使用的一个软件中断,以INT 16H指令调用,提供基本的键盘服务,包括读键、判断有无普通键按下、读取控制键的状态等子功能。 1.0号子功能──读普通键 如果键盘缓冲区不空,则从缓冲区的环型队列首部取走一个按键,把按键的扫描码放到AH中,ASCII码放到AL中作为出口参数; 如果键盘缓冲区是空的,则等待有效按键输入。 2.1号子功能──不改变缓冲区的读键 当键盘
文档评论(0)