发布于 2010-01-16 20:04:39
6楼
交叉区域间接寻址,其32位指针的组成中,BIT0-BIT2表示位地址,BIT3-BIT18表示字节地址,BIT24-BIT26表示地址标识符(区域),其BIT31位为0是是表示内部区域,为1时表示交叉区域。
在解释之前我先写两段程序:
一、
L P#10.0
LAR1
L MD[AR1,P#0.0]
二、
L P#M10.0
LAR1
L D[AR1,P#0.0]
这两段指令的结果都是一样的:L MD10,但有什么不一样呢?第一段属于内部区域寄存器寻址,其加到地址寄存器里的只有P#10.0,没有说明是什么区域的变量。所以你第三个指令中就一定要给出变量的区域M;第二段属于交叉区域寄存器寻址,其已将区域及指针信息加载到地址寄存器AR1中了,所以第三个指令就没有必要再给出变量的区域了。
学如逆水行舟,不进则退