七种寻址方式(32位地址的寻址方式)
2011-06-14 14:10
387 查看
在32位微机系统中,除了支持前面的七种寻址方式外,又提供了一种更灵活、方便,但也更复杂的内存寻址方式,从而使内存地址的寻址范围得到了进一步扩大。
在用16位寄存器来访问存储单元时,只能使用基地址寄存器(BX和BP)和变址寄存器(SI和DI)来作为地址偏移量的一部分,但在用32位寄存器寻址时,不存在上述限制,所有32位寄存器(EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP)都可以是地址偏移量的一个组成部分。
当用32位地址偏移量进行寻址时,内存地址的偏移量可分为三部分:一个32位基址寄存器,一个可乘1、2、4或8的32位变址寄存器,一个8位/32位的偏移常量,并且这三部分还可进行任意组合,省去其中之一或之二。
32位基址寄存器是:EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP;
32位变址寄存器是:EAX、EBX、ECX、EDX、ESI、EDI和EBP(除ESP之外)。
下面列举几个32位地址寻址指令:
MOV AX, [123456H]
MOV EAX, [EBX]
MOV EBX, [ECX*2]
MOV EBX, [EAX+100H]
MOV EDX, [EAX*4+200H]
MOV EBX, [EAX+EDX*2]
MOV EBX, [EAX+EDX*2+300H]
MOV AX, [ESP]
用32位地址偏移量进行寻址的有效地址计算公式归纳如公式所示。
由于32位寻址方式能使用所有的通用寄存器,所以,和该有效地址相组合的段寄存器也就有新的规定。具体规定如下:
1、地址中寄存器的书写顺序决定该寄存器是基址寄存器,还是变址寄存器;
如:[EBX+EBP]中的EBX是基址寄存器,EBP是变址寄存器,而[EBP+EBX]中的EBP是基址寄存器,EBX是变址寄存器;
2、默认段寄存器的选用取决于基址寄存器;
3、基址寄存器是EBP或ESP时,默认的段寄存器是SS,否则,默认的段寄存器是DS;
4、在指令中,如果使用段前缀的方式,那么,显式段寄存器优先。
下面列举几个32位地址寻址指令及其内存操作数的段寄存器。
在用16位寄存器来访问存储单元时,只能使用基地址寄存器(BX和BP)和变址寄存器(SI和DI)来作为地址偏移量的一部分,但在用32位寄存器寻址时,不存在上述限制,所有32位寄存器(EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP)都可以是地址偏移量的一个组成部分。
当用32位地址偏移量进行寻址时,内存地址的偏移量可分为三部分:一个32位基址寄存器,一个可乘1、2、4或8的32位变址寄存器,一个8位/32位的偏移常量,并且这三部分还可进行任意组合,省去其中之一或之二。
32位基址寄存器是:EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP;
32位变址寄存器是:EAX、EBX、ECX、EDX、ESI、EDI和EBP(除ESP之外)。
下面列举几个32位地址寻址指令:
MOV AX, [123456H]
MOV EAX, [EBX]
MOV EBX, [ECX*2]
MOV EBX, [EAX+100H]
MOV EDX, [EAX*4+200H]
MOV EBX, [EAX+EDX*2]
MOV EBX, [EAX+EDX*2+300H]
MOV AX, [ESP]
用32位地址偏移量进行寻址的有效地址计算公式归纳如公式所示。
由于32位寻址方式能使用所有的通用寄存器,所以,和该有效地址相组合的段寄存器也就有新的规定。具体规定如下:
1、地址中寄存器的书写顺序决定该寄存器是基址寄存器,还是变址寄存器;
如:[EBX+EBP]中的EBX是基址寄存器,EBP是变址寄存器,而[EBP+EBX]中的EBP是基址寄存器,EBX是变址寄存器;
2、默认段寄存器的选用取决于基址寄存器;
3、基址寄存器是EBP或ESP时,默认的段寄存器是SS,否则,默认的段寄存器是DS;
4、在指令中,如果使用段前缀的方式,那么,显式段寄存器优先。
下面列举几个32位地址寻址指令及其内存操作数的段寄存器。
指令的举例 | 访问内存单元所用的段寄存器 |
MOV AX, [123456H] | ;默认段寄存器DS |
MOV EAX, [EBX+EBP] | ;默认段寄存器DS |
MOV EBX, [EBP+EBX] | ;默认段寄存器SS |
MOV EBX, [EAX+100H] | ;默认段寄存器DS |
MOV EDX, ES:[EAX*4+200H] | ;显式段寄存器ES |
MOV [ESP+EDX*2], AX | ;默认段寄存器SS |
MOV EBX, GS:[EAX+EDX*2+300H] | ;显式段寄存器GS |
MOV AX, [ESP] | ;默认段寄存器SS |
相关文章推荐
- 七种寻址方式(32位地址的寻址方式)
- 32位地址的寻址方式
- 计算机地址与8086寻址方式以及32位处理器的寻址方式
- 8086中的七种寻址方式
- 32位cpu的寻址方式
- 七种寻址方式
- 对标号地址的另一种相对寻址方式
- 七种寻址方式(寄存器间接寻址方式)
- 七种寻址方式
- 七种寻址方式
- 与转移地址有关的寻址方式
- 七种寻址方式(立即寻址、寄存器寻址)
- 七种寻址方式(立即寻址、寄存器寻址)
- 关于数据总线,地址总线,控制总线,操作系统位数对寻址范围的影响及32位系统为什么可寻址范围为4G的解答
- 段寄存器和8种地址寻址方式
- 【刨根问底】32位/64位系统、地址总线以及最大内存寻址
- IPv6地址表达方式、寻址模型和地址空间
- 段寄存器和8种地址寻址方式
- 寄存器与七种寻址方式
- 七种寻址方式