可以进行这种方式寻址的编程元件有:输入映像寄存器(I)、输出映像寄存器(Q)、位存储器(M)、特殊存储器(SM)、局部变量存储器(L)、变量存储器(V)、顺序控制继电器(S)、模拟量输入映象寄存器(AQ)和模拟量输出映象寄存器(AQ)。
了解了寄存器的寻址方式之后会方便对传送指令的理解,先大体概括一下所有的传送指令,在这里主要分为两类,一类是单一传送,另一类是块传送
1. 单一传送
(1)MOVB,字节传送指令
(2)BIR,传送字节立即读指令
(3)BIW,传送字节立即写指令
(4)MOVW,字传送指令
(5)MOVD,双字传送指令
(6)MOVR,实数传送指令
2. 块传送
(1)BMB,字节块传送指令
(2)BMW,字块传送指令
(3)BMD,双字块传送指令
单一传送指令,字节传送(MOVB)、字传送(MOVW)、双字传送(MOVD)和实数
传送指令在不改变原值的情况下将IN中的值传送到OUT。使用双字传送指令可以创建一个指针。
要注意的是输入和输出的数据类型可以不同,但数据长度必须相同。
使ENO=0的错误条件:
0006 (间接寻址)
间接寻址是指用指针来访问存储区数据,在一条指令中,如果操作码后面的操作数是以操作数所在地址的地址形式出现的,这种指令的寻址方式就叫间接寻址。
0006间接寻址错误:就是这个指令的操作数不能是指针类型。也就是说,当传输出错时,出错码为0006.
0006 (间接寻址) 整数转为字节指令的操作 整数转字节指令(ITB)将一个字的值IN转换成一个字节值,并且 存入OUT指定的变量中。只有0到255中的值被转换。所有其他 值会产生溢出并且输出不会改变。
使ENO=0的错误条件: SM1.1 (溢出)
0006 (间接寻址) 受影响的SM标志位: SM1.1 (溢出) 提示
如果想将一个整数转换成实数,先用整数转双整数指令,再用双整数转实数指令。
传送指令的有效操作数:
字节立即传送(读和写):
字节立即传送指令允许您在物理I/O和存储器之间立即传送一个字节数据。
字节立即读(BIR)
指令读物理输入(IN),并将结果存入内存地址(OUT),但过程映像寄存器并不刷新。
字节立即写指令(BIW)
从内存地址(IN)中读取数据,写入物理输出(OUT),同时刷新相应的过程映像区。
使ENO=0的错误条件
0006 (间接寻址)
不能访问扩展模块