《基本输入输出》ppt课件

《基本输入输出》ppt课件

ID:27269659

大小:325.32 KB

页数:26页

时间:2018-12-01

《基本输入输出》ppt课件_第1页
《基本输入输出》ppt课件_第2页
《基本输入输出》ppt课件_第3页
《基本输入输出》ppt课件_第4页
《基本输入输出》ppt课件_第5页
资源描述:

《《基本输入输出》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五部分基本输入输出AssemblyLanguageProgrammingIN和OUT指令端口输入/输出INOUT两种寻址方式直接寻址INAL/AX,nOUTn,AL/AXn为端口地址,范围为0-255间接寻址INAL/AX,DXOUTDX,AL/AXDX为端口地址,范围为0-64K输入输出的控制方式I/O设备与主机(CPU和存储器)的通信是通过外设接口进行的,传送控制、状态、数据三种不同的信息,IN/OUT指令执行这些操作。程序控制方式CPU利用指令反复查询I/O的状态,直到I/O准备好,才进

2、行输入/输出。此间CPU处于循环等待状态,未做有效的工作。中断方式CPU在执行程序的同时兼顾对I/O设备的控制或数据传送。当I/O设备准备好(空闲),由I/O通知CPU暂停正在运行的程序,转而处理I/O设备的请求,处理完即返回主程序继续执行。DMA方式主要适用于高速I/O设备(如磁盘),CPU向I/O接口提供控制信息(如数据块的首地址及字节数),I/O设备直接和存储器进行成批数据的快速传送。1程序直接控制I/O方式外设接口由一组寄存器(数据寄存器/状态寄存器/命令寄存器)组成,每个寄存器有一个端

3、口地址(端口号),IBM-PC机的I/O地址空间可达64K(0000~FFFFH)。I/O指令例:测试某状态寄存器(端口号27H)的第2位是否为1INAL,27HTESTAL,00000100BJNZERROR例CPU要从3个设备轮流输入数据,设备1,2,3的状态寄存器端口号分别用STAT1,STAT2,STAT3表示,第5位是输入准备位。INPUT:INAL,STAT1TESTAL,20HJZDEV2CALLFARPTRPROC1DEV2:INAL,STAT2TESTAL,20HJZDEV3C

4、ALLFARPTRPROC2DEV3:INAL,STAT3TESTAL,20HJZNO_INPUTCALLFARPTRPROC3NO_INPUT:……2中断传送方式IBM-PC中断系统能处理256种类型的中断,类型号为0~0FFH。中断向量表是各种中断处理程序的地址表。中断操作的5个步骤:(1)取中断类型号(2)计算中断向量地址(3)取中断向量,偏移地址送IP,段地址送CS(4)转入中断处理程序(5)中断返回到INT指令的下一条指令例:BIOS中断INT4AH4AH4=128H4AH4+2=

5、12AH(128H)IP(12AH)CS软件中断vs.硬件中断中断源:引起中断的事件外中断(硬中断):外设的I/O请求——可屏蔽中断电源掉电/奇偶错——非屏蔽中断内中断(软中断):INT指令/CPU错(除法错、溢出)硬件中断触发的事件来源于硬件,例如I/O设备完成I/O操作事件可发生在程序执行的任何时候CPU在每条指令执行完毕,检查是否发生了硬件中断软件中断触发的事件来源于程序中软件中断指令(也称为系统调用指令)通过运行软件中断指令,CPU处理中断中断处理程序和中断向量中断处理程序操作系统中

6、处理特定中断的函数该函数以IRET返回,而非RET中断向量表由256个中断向量组成每个中断向量都是由4字节的相应的中断处理程序的入口地址组成较高2字节的地址对应中断处理程序的CS地址较低2字节的地址对应中断处理程序的IP地址占用内存低端地址的1024字节的区域中断调用和返回INTvs.IRETINT指令格式:INTinterrupt_type动作:标志寄存器入栈,然后TF和IF清0CS和IP依次入栈根据interrupt_type设置CS:IP中断向量的地址IRET指令格式:IRET动作:将堆栈

7、中保存的IP内容弹回到IP将堆栈中保存的CS内容弹回到CS将堆栈中保存的标志寄存器内容弹回到标志寄存器BIOSvs.DOS系统调用BIOS功能调用是对DOS或者用户程序服务的基本I/O请求操作的服务.BIOSfunctions:INT0到INT1BHDOSsystemcalls:INT21H各种不同的系统调用功能是由AH指定的1DOS系统调用AssemblyLanguageProgramming字符的显示INT21Hwith02H显示一个字符INT21Hwith02H输入:AH:09HDL:显示

8、的字符例:MOVAH,02HMOVDL,53H;’S’INT21H字符串的显示INT21Hwith09H显示字符串INT21H输入:AH:09HDX:串的起始地址偏移量该串的结束符号必须是‘$’例:MSGDB'NAME?','$‘……MOVAH,09HLEADX,MSGINT21H键盘输入INT21Hwith0AH第1步:键盘输入参数表PARA_LISTLABELBYTEMAX_LENDB20ACT_LENDB?KB_DATADB20DUP(‘’)第2步:功能设置MOVAH,0AHLEADX,P

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

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

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