本文主要是介绍32位处理的寻址方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
32位处理器兼容16位处理器的寻址方式,可以运行传统的16位代码。但是由于32位的处理器都拥有32位的寄存器和算数逻辑部件,而且同内存芯片之间的数据通路至少是32位的,因此,所有需要从寄存器或者内存地址处取得操作数的指令都被扩充,以适应32位的逻辑操作,比如mov和add 指令现在可以操作32位数据:
mov eax,0xf05b
add eax,edx
例如下面
add eax,[0x2008]
sub eax,[eax+0x80]
mov ecx,[eax+ebx*8+0x02]
值得说明的是,16处理器的内存寻址方式不允许在指令中使用栈指针寄存器SP
因此
mov ax,[sp]
这个是不正确的
但是在32位处理器上,允许内存操作数中使用栈指针寄存器ESP
因此,下面的指令
mov eax,[esp]
这个是合法的
这篇关于32位处理的寻址方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!