第3章 指令系统与汇编语言程序设计 324o端口寻址 由于8086CPU的I/O端口采用独立编址方式,可 有64K个字节端口或32K个字端口。指令系统中设有 专门的输入指令IN和输出指令OUT来进行访问,I/0 端口的寻址方式有直接端口寻址和寄存器间接端口 寻址两种。 16
16 第3章 指令系统与汇编语言程序设计 3.2.4 I/O端口寻址 由于8086CPU的I/O端口采用独立编址方式,可 有64K个字节端口或32K个字端口。指令系统中设有 专门的输入指令IN和输出指令OUT来进行访问,I/O 端口的寻址方式有直接端口寻址和寄存器间接端口 寻址两种
第3章 指令系统与汇编语言程序设计 1.直接端口寻址 直接端口寻址是在指令中直接给出要访问的端口 地址,一般采用2位十六进制数表示,可访问的端口 数为0~255个 例如:IN例如:INAL,30H;表示从I/0端口地址 为3OH的端口中取出字节数据送到8位寄存器AL中 INAX,50H;表示从I/O0端口地址为50H和 5H的两个相邻端口中取出字数据送到16位寄存器AX 中
17 第3章 指令系统与汇编语言程序设计 1.直接端口寻址 直接端口寻址是在指令中直接给出要访问的端口 地址,一般采用2位十六进制数表示,可访问的端口 数为0~255个。 例如:IN例如:IN AL,30H ;表示从I/O端口地址 为30H的端口中取出字节数据送到8位寄存器AL中。 IN AX,50H ;表示从I/O端口地址为50H和 51H的两个相邻端口中取出字数据送到16位寄存器AX 中
第3章 指令系统与汇编语言程序设计 2.寄存器间接端口寻址 当访问的端口地址数≥256时,直接端口寻址不能 满足要求,要采用I/O端口的间接寻址方式。它是把 I/0端口的地址先送到寄存器D中,用16位的DX作为 间接寻址寄存器。此种方式可访问的端口数为0~ 65535个。 例如: MOV DX,283;将端口地址283H送到D寄 存器 OUT DX, AL ;将AL中的内容输出到DX 所指定的端口中
18 第3章 指令系统与汇编语言程序设计 2.寄存器间接端口寻址 当访问的端口地址数≥256时,直接端口寻址不能 满足要求,要采用I/O端口的间接寻址方式。它是把 I/O端口的地址先送到寄存器DX中,用16位的DX作为 间接寻址寄存器。此种方式可访问的端口数为0~ 65535个。 例如:MOV DX,283H ;将端口地址283H送到DX寄 存器。 OUT DX,AL ;将AL中的内容输出到DX 所指定的端口中
第3章 指令系统与汇编语言程序设计 338086CPU的指令系统 8086指令系统是80X86/ Pentium微处理器的基本 指令集。指令的操作数可以是8位或16位,偏移地址 是16位。按功能可将指令分成六大类,即:数据传 送类指令、算术运算类指令、逻辑运算与移位类指 令、串操作类指令、控制转移类指令和处理器控制 类指令
19 第3章 指令系统与汇编语言程序设计 3.3 8086 CPU的指令系统 8086指令系统是80X86/Pentium微处理器的基本 指令集。指令的操作数可以是8位或16位,偏移地址 是16位。按功能可将指令分成六大类,即:数据传 送类指令、算术运算类指令、逻辑运算与移位类指 令、串操作类指令、控制转移类指令和处理器控制 类指令
第3章 指令系统与汇编语言程序设计 331数据传送类指令 数据传送类指令的基本功能是把操作数或操作数的地址传 送到指定的寄存器或存储单元中。数据传送类指令共有14条, 根据传送的内容可分成以下4组: (1)通用数据传送指 (2)累加器专用传送指令; (3)地址传送指令 (4)标志寄存器传送指令
20 第3章 指令系统与汇编语言程序设计 3.3.1 数据传送类指令 数据传送类指令的基本功能是把操作数或操作数的地址传 送到指定的寄存器或存储单元中。数据传送类指令共有14条, 根据传送的内容可分成以下4组: (1)通用数据传送指令; (2)累加器专用传送指令; (3)地址传送指令; (4)标志寄存器传送指令