汇編语言程序设计 第9章输入/输出程序设计 输入/输出指令 输入/输出控制方式 中断 B10S中断调用
汇编语言 程序设计 第9章 输入/输出程序设计 ◆ 输入/输出指令 ◆ 输入/输出控制方式 ◆ 中断 ◆ BIOS中断调用
汇編语言程序设计 9.1输入/输出指令 9.1.11/0端口寻址 当设备通过接口与主机相连时,CPU可以通过接口地址 来访问Ⅰ0设备。通常将Ⅰ/0设备码视为地址码,对I/0地址 码的编址可采用存储器编址和Ⅰ0端口编址两种方式 1.存储器编址方法 存储器编址也叫统一编址,就是将I/0地址看作是存储 器地址的一部分 2.I/0端口编址方法 Ⅰ闶0端口编址也称为不统一编址,就是指I/0地址和存 储器地址是分开的,所有对I/0的访问必须有专用的I/0指令
汇编语言 程序设计 9.1 输入/输出指令 9.1.1 I/O端口寻址 当设备通过接口与主机相连时,CPU可以通过接口地址 来访问I/O设备。通常将I/O设备码视为地址码,对I/O地址 码的编址可采用存储器编址和I/O端口编址两种方式。 1.存储器编址方法 存储器编址也叫统一编址,就是将I/O地址看作是存储 器地址的一部分。 2.I/O端口编址方法 I /O端口编址也称为不统一编址,就是指I/O地址和存 储器地址是分开的,所有对I/O的访问必须有专用的I/O指令
汇編语言程序设计 9.1.2输入/输出指令 输入指令 格式: IN OPERAND1.0 peraND2 其中:操作数 OPERAND1是A或A,操作数0 PERAND2是論入墉口地址。 输入指令IN是把端口的一个字节域字传送給A或AX。 2.输出指令 格式: OUT OPERAND1, OPERAN2 其中: OPERAND1是輸出端口地址, OPERAND2是AL或AX,输出指令OUT 把AL或AX中的内容输出到端口。 3.墉口地址的寻扯方式 用上两条指令时,有直接和间接两种寻址方式来确定蜡口地扯。 (1)直接墉口寻扯 输入/输出指令的端口地扯可以是直接给出,此时指令为双字节, 第二字节即为一个具体的8位二进制数,可对0-25个8端口寻 (2)间接鳙口寻扯 间接墉口寻址是采用岢存器D的内容来指定端口地址,此寻址方 式的指令是单字节指令。因为D是16位存器,所以这种寻址方式可 对0-65535个16位端口选行寻扯。当墉口号大于255时,就应采用间接 墉口寻址。 返回
汇编语言 程序设计 9.1.2 输入/输出指令 1.输入指令 格式: IN OPERAND1,OPERAND2 其中:操作数OPERAND1是AL或AX,操作数OPERAND2是输入端口地址。 输入指令IN是把端口的一个字节或字传送给AL或AX。 2.输出指令 格式: OUT OPERAND1,OPERAND2 其中:OPERAND1是输出端口地址,OPERAND2是AL或AX,输出指令OUT 把AL或AX中的内容输出到端口。 3. 端口地址的寻址方式 用上两条指令时,有直接和间接两种寻址方式来确定端口地址。 (1) 直接端口寻址 输入/输出指令的端口地址可以是直接给出,此时指令为双字节, 第二字节即为一个具体的8位二进制数,可对0-255个8位端口寻。 (2) 间接端口寻址 间接端口寻址是采用寄存器DX的内容来指定端口地址,此寻址方 式的指令是单字节指令。因为DX是16位寄存器,所以这种寻址方式可 对0-65535个16位端口进行寻址。当端口号大于255时,就应采用间接 端口寻址。 返回
汇編语言程序设计 9.2输入/输出控制方式 9.2.1程序控制方式 程序控制方式是在用户程序的控制下实现主机(CPU)与外设交 换信息,对哪个端口何时进行输入/输出操作,都在程序中反映出來。 具体实现时又有立即传送和程序査询两种方法 1.立即传送方式 采用这种方法时,应该确定外设已经准备好,因此不再询冋外设 是否准备情柷,在程序中需要输入/输岀时,就向指定端口选行输入 /输出操作。 2.程序查询方式 若CPU与外设交换信息时,根据外设的工作状态來决定是否进行 交换,这就是程序查询方法,这时CPU常常要查询外设的某些标记, 然后再作出决定,就是程序查询方式
汇编语言 程序设计 9.2 输入/输出控制方式 9.2.1 程序控制方式 程序控制方式是在用户程序的控制下实现主机(CPU)与外设交 换信息,对哪个端口何时进行输入/输出操作,都在程序中反映出来。 具体实现时又有立即传送和程序查询两种方法。 1.立即传送方式 采用这种方法时,应该确定外设已经准备好,因此不再询问外设 是否准备情况,在程序中需要输入/输出时,就向指定端口进行输入 /输出操作。 2.程序查询方式 若CPU与外设交换信息时,根据外设的工作状态来决定是否进行 交换,这就是程序查询方法,这时CPU常常要查询外设的某些标记, 然后再作出决定,就是程序查询方式
汇編语言程序设计 9.2.2中断控制方式 程序控制方式的立即传送方法.不能根据设备实时状 况操作,而程序查询方式使这种问题得以解决,但工作时 CPU与外设相当串联工作,占用CPU大量时间.因此工作效 率不可恭维。如果在外设已准备好的情况下,通知CPU,这 时CPU才停下原來的工作与外设实施数据交换,此次信息交 换完成后CPU在继续自己的原有工作,按此想法就产生了中 断工作方式。 CPU启动外设后仍继续执行原程序,在第K条指令执行结 東后,CPU响应了外设的请求,中断了现行程序,转至中断 服务程序,等处理完后叉返回到原程序断点处,继续从第 K+1条指令往下执行。这种方式中断了原程序的运行,所以 称为程序中断方式
汇编语言 程序设计 9.2.2 中断控制方式 程序控制方式的立即传送方法,不能根据设备实时状 况操作,而程序查询方式使这种问题得以解决,但工作时 CPU与外设相当串联工作,占用CPU大量时间,因此工作效 率不可恭维。如果在外设已准备好的情况下,通知CPU,这 时CPU才停下原来的工作与外设实施数据交换,此次信息交 换完成后CPU在继续自己的原有工作,按此想法就产生了中 断工作方式。 CPU启动外设后仍继续执行原程序,在第K条指令执行结 束后,CPU响应了外设的请求,中断了现行程序,转至中断 服务程序,等处理完后又返回到原程序断点处,继续从第 K+1条指令往下执行。这种方式中断了原程序的运行,所以 称为程序中断方式