- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编学习78913
程序员可在以下情况下考虑使用BIOS的功能调用。 1.BIOS提供的功能,而DOS没有提供该功能。 2.不能利用DOS功能调用的情况(可能因为某些具体应用的限制)。 3.基于处理速度的考虑,需要绕过DOS层的情况。 利用BIOS功能编写和程序简洁,可读性好,而且易于移植。 7.1 键盘I/O 7.1.1 字符码和扫描码 7.1.2 BIOS键盘中断 7.1.3 DOS键盘功能调用 7.2 显示器I/O 7.2.1 字符属性 7.2.2 BIOS显示中断 7.2.3 DOS显示功能调用 7.2.3 DOS显示功能调用 7.3 打印机I/O 7.3.1 DOS 打印功能 7.3.2 打印机的控制字符 7.3.3 BIOS打印功能 在接收和发送过程,错误状态位(1,2,3,4位)一旦被置为1,则读入的接收数据已不是有效数据,所以在串行通信应用程序中,应检测数据传输是否出错。 ?奇偶错:通信线上(尤其是用电话线传输时)的噪音引起某些数据位的改变,产生奇偶错。 ?超越错:在上一个字符还未被处理机取走,又有字符要传送到数据寄存器里,则会引起超越错。 ?帧格式错:当接收/发送器未接到一个字符数据的停止位,则会引起帧格式错。 ?间断:间断有时候并不能算是一个错误,而是为某此些特殊的通信环境设置的“空格”状态。 利用BIOS INT 14H,可以通过COM端口与另一台PC机传送字符,其过程如下: (1)用INT 14H,AH=1,AL=字符,发送一个字符。 (2)为了接收字符,用INT 14H,AH=3来获得COM端口的状态,其值返回在AH寄存器中注意,MODEM的状态值是返回在AL寄存器中。 (3)检验COM端口状态值的第0位,它是数据准备好位,如果该位为1,说明COM端口已经接收到字符并送到了8250 UART。 (4)为了读取接收到的字符,使用INT 14H AH=2功能,将字符读到AL寄存器。 例:两台PC机通过COM2端口进行串行数据通信,编写一个汇编语言程序,要求从一台PC机上键盘输入的字符能传送到另一台PC机,若按下ESC键,则退出程序。在程序中,COM2端口初始化为4 800比特,8位数据位,无校验,1位终止位; 按照例7.27的通信要求编写程序时,需要以下几个步骤: (1)检验按键,如果按下一键,则获取字符码并将它写到要传输的COM端口,同时也要检测是否按动退出键Esc。 (2)如无任何键按下,检测COM端口状态,如果已经接收到一个字符,则读取并显示在屏幕上。 (3)转向第(1)步。 例7.20的指令也适用于发送打印控制字符。例如TEXT字符串定义如下:TEXT DB 0CH, Hello,everybody!,0DH,0AH,0AH 字符串中的第一个字符是换页码(0CH),最后两个字符是换行码(0AH)。用上面的指令把TEXT字符串在打印机上输出,则字符串打印在新一页的顶部,并与下文有两个空行的距离。 7.3.2 打印机的控制字符 1. 标准控制字符 打印机的标准控制字符 十进制 十六进制 功能 08 08 空格 09 09 水平Tab(横表) 10 0A 换行 11 0B 垂直Tab(横表) 12 0C 换页 13 0D 回车 2. 特殊的打印命令 特殊的打印命令 十进制 十六进制 功能 15 0F 设置紧缩方式 14 0E 设置扩展方式 18 12 取消紧缩方式 20 14
文档评论(0)