寻址方式

1. 立即寻址:操作数 = A  


                       优点:节省时间


                       缺点:数的大小受到地址字段的限制


2. 直接寻址:EA = A  即指令里保存的是操作数的地址


3. 间接寻址:EA = (A)即指令里包含了了存储器的一个地址,该地址所指向的空间里保存了操作数的地址


                       缺点:需要两次访问存储器:第一次获取操作数的地址,第二次获取操作数的值


4. 寄存器寻址:EA = R 类似于直接寻址,但是不是在内存中寻址,而是在寄存器中寻址

优点: 寄存器寻址的速度比直接寻址的速度快


缺点: 寻址范围比较小。



5. 寄存器间接寻址:EA = (R)类似于间接寻址但是比间接寻址少访问一次存储器。


6. 偏移寻址:EA = (R) + A 是类似于寄存器间接寻址 + 直接寻址。


                     (1) PC相对寻址: 使用的寄存器为PC程序计数器。一般这种寻址访问的都是相对靠近正在执行的指令,符合局部性概念。


                     (2) 基址寄存器寻址:就是说寄存器中保存了一个存储器的地址,然后地址字段中保存了相对于那个地址的偏移量。


                     (3)变址:与基址寄存器寻址相反,就是说在地址字段里保存存储器的地址,然后再寄存器中保存相对于那个地址的偏移量。一般要求地址字段比较长,还有就是寄存 器有专门的变址寄存器,会隐含的执行递增,递减操作。如果将通用寄存器当做变址寄存器来使用的话,需要指令中的某一位来通知自动变址。


                               a. 后变址:A中存的不是有效地址,需要对A进行间接寻址 EA = (R) +(A)


                               b. 前变址:R + (A)得到的不是有效地址,而是有效地址的地址。EA + (R + (A))


7. 栈寻址:其实质是寄存器间接寻址,寄存器里存有栈顶指针。


8. x86寻址方式:虚拟地址或有效地址又称为段位移,加上段的起始地址构成里一个线性地址。在虚拟存储器中,有效地址是虚拟地址或寄存器,把虚拟地址映射到物理地址是内存管理单元(MMU)的功能。如果采用了分页,该线性地址就要通过页转化机制来生成一个物理地址。段寄存器中保存了一个指向段描述符表(segment discription table)的索引,段描述符表存储于描述符寄存器。段描述符表存储了段的访问权限,段的大小和段的基地址(起始地址)。





  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值