装入(L)和传送(T)指令可以在存储区之间或存储区与过程输入、输出之间交换数据。L指令将源操作数装入累加器l中,而累加器原有的数据移入累加器2中,累加器2中原有的内容被覆盖。T指令将累加器1中的内容写入目的存储区中,累加器的内容保持不变。L和T指令可对字节(8位)、字(16位)、双字(32位)数据进行操作,当数据长度小于32位时,数据在累加器右对齐(低位对齐),其余各位填0。基本的装入和传送指令如下:
l L 通用装入指令
l L STW 将状态字寄存器的内容装入到累加器1
l LAR1 AR2将地址寄存器2的内容装入到地址寄存器1
l LAR1 <D>将32位的长整数装入到地址寄存器1
l LAR1 将累加器1的内容装入到地址寄存器1
l LAR2 <D>将32位的长整数装入到地址寄存器2
l LAR2 将累加器1的内容装入到地址寄存器2
l T 通用传输指令
l T STW 将累加器1的内容传输到状态字寄存器
l TAR1 AR2将地址寄存器1的内容传输到地址寄存器2
l TAR1 <D>将地址寄存器1的内容传输到目的单元(32位)
l TAR2 <D>将地址寄存器1的内容传输到目的单元(32位)
l TAR1 将地址寄存器1的内容传输到累加器1
l TAR2 将地址寄存器1的内容传输到累加器2
l CAR 交换地址寄存器的1的内容和地址寄存器2的内容交换
循环移位将移位数据存储单元的首尾相连,同时又与溢出标志SM1.1连接,SM1.1用来存放被移出的位。指令格式见表6。
(1)循环左移位指令(ROL)
使能输入有效时,将IN输入无符号数(字节、字或双字)循环左移N位后,将结果输出到OUT所*的存储单元中,移出的较后一位的数值送溢出标志位SM1.1。当需要移位的数值是零时,零标志位SM1.0为1。
(2)循环右移位指令(ROR)
使能输入有效时,将IN输入无符号数(字节、字或双字)循环右移N位后,将结果输出到OUT所*的存储单元中,移出的较后一位的数值送溢出标志位SM1.1。当需要移位的数值是零时,零标志位SM1.0为1。
(3)移位次数N≥数据类型(B、W、D)时的移位位数的处理
如果操作数是字节,当移位次数N≥8时,则在执行循环移位前,先对N进行模8操作(N除以8后取余数),其结果0-7为实际移动位数。
如果操作数是字,当移位次数N≥16时,则在执行循环移位前,先对N进行模16操作(N除以16后取余数),其结果0-15为实际移动位数。
如果操作数是双字,当移位次数N≥32时,则在执行循环移位前,先对N进行模32操作(N除以32后取余数),其结果0-31为实际移动位数。
(4)使ENO = 0的错误条件:0006(间接寻址错误),SM4.3(运行时间)。