计算机指令和数据的寻址方式
在存储器中,操作数或指令字写入或读出的方式,有地址指定方式、相联存储方式和堆栈存取方式。当采用地址指定方式时,形成操作数或指令地址的方式,称为寻址方式。寻址方式分为两类,既指令寻址方式和数据寻址方式,前者比较简单,后者比较复杂。
指令寻址方式
指令的寻址方式有两种,一种是顺序寻址方式,另一种是跳跃寻址方式。
1. 隐含寻址:指令中不明显地给出操作数的地址。例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器AC作为第二操作数地址,AC对单地址指令格式来说是隐含地址。
2. 立即寻址:指令的地址字段指出的不是操作数的地址,而是操作数本身。这种方式的特点是指令执行时间很短,不需要访问内存取数。例如:单地址的移位指令格式为。
数据寻址方式
数据寻址方式包括直接寻址、间接寻址、寄存器寻址方式、寄存器间接寻址方式和相对寻址方式。
1. 直接寻址:在指令格式的地址字段中直接指出操作数在内存的地址D。采用直接寻址方式时,指令字中的形式地址D就是操作数的有效地址E,既E=D。因此通常把形式地址D又称为直接地址。
2. 间接寻址:在间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,D单元的内容才是操作数的有效地址。如果把直接寻址和间接寻址结合起来,指令有如下形式。
3. 寄存器寻址方式和寄存器间接寻址方式:当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。此时指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。
4. 相对寻址方式:相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。程序计数器的内容就是当前指令的地址。“相对”寻址,就是相对于当前的指令地址而言。采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。此时形式地址D通常称为偏移量,其值可正可负,相对于当前指令地址进行浮动。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。