欢迎来到天天文库
浏览记录
ID:41233616
大小:991.51 KB
页数:99页
时间:2019-08-20
《《汇编语言程序设计》第8章输入、输出与中断》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章输入/输出与中断第8章输入/输出与中断8.1输入/输出8.2CPU与外设之间的数据传送方式8.3中断8.4DOS和BIOS中断调用第8章输入/输出与中断8.1输入/输出8.2CPU与外设之间的数据传送方式8.3中断8.4DOS和BIOS中断调用8.1输入/输出I/O端口编址方式I/O端口寻址方式I/O端口编址方式8.1输入/输出独立编址:I.O端口有独立的地址空间,CPU使用不同的指令访问内存储器和I.O端口。统一编址:在系统中,内存储器和I.O端口的地址统一安排,二者没有重叠的地址空间,CPU使用相同的指令访问内存储器和I.O端
2、口,由地址来确定访问的是内存储器还是I.O端口。I/O端口编址方式8.1输入/输出独立编址:硬件系统复杂,但没有占用内存的地址空间。统一编址:硬件系统简单,可以利用丰富的存储器访问指令访问I.O设备,从而提高了程序设计的灵活性,但I.O设备占用了部分地址空间,减少了内存的地址空间。I/O端口寻址方式8.1输入/输出直接端口寻址间接端口寻址I/O端口寻址方式8.1输入/输出直接端口寻址INAL,PORT;PORT端口内容读到AL累加器中INAX,PORT;PORT+1和PORT端口内容读到AX累加器中OUTPORT,AL;将AL累加器中内
3、容写到PORT端口OUTPORT,AX;将AX累加器中内容写到PORT+1和PORT端口I/O端口寻址方式8.1输入/输出间接端口寻址MOVDX,PORT;PORT端口地址传送到间址寄存器DX中INAL,DX;将以DX中内容为地址的I.O端口内容读到AL累加器中INAX,DX;将以(DX+1、DX)中内容为地址的两个I.O端口内容读到AX累加器中OUTDX,AL;将AL累加器中内容写到以DX中内容为地址的I.O端口OUTDX,AX;将AX累加器中内容写到以(DX+1、DX)中内容为地址的两个I.O端口第8章输入/输出与中断8.1输入/输
4、出8.2CPU与外设之间的数据传送方式8.3中断8.4DOS和BIOS中断调用8.2CPU与外设之间的数据传送方式程序控制方式中断处理方式直接存储器存取方式程序控制方式8.2CPU与外设之间的数据传送方式CPU通过读取端口状态寄存器的标志位来了解外设的工作状态,据此来决定对外设的访问。采用这种方法进行数据传送的方式称为程序控制方式,通常称作(程序)查询方式。程序控制方式8.2CPU与外设之间的数据传送方式8.1访问外设的程序控制流程图程序控制方式8.2CPU与外设之间的数据传送方式在实际应用中,为防止因某种原因造成CPU处于死循环查询状
5、态,可根据通常状态下设备转到就绪状态所需时间或人们的可容忍时间,在程序中设置一预定的循环次数值(超时值),并安排超时检测程序段,如设备在该时间内未转到就绪状态,则CPU从循环查询状态中跳出,防止因为CPU处于死循环查询状态而使访问设备的程序不能正常运行。程序控制方式8.2CPU与外设之间的数据传送方式程序控制方式8.2CPU与外设之间的数据传送方式例8.1读微机中实时钟RT.CMOS,把读到的秒、分和时保存到变量中。CMOSRAM中相关各字节的含义见表8.1。程序控制方式8.2CPU与外设之间的数据传送方式分析:RT/CMOSRAM的状
6、态寄存器A的位7是计时更新标志位,为1表示实时钟正在计时,为0表示实时钟信息可以读出。在读实时钟前,要判别该标志位是否为0。程序控制方式8.2CPU与外设之间的数据传送方式PORTEQU70H;CMOS地址索引端口,71H为CMOS数据端口地址REGAEQU0AH;状态寄存器A地址FLAGEQU80H;更新标志位SECONDEQU00H;秒单元地址MINUTEEQU02H;分单元地址HOUREQU04H;时单元地址SECDB?;保存秒值的变量MINDB?;保存分值的变量HRDB?;保存时值的变量…CHECK:MOVAL,REGAOUTP
7、ORT,ALINAL,PORT+1;读状态寄存器ATESTAL,FLAG;检测状态寄存器A的Bit7更新标志JNZCHECK;如Bit7=1日期.时间不可读;跳回CHECK处继续检测MOVAL,SECOND;否则可读OUTPORT,ALINAL,PORT+1;读秒值MOVSEC,AL;保存秒值MOVAL,MINUTEOUTPORT,ALINAL,PORT+1;读分值MOVMIN,AL;保存分值MOVAL,HOUROUTPORT,ALINAL,PORT+1;读时值MOVHR,AL;保存时值…程序控制方式8.2CPU与外设之间的数据传送方式
8、例8.2利用查询方式打印一个字符。分析:利用查询方式打印一个字符的流程是:首先输入打印数据,随后读取打印机工作状态信息,判断打印机是否忙;如打印机不忙,向打印机发出选通命令;如打印机忙,则在规定的超时时间段
此文档下载收益归作者所有