本文共 996 字,大约阅读时间需要 3 分钟。
理解概念
概念: 1、基址寻址:以程序的起始存放地址作为“起点” 2、变址寻址:程序员自己决定从哪里作为“起点” 3、相当寻址:以程序计数器PC所指地址作为“起点”
将CPU中基址寄存器(BR)(OS课中的“重定位寄存器”就是“基址寄存器”)的内容加上指令格式中的形式地址A,而形成操作数的有效地址,即EA=(BR)+A。
注
:基址寄存器是面向操作系统
的,其内容由操作系统或管理程序确定。当采用通用寄存器作为基址寄存器时,可由用户决定哪个寄存器作为基址寄存器,但其内容仍由操作系统确定
。 优点
:可扩大寻址范围(基址寄存器的位数大于形式地址A的位数)﹔用户不必考虑自己的程序存于主存的哪一空间区域,故有利于多道程序设计,以及可用于编制浮动程厅(整个程序在内存里边的浮动)。
BNNB 变址寻址:有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容相加之和,即EA=(IX)+A,其中IX可为变址寄存器(专用),也可用通用寄存器作为变址寄存器。
优点
:在数组处理过程中,可设定A为数组的首地址,不断改变变址寄存器x的内容,便可很容易形成数组中任一数据的地址,特别适合编制循环程序
。 变址寻址
:变址寄存器是面向用户的
,在程序执行过程中,变址寄存器的内容可由用户改变
(IX作为偏移量),形式地址A不变(作为基地址)。 基址寻址
基址寻址中,BR保持不变作为基地址,形式地址A作为偏移量 上面这个区别很好理解,变址寄存器(IX),所以IX的内容可由用户改变,基址寄存器(BR),所以BR里面存的地址保存不变。看名字即可看出寄存器作用。 把程序计数器PC的内容加上指令格式中的形式地址A而形成操作数的有效地址,即EA=(PC)+A,其中A是相对于PC所指地址的位移量,可正可负,补码表示。
相对寻址中,有效地址EA=(PC)+A(A为形式地址),执行本条指令时,PC已完成加Ⅰ操作,PC中保存的是下一条指令的地址,因此以下一条指令的地址为基准位置的偏移量。优点
:操作数的也不是固定的,它随着PC值的变化而变化,并且与指令地址之间总是相差一个固定值因此 便于程序浮动(一段代码在程序内部的浮动)
。相对寻址广泛应用于转移指令。 转载地址:http://wzmzi.baihongyu.com/