第六章32位指令及其编程 2段寄存器 6个16位段寄存器: cS、SS、DS、ES:作用与8086的相同 FS、GSε新增的数据段段寄存器 16位段:段寄存器×16+偏移地址=物理地址 32位段:段寄存器保存“段描述符选择字”(段选择 器),由段描述符选择字从段描述符表获得一个段描述 符,段描述符给出32位的段基地址,32位偏移地址由各 种寻址方式给出,二者相加,得到32位寻址地址(不 定是物理地址)。 在32位段中,所有段寄存器(段选择器)对编写应 用程序的程序员都是不可见的
第 六 章 32 位 指 令 及 其 编 程 2.段寄存器 11 2.段寄存器 6个16位段寄存器: CS、SS、DS、ES:作用与8086的相同 FS、GS:新增的数据段段寄存器 16位段:段寄存器×16+偏移地址=物理地址 32位段:段寄存器保存“段描述符选择字”(段选择 器),由段描述符选择字从段描述符表获得一个段描述 符,段描述符给出32位的段基地址,32位偏移地址由各 种寻址方式给出,二者相加,得到32位寻址地址(不一 定是物理地址)。 在32位段中,所有段寄存器(段选择器)对编写应 用程序的程序员都是不可见的
第六章32位指令及其编程 3标志寄存器 EFLAGS(PSW) 在8086标志寄存器基础上扩展为32位寄存器。 80860PU共有9个标志,80286增加2个,为11个。 80386在286基础上增加2个,为13个。 80486为14个,奔腾为17个。 8086原有的9个标志定义不变,增加的8个标志涉及 的是任务切换、安全保护等机制,通常不在应用程序中 使用。 4.其他寄存器 系统地址寄存器、控制寄存器、调试寄存器、测试 寄存器用于保护方式的任务切换、分页管理等,通常不 在应用程序中使用。 回6.1
第 六 章 32 位 指 令 及 其 编 程 3.标志寄存器 12 3.标志寄存器EFLAGS(PSW) 在8086标志寄存器基础上扩展为32位寄存器。 8086CPU共有9个标志,80286增加2个,为11个。 80386在286基础上增加2个,为13个。 80486为14个,奔腾为17个。 8086原有的9个标志定义不变,增加的8个标志涉及 的是任务切换、安全保护等机制,通常不在应用程序中 使用。 4.其他寄存器 系统地址寄存器、控制寄存器、调试寄存器、测试 寄存器用于保护方式的任务切换、分页管理等,通常不 在应用程序中使用。 回 6.1
第六章32位指令及其编程 6.1.2寻址方式 1.立即寻址: 立即数可以为32位数 MOV EAX, 44332211H 2寄存器寻址: 除可使用原8位、16位寄存器外,可使用32位通 用寄存器。 MOV EAX EBX
第 六 章 32 位 指 令 及 其 编 程 6.1.2 寻址方式 13 6.1.2 寻址方式 1.立即寻址: 立即数可以为32位数 MOV EAX,44332211H 2.寄存器寻址: 除可使用原8位、16位寄存器外,可使用32位通 用寄存器。 MOV EAX,EBX
第六章32位指令及其编程 3存储器操作数寻址 16位寻址方式(用于16位段): 16位有效地址=BX/BP+S|/D|+8/16位位移量 32位寻址方式(用于16位段和32位段): 32位有效地址=基址寄存器+(变址寄存器*比例)+位移量 基址寄存器:任何8个32位通用寄存器 变址寄存器:除ESP之外的7个通用寄存器 比例:可以是1/2/4/8 位移量:8位、16位或32位
第 六 章 32 位 指 令 及 其 编 程 3.存储器操作数寻址1 14 3.存储器操作数寻址 16位寻址方式(用于16位段): 16位有效地址=BX/BP+SI/DI+8/16位位移量 32位寻址方式(用于16位段和32位段): 32位有效地址=基址寄存器+(变址寄存器*比例)+位移量 ❖基址寄存器:任何8个32位通用寄存器 ❖变址寄存器:除ESP之外的7个通用寄存器 ❖比例:可以是1/2/4/8 ❖位移量:8位、16位或32位
第六章32位指令及其编程 1)直接寻址 mov eax, [1234h] 2)寄存器间接寻址 mov eax,[ebx];指针寄存器可使用任何32位 通用寄存器 3)寄存器相对寻址 mov eax, [ebx+80hl 4)基址变址寻址 mov eax,[ebx+esi];变址寄存器可使用除ESP 之外的7个32位通用寄存器 5)相对基址变址寻址 mov eax, ebx+es i+80h1
第 六 章 32 位 指 令 及 其 编 程 存储器操作数寻址2 15 1)直接寻址 mov eax, [1234h] 2)寄存器间接寻址 mov eax, [ebx];指针寄存器可使用任何32位 通用寄存器 3)寄存器相对寻址 mov eax, [ebx+80h] 4)基址变址寻址 mov eax, [ebx+esi];变址寄存器可使用除ESP 之外的7个32位通用寄存器 5)相对基址变址寻址 mov eax, [ebx+esi+80h]