注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 51CTO三周年庆典之IT北斗..
 帮助

问题解答之 指令寻址和操作数寻址


2007-04-14 21:14:25
 标签:操作数寻址   [推送到技术圈]

1.指令寻址方式和操作数寻址方式
   a.
指令寻址方式分为:顺序寻址方式和转移寻址方式。

   b.
操作数寻址方式有以下几种:
1
、立即数寻址:操作数直接出现在指令字中。
例如 MOVE R1100
操作码
R1
1 1 0 0 1 0 0
 
 
2、直接寻址:在指令的操作数地址字段直接给出操作数在内存中的地址。
例如 MOVE R12000H
 操作码
R1
 
 
2 0 0 0 H 
 
 
3、寄存器寻址、寄存器间接寻址
寄存器寻址是在指令中直接给出操作数所在的通用寄存器的编号。如 ADD R1R2
寄存器间接寻址,在寄存器中给出的不是一个操作数,而是操作数在内存中的地址。
 
4、变址寻址:是把指令中的一个数值(称为变址偏移量)与指定的一个寄存器(称为变址寄存器)的内容相加之和作为操作数的地址。
 
5、相对寻址:是把指令中的一个数值(称为相对寻址偏移量)与程序计数器PC的内容相加之和作为操作数的地址或转移指令的转移地址。
与变址寻址的区别:变址寄存器可以是多个寄存器中的一个,而相对寻址中的寄存器已确定为PC,故无须在指令中指定。

 
6、基地址寻址:是把程序中所用的一个地址与一个特定的寄存器(称为基地址寄存器)的内容相加之和作为操作数的地址或指令地址。它与变址寻址、相对寻址形式上相似,但其用法却与二者有很大差别。基地址寄存器中的值由特权指令设定,用户不能在自己程序中修改。主要用于为多道程序或浮动地址程序定位存储空间。
 
7、间接寻址:是指在指令字的地址字段给出的是一个操作数地址的地址。

 
8、堆栈寻址:系统已用一个特定的寄存器称为堆栈指针(SP)的来访问堆栈,故不必在指令中指出操作数地址。
 




    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: