旋轉移位指令

旋轉移位指令

1、右迴轉---------------------------------ROR

2、左迴轉---------------------------------ROL

3、位右移---------------------------------SFTR

4、位左移---------------------------------SFTL

1 右迴轉

程序舉例:

旋轉移位指令

X0每接通一次,則D0向右迴轉4位,最終位被存入進位標誌中。具體轉換過程如下圖所示:

旋轉移位指令

連續執行型指令在每個掃描週期都進行迴轉動作,務必注意。

2 左迴轉

程序舉例:

旋轉移位指令

X0每接通一次,則D0向左迴轉4位,最終位被存入進位標誌中。

旋轉移位指令

連續執行型指令在每個掃描週期都進行迴轉動作,務必注意。

3 位右移

程序舉例:

旋轉移位指令

當X10接通後,指令執行結果如下:

X3 X2 X1 X0

↓ ↓ ↓ ↓ 溢出

M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0

¯¯¯¯¯¯→¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯→¯¯¯¯¯ ¯¯¯¯¯→¯¯¯¯¯¯ ¯¯¯¯¯→¯¯¯¯¯¯

X0-X3組成的4位傳到M12-M15裡面,M12-M15傳到後面4位,以後4位繼續向後傳,最後的4位被溢出。

4 位左移

程序舉例:

旋轉移位指令

如上圖所示 X0-X3傳送到M0-M3,

M0-M3傳送到M4-M7,

M4-M7傳送到M8-M11,

M8-M11傳送到M12-M15,

M12-M15溢出

4.4數據處理指令

4.4.1 ZRST全部復位

ZRST 為整體復位指令

旋轉移位指令

如上程序,當X1接通,ZRST指令將M3-M10全部復位,D10-D27也全部被清0

4.4.2 DECO譯碼

要譯碼的對象 要譯碼的位數

↑ ↑ 若X2 X1 X0=3 即X0,X1為ON,X2為OFF

[DECO X0 M0 K3]

↓ 則 M7 M6 M5 M4 M3 M2 M1 M0中M3接通

被譯碼對象 7 6 5 4 3 2 1 0

指令由X0、X1、X2三位組成數據,使對應的M0-M7中的某個值置ON

若X0、X1、X2組成的數據為3時,則M3線圈接通,

若X0、X1、X2組成的數據為6時,則M6線圈接通,依次類推。

6.6.3 MEAN 求平均值

程序舉例:

旋轉移位指令

如上圖所示:當條件X0接通,對D0、D1、D2三個數據寄存器求平均值,把其結果存到D10裡面。其運算過程如上圖右邊所示。


分享到:


相關文章: