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

   b.
操作数寻址方式有以下几种:
1
、立即数寻址:操作数直接出现在指令字中。
例如 MOVE R1100<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

操作码

R1

1 1 0 0 1 0 0

 
 
2、直接寻址:在指令的操作数地址字段直接给出操作数在内存中的地址。
例如 MOVE R12000H

 操作码

R1

 

 
2 0 0 0 H 

 
 
3、寄存器寻址、寄存器间接寻址

寄存器寻址是在指令中直接给出操作数所在的通用寄存器的编号。如 ADD R1R2

寄存器间接寻址,在寄存器中给出的不是一个操作数,而是操作数在内存中的地址。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

 
4、变址寻址:是把指令中的一个数值(称为变址偏移量)与指定的一个寄存器(称为变址寄存器)的内容相加之和作为操作数的地址。

 

5、相对寻址:是把指令中的一个数值(称为相对寻址偏移量)与程序计数器PC的内容相加之和作为操作数的地址或转移指令的转移地址。

与变址寻址的区别:变址寄存器可以是多个寄存器中的一个,而相对寻址中的寄存器已确定为PC,故无须在指令中指定。

 

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

 
7、间接寻址:是指在指令字的地址字段给出的是一个操作数地址的地址。

 

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