传送类指令MOV SMOV CMOV BMOV FMOV
(1)传送指令MOV (D)MOV(P)指令的编号为FNC12,该指令的功能是将源数据传送到指定的目标。如图1所示,当X0为ON时,则将[S.]中的数据K100传送到目标操作元件[D.]即D10中。在指令执行时,常数K100会自动转换成二进制数。当X0为OFF时,则指令不执行,数据保持不变。
图1 传送指令的使用
使用应用MOV指令时应注意:
1)源操作数可取所有数据类型,标操作数可以是KnY、KnM、KnS、T、C、D、V、Z。
2)16位运算时占5个程序步,32位运算时则占9个程序步。
(2)移位传送指令SMOV SMOV(P)指令的编号为FNC13。该指令的功能是将源数据(二进制)自动转换成4位BCD码,再进行移位传送,传送后的目标操作数元件的BCD码自动转换成二进制数。如图2所示,当X1为ON时,将D1中右起第4位(m1=4)开始的2位(m2=2) BCD码移到目标操作数D2的右起第3位(n=3)和第2位。然后D2中的BCD码会自动转换为二进制数,而D2中的第1位和第4位BCD码不变。
图2 移位传送指令的使用
使用移位传送指令时应该注意:
1)源操作数可取所有数据类型,目标操作数可为KnY、KnM、KnS、T、C、D、V、Z。
2)SMOV指令只有16位运算,占11个程序步。
(3)取反传送指令CML (D)CML(P)指令的编号为FNC14。它是将源操作数元件的数据逐位取反并传送到指定目标。如图3所示,当X0为ON时,执行CML,将D0的低4位取反向后传送到Y3~Y0中。
图3 取反传送指令的使用
使用取反传送指令CML时应注意:
1)源操作数可取所有数据类型,目标操作数可为KnY、KnM、KnS、T、C、D、V、Z.,若源数据为常数K,则该数据会自动转换为二进制数。
2)16位运算占5个程序步,32位运算占9个程序步。
(4)块传送指令BMOV BMOV(P)指令的ALCE编号为FNC15,是将源操作数指定元件开始的n个数据组成数据块传送到指定的目标。如图4所示,传送顺序既可从高元件号开始,也可从低元件号开始,传送顺序自动决定。若用到需要指定位数的位元件,则源操作数和目标操作数的指定位数应相同。
图4 块传送指令的使用
使用块传送指令时应注意:
1)源操作数可取KnX、 KnY、KnM、KnS、T、C、D和文件寄存器,目标操作数可取. KnT、KnM、KnS、T、C和D;
2)只有16位操作,占7个程序步;
3)如果元件号超出允许范围,数据则仅传送到允许范围的元件。
(5)多点传送指令FMOV (D)FMOV(P)指令的编号为FNC16。它的功能是将源操作数中的数据传送到指定目标开始的n个元件中,传送后n个元件中的数据完全相同。如图5所示,当X0为ON时,把K0传送到D0~D9中。
图5 多点传送指令应用
使用多点传送指令FMOV时应注意:
1)源操作数可取所有的数据类型,目标操作数可取KnX、KnM、KnS、T、C、和D,n小等于512;
2)16位操作占7的程序步,32位操作则占13个程序步;
3)如果元件号超出允许范围,数据仅送到允许范围的元件中。
楼主最近还看过