网站大量收购独家精品文档,联系QQ:2885784924

(微机原理与接口技术知识)chapter08微处理器程序设计.ppt

(微机原理与接口技术知识)chapter08微处理器程序设计.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(微机原理与接口技术知识)chapter08微处理器程序设计.ppt

第八章 微处理器程序设计;模块化程序;PUBLIC 和 EXTRN;库;宏;宏中的局部变量;模块化的程序设计方法;用DOS功能调用读取键盘;方法 1 KEY PROC FAR MOV AH,1 INT 21H OR AL,AL JNZ KEY1 INT 21H STC KEY1: RET KEY ENDP;方法 2 读键但不回显 DOS功能号 06H 入口: AH= 06H, DL= 0FFH 或者DL= ASCII 码字符 注意: 如果 初始中DL= 0FFH , 则 调用读控制台. 如果DL= ASCII字符码, 则调用ASCII字符码并回显在显示器上 Z标志指示是否键入内容: ZF=1(通常用 JE Nokey表示)表明没有键被键入, ZF=0(通常用 JNE Hakey 表示)表明寄存器AL 的内容为键对应的 ASCII码字符。 如果 AL= 00H, 必须再次执行调用指令,以便获得扩展的ASCII码字符 ;KEYS PROC FAR MOV AH,6 MOV DL,0FFH INT 21H JE KEYS OR AL,AL JNE KEYS1 INT 21H STC KEYS1: RET KETS ENDP;方法 3 读入一整行字符并回显 DOS 功能号 0AH 入口: AH= 0AH, DS:DX= 键盘缓冲区得地址 注意: 缓冲区的第一个字节必须包含由该功能调用读入的键盘字符个数的最大值 (最多 255). 第二个字节包含实际键入字符的个数. 第三个字节在缓冲区的末尾之前包含字符串类型的个数, 以一个回车结束(0DH). 调用继续读取键值(显示键入的数据) 直到 键入指定的字符数或者指定的键 ;.MODEL SMALL .DATA BUF1 DB 257 DUP(?) BUF2 DB 257 DUP(?) .CODE .STARTUP MOV BUF1,255 MOV DX,OFFSET BUF1 CALL LINE MOV DX, OFFSET BUF2 CALL LINE .EXIT LINE PROC NEAR MOV AH,0AH INT 21H RET LINE ENDP END;用DOS功能调用写视频显示器;.MODEL TINY .CODE DISP MACRO A MOV AH,06 ; 也可以用02 MOV DL,A INT 21H ENDM .STARTUP DISP 0DH DISP 0AH .EXIT END;用DOS功能调用写视频显示器;.MODEL SMALL .DATA MFS DB 13,10,10‘This is a test line.$’ .CODE .STARTUP MOV AH,9 LEA DX,MFS INT 21H .EXIT END;鼠标;测试鼠标 中断向量地址可以通过 DOS INT 21H的35H号功能调用读出,来测试33H号中断向量的内容。 入口: AH= 35H, AL= 中断向量号 如果33H号中断向量 内容为0000: 0000, 则该鼠标驱动程序没有安装在系统中 在有些系统中,即使没有鼠标驱动程序,向量也存在.。这种情况下,INT 33H 向量地址指向IRET 指令 (CFH) 如果鼠标存在, 进位位清零; 如果鼠标不存在, 进位位置1;鼠标类型和驱动程序版本 测定与系统连接的鼠标类型及驱动程序的版本号 鼠标 INT 33H的 24H号功能调用用于测定鼠标驱动程序的版本号和鼠标的类型 进入: AL= 24H 退出: BH= 整数部分, BL= 小数部分, CH= 鼠标类型, CL= 中断请求号;数据转换;第一种方法 AAM指令将AX中的数值转换为两位非压缩BCD码,存入AX中 不是 ASCII 码, 可以通过加3030H转换为ASCII码 见例 8-20, 给出了使用过程DISP的程序处理 AL中的二进制数 (0~99) ,并以十进制的形式显示在屏幕上;.MODEL TINY .CODE .STARTUP MOV AL,4AH CALL DISP .EXIT DISP PROC NEAR PUSH DX MOV AH,0 AAM ADD AH,20H CMP AH,20H JE DISP1 ADD AH,10H DISP1: MOV DL,AH MOV AH,6 PUSH AX INT 21H POP AX MOV DL,AL ADD DL,30H INT 21H POP DX RET DISP ENDP END;第二种方法

您可能关注的文档

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档