L P#8.7 //将指针值载入ACCU 1。 LAR1 //用ACCU 1中的指针装载AR1。 A I [AR1, P#0.0] //检查输入位I 8.7并将有符号的状态分配给Q 10.0。 = Q [AR1, P#1.1] //确切地址8.7在AR1中。偏移量不对其产生影响。确切位置10.0由8.7 (AR1)加上1.1 (偏移量)得出,结果是10.0而不是9.8。 区域内寄存器间接寻址实例
A I [AR1,P#4.3] 对其位置是由AR1中的内容加上4个字节,再加上3个位计算得出的输入位,执行逻辑与运算。 = DIX [AR2, P#0.0] 将RLO位状态分配给位于AR2中的实例数据位。 L IB [AR1, P#10.0] 将输入字节载入ACCU 1中。地址由AR1的内容加上十个字节计算得出。 T LD [AR2,P#53.0] 将ACCU 1中的内容传送到本地双字中(该双字的位置由AR2的内容加上53个字节计算得出)。
L P# I8.7 //将指针值和区域标识符载入ACCU 1。 LAR1 //将存储区I和地址8.7存入AR1。 L P# Q8.7 //将指针偏移量和区域标识符载入ACCU 1。 LAR2 //将存储区Q和地址8.7存入AR2。 A [AR1, P#0.0] //检查输入位I 8.7并将其信号状态分配给输出位Q 10.0。 = [AR2, P#1.1] //偏移量0.0没有任何作用。输出位10.0由8.7 (AR2)加上1.1 (偏移量)得出,结果是10.0而不是9.8。 跨区域寄存器间接寻址的第二个实例:
A I 0.0 JC M002 L P#M10.0 //将指针值和区域标识符载入ACCU 1。 LAR1 //将存储区M和地址10存入ACCU 1。 JU M001 M002: L P#Q0.3 //将指针值和区域标识符载入ACCU 1。 LAR1 //将存储区Q和地址0.3存入ACCU 1。 M001: A I 0.4 = [AR1, P#0.1] //I 0.0用于控制哪个指针用于此语句。将I 0.4的信号状态分配给存储器位M 10.1,或者分配给输出Q 0.4。
跨区域寄存器间接寻址实例 A [AR1,P#4.3] 对于其位置是由AR1中的内容加上4个字节,再加上3个位计算得出的位,执行逻辑与运算。位的存储区在AR1的位24、25和26中指出。 = [AR2, P#0.0] 将RLO位信号状态分配给位于AR2中的位。位的存储区在AR1的位24、25和26中指出。 L B [AR1, P#10.0] 将字节(其位置由AR1的内容加上10个字节计算得出)载入ACCU 1。位的存储区在AR1的位24、25和26中指出。 T D [AR2,P#53.0] 将ACCU 1的内容传送到双字(该字的精确位置由AR2的内容加上53个字节计算得出)。位的存储区在AR1的位24、25和26中指出。