ibm-pc汇编语言程序设计第二版第8章.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.I/O 设备的数据传送方式查询方式(程序控制方式)中断方式DMA方式(直接存储器存取方式/成组传送方式)2.程序直接控制 I/O 方式 I/O 指令是主机与外设进行通信的最基本途径。DOS 功能调用和BIOS例行程序中的输入/输出功能也是由IN和OUT指令完成的。例:循环测试某状态寄存器的第2位是否为1 AGAIN: IN AL, STATUS_PORT TEST AL, JZ AGAIN 读I/O状态N准备好?IN AL,DATA_PORT Y 传送数据2.程序直接控制 I/O 方式 I/O 指令是主机与外设进行通信的最基本途径。DOS 功能调用和BIOS例行程序中的输入/输出功能也是由IN和OUT指令完成的。例:循环测试某状态寄存器的第2位是否为1 AGAIN: IN AL, STATUS_PORT TEST AL, JZ AGAIN 读I/O状态NMOV AL, DATAOUT DATA_PORT, AL准备好?Y 传送数据轮流查询几种I/O设备:DEV1: IN AL, STAT1 TEST AL, STAT1_BIT JZ DEV2 CALL FAR PTR PROC1DEV2: IN AL, STAT2 TEST AL, STAT2_BIT JZ DEV3 CALL FAR PTR PROC2DEV3: IN AL, STAT3 TEST AL, STAT3_BIT JZ DEV1 CALL FAR PTR PROC3优:程序安排或修改 设备的优先次序缺:查询等待浪费CPU大量有效时间设备控制寄存器( 61h )1 01/0 02号定时器门控 控制其它外部设备与门放大器 …… mov dx, 100 in al, 61h and al, sound: xor al, 2 out 61h, al mov cx, 140hwait1: loop wait1 dec dx jne sound ……例:Sound 程序1例:Sound 程序2speaker_on proc push ax in al, 61h or al, 3? out 61h, al pop ax retspeaker_on endp?speaker_off proc push ax in al, 61h and al, 0fch out 61h, al pop ax retspeaker_off endpend.model tiny.code.startupcall speaker_onmov ah, 1int 21hcall speaker_off.exit 0例:打印机查询输出子程序print proc near push ax push dx mov dx, 378h ; 数据寄存器 out dx, al mov dx, 379h ; 状态寄存器again: in al, dx test al, 80h ; (dx)7 = busy je again; =0,打印机忙 mov dx, 37ah ; 控制寄存器 mov al, 0dh out dx, al; 送选通信号 jmp $+2 ; 展宽选通信号 mov al, 0ch out dx, al pop dx pop ax retprint endp0 0 0 0 1 1 0 137AH中断位选通位选择位初始化自动换行3.中断传送方式中断源:引起中断的事件外中断(硬中断): 外设的 I/O 请求—— 可屏蔽中断 电源掉电 / 奇偶错—— 非屏蔽中断内中断(软中断): INT 指令 / CPU 错(除法错、溢出)/ 为调试程序设置的中断非屏蔽中断请求8259A08IR0系统定时器09可编程中断控制器IR1键盘 2 NMI0AIR2彩色/图形接口INTR0B 中断逻辑IR3保留CPU0CIR4串行通讯口0DIR5保留 n 4 0 10EIR6软盘INT nINTO除法错单步0FIR7打印机(PIC)80x86 中断源:8259A 7 6 5 4 3 2 1 0中断屏蔽寄存器21H打印机键 盘 定时器 7 6 5 4 3 2 1

文档评论(0)

118zhuanqian + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档