您的位置:首页 > 其它

汇编语言寻址方式

2015-12-21 12:02 246 查看
很多的汇编指令需要寻址,处理器如何去寻址?有如下几种寻址方法。

一、立即寻址

指令的地址部分存放着数据,也就是包含着常数(寄存器和存储器包含着的叫做变数)。所以在编译领域内常数有时候也叫做立即数。这种寻址方式的好处很明显:可以减少内存的访问次数。但是缺点也很明显:数据长度受限于地址的长度。

二、直接寻址

指令的地址部分直接包含了目标操作数的存储器地址,为了取得操作数必须访问一次存储器。这方法很直接,所以叫做直接寻址。它的缺点就是位数有限带来的地址有限。

三、间接寻址

· 指令的地址部分包含了一个存储器地址,访问这个地址就可以得到全长度的操作数地址。在根据这个全长度地址取得操作数。这方法在实现的过程中常常和内存分页有极大的关联,第一次寻址的绝大多数可用地址被保存在第0页中,所以说涉及缺页的情况仅存在一次。

四、寄存器寻址

指令引用一个寄存器的地址,该寄存器保存着操作数的存储器地址,引用寄存器的位数比较少。这种寻址方式类似于间接寻址。

五、偏移寻址

这种寻址方式结合了直接寻址与寄存器间接寻址,需要两个地址字段,一个指向寄存器,该寄存器按照情况的不同可以保存基地址也可以保存偏移量。而指令的地址段则保存着偏移量或者基地址。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: