第3章80x86的指令系统 31寻址方式 32指令系统
第3章 80x86的指令系统 3.1 寻址方式 3.2 指令系统
31寻址方式 ◆数据的寻址方式 转移地址的寻址方式 保护方式下的寻址方式
3.1 寻址方式 ❖数据的寻址方式 ❖转移地址的寻址方式 ❖保护方式下的寻址方式
31寻址方式 指令的寻址方式是指:指令中操作数的表 示方式。 指令中的操作数有两类: 般数据 转移地址
3.1 寻址方式 指令的寻址方式是指:指令中操作数的表 示方式。 指令中的操作数有两类: ➢一般数据 ➢转移地址
31.1数据的寻址方式 立即寻址 寄存器寻址 直接寻址 寄存器间接寻址 基址变址寻址 寄存器相对寻址 相对基址变址寻址 带比例因子的变址寻址
3.1.1 数据的寻址方式 立即寻址 寄存器寻址 直接寻址 寄存器间接寻址 基址变址寻址 寄存器相对寻址 相对基址变址寻址 带比例因子的变址寻址
这是指广义的80x86的寻址方式 其中寄存器寻址汇编后的机器码最短,执行速度 最快。 后6种都是存储器寻址。 操作数都是内存单元中的数。 要访问存储器操作数,必须先计算操作数的物理 地址
这是指广义的80x86的寻址方式。 其中寄存器寻址汇编后的机器码最短,执行速度 最快。 后6种都是存储器寻址。 操作数都是内存单元中的数。 要访问存储器操作数,必须先计算操作数的物理 地址
、立即寻址 当操作数据就在指令中时,即为“立即寻址”。这 种操作数称为立即数, 在指令中立即数可用16进制数(以H结尾),2进制 数(以B结尾)和10进制数(不需加特殊符号)表示 也可以使用撇号“‘”括起来的ASCI码表达的字 符和字符串 注意,如果16进制数以字母A~F打头,则必须在前 面加上一个“03,这是汇编程序的要求
一、立即寻址 当操作数据就在指令中时,即为“立即寻址”。这 种操作数称为立即数, 在指令中立即数可用16进制数(以H结尾),2进制 数(以B结尾)和10进制数(不需加特殊符号)表示, 也可以使用撇号“‘”括起来的ASCII码表达的字 符和字符串。 注意,如果16进制数以字母A~F打头,则必须在前 面加上一个“0”,这是汇编程序的要求
在立即寻址中,立即数为一常量, 在8086,80286处理器中,可以是 字节(8位数)或字(16位数), 而在80386以上的处理器中,立即 数还可以是双字(32位数)
在立即寻址中,立即数为一常量, 在8086,80286处理器中,可以是 字节(8位数)或字(16位数), 而在80386以上的处理器中,立即 数还可以是双字(32位数)
8位立即数一 MOVAL,43H MOⅤAL,01000011B MOVAL, 67 16位立即数 MOVAX,4142H MOVAX,0100000101000010B MOVAX, 16706 32位立即数— MOVEAX,12345678H 字符或字符串— MOV AL,‘A
8位立即数 — MOV AL,43H MOV AL,01000011B MOV AL,67 16位立即数 — MOV AX,4142H MOV AX,0100000101000010B MOV AX,16706 32位立即数 — MOV EAX,12345678H 字符或字符串—MOV AL, ‘A’
二、寄存器寻址 操作数在寄存器中,即寄存器的内 容就是操作数的数据,在汇编语言表 示的指令中,以寄存器符号表示之, 可用作80X86操作数的寄存器如表3-1 所示
二 、 寄存器寻址 操作数在寄存器中,即寄存器的内 容就是操作数的数据,在汇编语言表 示的指令中,以寄存器符号表示之, 可用作80X86操作数的寄存器如表3-1 所示
表3-奇存器寻址中的寄存器 寄存器 操作数字长 字节(8位)名字(16位)双字(32位 累加器 AH, AL AX EAX 基址寄存器 BH, BL BX EBX 计数寄存器 CH, CL C ECⅩ 数据寄存器 DH, DL DⅩ EDX 堆栈指针 SP ESP 基址指针 BP EBP 源变址寄存器 //// SI ESI 目的变址寄存器 DI EDI
表3-1寄存器寻址中的寄存器 寄存器 操作数字长 字节(8位) 名字(16位) 双字(32位) 累加器 AH,AL AX EAX 基址寄存器 BH,BL BX EBX 计数寄存器 CH,CL CX ECX 数据寄存器 DH,DL DX EDX 堆栈指针 / SP ESP 基址指针 / BP EBP 源变址寄存器 / SI ESI 目的变址寄存器 / DI EDI