SMOV

指令说明:

       SMOV16位连续执行型位移动指令。以位数为单位(4位)进行数据的分配合成。

传送源S和传送目标先被转换成4位的BCD,然后将Sm1(位数从1开始)开始从高位到低位的m2个位数部分合并到D的第n位数开始的位置,最后将合并后的数据转换成BIN并保存到D中。

操作数:

       S KnX, KnY, KnM, KnS,T,C,D,V,Z,LV,DT,@

       m1K,H

       m2K,H

       D KnY, KnM, KnS, T,C,D,V,Z,LV,DT

       n K,H

指令格式:[SMOV  S  m1  m2  D  n]

编程示例:

X0触点闭合,将常数251传入D0D2初始值为0

X1触点闭合,执行SMOV指令,将D0中的数值转换成4BCD码为0251D2中的数值转换成4BCD码为0000,将D0从第4位开始往下取2位数据,即02,传递到D2的第3位开始的低2位,此时D2BCD码表示为0020

再将D2BCD码转换成BIN后保存到D2中。D2的第1位和第4位传送前后数据不变化。

D1D2数值变化如下:

执行前

D0BCD

D2BCD

A4

A3

A2

A1

B4

B3

B2

B1

0

2

5

1

0

0

0

0

执行后

D0BCD

D2BCD

A4

A3

A2

A1

B4

A4

A3

B1

0

2

5

1

0

0

2

0

 

D0中的数值转换成4BCD码为5364D3中的数值转换成4BCD码为0000,从第4位开始往下取3位数据,即536,传递到D3的第3位开始的低3位,此时D3BCD码表示为0536

再将D3BCD码转换成BIN后保存到D3中。D3的第4位传送前后数据不变化。

执行前

D0BCD

D3BCD

A4

A3

A2

A1

B4

B3

B2

B1

5

3

6

4

0

0

0

0

执行后

D0BCD

D3BCD

A4

A3

A2

A1

B4

A4

A3

B1

5

3

6

4

0

5

3

6