欢迎来到天天文库
浏览记录
ID:41552896
大小:247.50 KB
页数:43页
时间:2019-08-27
《汇编语言程序设计 第6章输入输出程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、8086/8088和ARM核汇编语言程序设计第6章输入/输出程序设计7/17/20211第6章输入/输出程序设计6.1输入/输出指令6.2CPU与外设传送数据的控制方式6.3程序查询传送方式第6章输入/输出程序设计6.4中断传送方式7/17/20212第6章输入/输出程序设计6.1.1I/O端口编址方式6.1输入/输出指令(1)统一编址:存储器(内存)与I/O端口的编址占用同一个地址空间。特点是所有对内存操作的指令对I/O端口同样有效,指令丰富,但会损失一部分的内存空间。(2)独立编址:内存与I/O端口对应不同的地址空间。对I/O端口有专门的指令。缺点是对I/O端口操作的指令不及统一编
2、址时丰富(例如,8086/8088中对I/O端口就只有最基本的输入输出指令),但能最大程度地满足存储空间的寻址范围。7/17/20213第6章输入/输出程序设计6.1.1I/O端口编址方式6.1输入/输出指令7/17/20214第6章输入/输出程序设计6.1.2输入/输出指令6.1输入/输出指令I/O指令:输入指令:INAL,PORTINAX,PORTINAL,DXINAX,DX输出指令:OUTPORT,ALOUTPORT,AXOUTDX,ALOUTDX,AXPORT:端口地址若地址值≦255,可直接寻址(寻址范围256个端口);否则,需经寄存器DX间接寻址(寻址范围64K个端口)7/
3、17/20215第6章输入/输出程序设计6.1.3I/O端口寻址方式6.1输入/输出指令1.直接I/O端口寻址方式这种寻址方式就是直接书写端口地址,由于这种寻址方式的指令编码是两字节的,其中第一字节是操作码,第二字节存放端口地址。所以这种寻址方式仅能对256个8位或16位端进行输入/输出。例如:INAL,nINAX,nOUTn,ALOUTn,AX其中,n=0~2557/17/20216第6章输入/输出程序设计6.1.3I/O端口寻址方式6.1输入/输出指令2.间接I/O端口寻址方式这种寻址方式是用寄存器DX表示端口地址。采用这种寻址方式的输入/输出指令是单字节编码。由于DX是16位寄存
4、器,所以这种寻址方式可对0~65535个端口地址进行访问:INAL,DXINAX,DXOUTDX,ALOUTDX,AX在程序设计中,这种寻址方式比较灵活。因为在程序中,只要修改DX的内容就可以用同一条输入/输出指令去访问不同的端口,实现可变端口的输入/输出。7/17/20217第6章输入/输出程序设计6.1输入/输出指令6.3程序查询传送方式第6章输入/输出程序设计6.4中断传送方式6.2CPU与外设传送数据的控制方式7/17/20218第6章输入/输出程序设计6.2CPU与外设传送数据的控制方式主机与外设之间的数据传送(控制)方式有:●程序查询传送方式●程序中断传送方式●直接存储器存
5、取(DMA)方式●I/O处理机方式(简称IOP协处理机方式)。查询方式先查询外设的状态,后进行输入/输出操作的工作方式,称为查询式输入/输出方式。外设的状态是通过输入指令读外设的状态寄存器获得的。每个状态寄存器都有对应的地址,称为端口地址。7/17/20219第6章输入/输出程序设计6.2CPU与外设传送数据的控制方式图6.2主机与外设间传送的信息7/17/202110第6章输入/输出程序设计CPU打印机控制器打印机DBSTBBUSYCBDBAB图打印机连接示意图【例】向打印机输出字符。6.2CPU与外设传送数据的控制方式7/17/202111第6章输入/输出程序设计2.
6、程序中断传送方式6.2CPU与外设传送数据的控制方式从查询式的传输过程可以看出,它的优点是硬件开销小,使用起来比较简单。但在此方式下,CPU要不断地查询外设的状态,当外设未准备好时,CPU就只能循环等待,不能执行其它程序,这样就浪费了CPU的大量时间,降低了主机的利用率。为了解决这个矛盾,提出了中断传送方式:即当CPU进行主程序操作时,外设的数据已存入输入端口的数据寄存器;或端口的数据输出寄存器已空,由外设通过接口电路向CPU发出中断请求信号,CPU在满足一定的条件下,暂停执行当前正在执行的主程序,转入执行相应能够进行输入/输出操作的子程序,待输入/输出操作执行完毕之后CPU即返回继续
7、执行原来被中断的主程序。这样CPU就避免了把大量时间耗费在等待、查询状态信号的操作上,使其工作效率得以大大地提高。7/17/202112第6章输入/输出程序设计3.直接存储器存取(DMA)传送方式6.2CPU与外设传送数据的控制方式中断输入/输出方式可以大大提高CPU的效率,但仍需要CPU通过程序进行传送。每次中断处理需要保护断点、保护现场及恢复现场、恢复断点,这些操作都要占用CPU的额外时间。对于高速的外部设备在成批地交换数据时,这种中断传送
此文档下载收益归作者所有