IBM-PC汇编语言程序设计第二版第8章(I)

IBM-PC汇编语言程序设计第二版第8章(I)

ID:39328703

大小:359.10 KB

页数:32页

时间:2019-06-30

IBM-PC汇编语言程序设计第二版第8章(I)_第1页
IBM-PC汇编语言程序设计第二版第8章(I)_第2页
IBM-PC汇编语言程序设计第二版第8章(I)_第3页
IBM-PC汇编语言程序设计第二版第8章(I)_第4页
IBM-PC汇编语言程序设计第二版第8章(I)_第5页
资源描述:

《IBM-PC汇编语言程序设计第二版第8章(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章输入输出程序设计CPUMEMI/O设备总线I/O接口1查询方式(程序控制方式)中断方式DMA方式(直接存储器存取方式/成组传送方式)1.I/O设备的数据传送方式2I/O指令是主机与外设进行通信的最基本途径。DOS功能调用和BIOS例行程序中的输入/输出功能也是由IN和OUT指令完成的。例:循环测试某状态寄存器的第2位是否为1AGAIN:INAL,STATUS_PORTTESTAL,00000100BJZAGAIN2.程序直接控制I/O方式读I/O状态准备好?传送数据NYINAL,DATA_PORT3I/O指令是主机与外设进行通信的最基本途径。DOS功能调用和BIOS例行程序中的输

2、入/输出功能也是由IN和OUT指令完成的。例:循环测试某状态寄存器的第2位是否为1AGAIN:INAL,STATUS_PORTTESTAL,00000100BJZAGAIN2.程序直接控制I/O方式读I/O状态准备好?传送数据NYMOVAL,DATAOUTDATA_PORT,AL4轮流查询几种I/O设备:DEV1:INAL,STAT1TESTAL,STAT1_BITJZDEV2CALLFARPTRPROC1DEV2:INAL,STAT2TESTAL,STAT2_BITJZDEV3CALLFARPTRPROC2DEV3:INAL,STAT3TESTAL,STAT3_BITJZDEV1CA

3、LLFARPTRPROC3优:程序安排或修改设备的优先次序缺:查询等待浪费CPU大量有效时间5设备控制寄存器(61h)1/00控制其它外部设备与门放大器2号定时器门控10例:Sound程序1……movdx,100inal,61handal,11111100bsound:xoral,2out61h,almovcx,140hwait1:loopwait1decdxjnesound……6.modeltiny.code.startupcallspeaker_onmovah,1int21hcallspeaker_off.exit0speaker_onprocpushaxinal,61horal,

4、3out61h,alpopaxretspeaker_onendpspeaker_offprocpushaxinal,61handal,0fchout61h,alpopaxretspeaker_offendpend例:Sound程序27printprocnearpushaxpushdxmovdx,378h;数据寄存器outdx,almovdx,379h;状态寄存器again:inal,dxtestal,80h;(dx)7=busyjeagain;=0,打印机忙movdx,37ah;控制寄存器moval,0dhoutdx,al;送选通信号jmp$+2;展宽选通信号moval,0choutd

5、x,alpopdxpopaxretprintendp例:打印机查询输出子程序00001101选通位自动换行初始化选择位中断位37AH8中断源:引起中断的事件外中断(硬中断):外设的I/O请求——可屏蔽中断电源掉电/奇偶错——非屏蔽中断内中断(软中断):INT指令/CPU错(除法错、溢出)/为调试程序设置的中断3.中断传送方式9非屏蔽中断请求中断逻辑INTnINTO除法错单步n401CPU2NMI8259A可编程中断控制器(PIC)IR0系统定时器IR1键盘IR2彩色/图形接口IR3保留IR4串行通讯口IR5保留IR6软盘IR7打印机INTR08090A0B0C0D0E0F80x86中断

6、源:10设置CPU中断允许位:FLAGS中的IF位=1允许中断(STI)=0禁止中断(CLI)设置中断屏蔽位:中断屏蔽寄存器的中断屏蔽位=0允许I/O设备请求中断=1禁止I/O设备请求中断76543210定时器键盘打印机中断屏蔽寄存器21H76543210中断命令寄存器20HEOIMOVAL,20HOUT20H,AL8259A中断的条件:INAL,21HANDAL,0FDHOUT21H,AL11类型0的(IP)类型0的(CS)类型1的(IP)类型1的(CS)类型N的(IP)类型N的(CS)类型255的(IP)类型255的(CS)00000000044*N003FC中断向量—中断处理程序

7、的入口地址(段址):(偏址)中断向量表用户可利用保留的中断类型号扩充自己需要的中断功能。12CPU中断过程:(1)取中断类型:CPU←typeN(2)保护现场:FLAGS、CS、IP入栈(3)IF=0,TF=0(4)取中断向量:(4×N)→IP(4×N+2)→CS(5)转中断处理程序13例:为中断类型N设置中断向量……MOVAX,0MOVES,AXMOVBX,N*4MOVAX,OFFSETINTHANDMOVES:WORDPTR[BX],AX;

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

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

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