一、傳送類指令 |
(一)單一傳送 1、MOVB,字節(jié)傳送指令 使能輸入有效時(shí),把一個(gè)單字節(jié)無(wú)符號(hào)數(shù)據(jù)由IN傳送到OUT所指的字節(jié)存儲(chǔ)單元。 IN的尋址范圍:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD和常數(shù)。 VB、IB、QB、MB、SB、SMB、 LB、AC、*VD、*AC、*LD。 指令格式: MOVB IN1, OUT
例: MOVB VB0, QB0 2、BIR,傳送字節(jié)立即讀指令 使能輸入有效時(shí),立即讀取單字節(jié)物理輸入?yún)^(qū)數(shù)據(jù)IN,并傳送到OUT所指的字節(jié)存儲(chǔ)單元。 IN的尋址范圍:IB OUT的尋址范圍:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD。 指令格式:BIR IN1, OUT
例:BIR IB0, VB10 (二)塊傳送 指令可用來(lái)進(jìn)行一次多個(gè)(最多255個(gè))數(shù)據(jù)的傳送,數(shù)據(jù)塊類型可以是字節(jié)塊、字塊、雙字塊。 三條指令中N的尋址范圍都是:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD和常數(shù)。 使ENO斷開的出錯(cuò)條件:SM4.3(運(yùn)行時(shí)間);0006(間接尋址);0091(數(shù)超界)。
|
(一)左移和右移
1、字節(jié)左移和字節(jié)右移
SLB和SRB,字節(jié)左移和字節(jié)右移。使能輸入有效時(shí),把字節(jié)型輸入數(shù)據(jù)IN左移或右移N位后,再將結(jié)果輸出到OUT所指的字節(jié)存儲(chǔ)單元。最大實(shí)際可移位次數(shù)為8。
圖4 字節(jié)左移和字節(jié)右移
以字節(jié)左移指令為例,指令執(zhí)行情況如表所示。
圖5 字節(jié)左移指令
2、字左移和字右移,SLW和SRW
使能輸入有效時(shí),把字型輸入數(shù)據(jù)IN左移或右移N位后,再將結(jié)果輸出到OUT所指的字存儲(chǔ)單元。最大實(shí)際可移位次數(shù)為16。
指令格式: SLW OUT, N (字左移);SRW OUT, N (字右移)
例: SLW MW0, 2;SRW LW0, 3
以字右移指令為例,指令執(zhí)行情況如表所示。
圖6 字右移指令
3、雙字左移和雙字右移,SLD和SRD
使能輸入有效時(shí),把雙字型輸入數(shù)據(jù)IN左移或右移N位后,再將結(jié)果輸出到OUT所指的雙字存儲(chǔ)單元。最大實(shí)際可移位次數(shù)為32。
指令格式:SLD OUT, N (雙字左移);SRD OUT, N (雙字右移)
例: SLD MD0, 2;SRD LD0, 3
(二)循環(huán)左移、循環(huán)右移
循環(huán)左移和循環(huán)右移根據(jù)所循環(huán)移位的數(shù)的長(zhǎng)度分別又可分為字節(jié)型、字型、雙字型。
移位數(shù)據(jù)存儲(chǔ)單元的移出端與另一端相連,同時(shí)又與SM1.1(溢出)相連,所以最后被移出的位被移到另一端的同時(shí),也被放到SM1.1位存儲(chǔ)單元。
例如在循環(huán)右移時(shí),移位數(shù)據(jù)的最右端位移入最左端,同時(shí)又進(jìn)入SM1.1。SM1.1始終存放最后一次被移出的位。
循環(huán)移位的類型:
◆ 字節(jié)循環(huán)左移和字節(jié)循環(huán)右移
◆ 字循環(huán)左移和字循環(huán)右移
◆ 雙字循環(huán)左移和雙字循環(huán)右移
(三)寄存器移位
SHRB,寄存器移位指令:該指令在梯形圖中有3個(gè)數(shù)據(jù)輸入端:DATA為數(shù)值輸入, 將該位的值移入移位寄存器;S_BIT為移位寄存器的最低位端;N指定移位寄存器的長(zhǎng)度。每次使能輸入有效時(shí),整個(gè)移位寄存器移動(dòng)1位。
移位寄存器長(zhǎng)度在指令中指定,沒有字節(jié)型、字型、雙字型之分。可指定的最大長(zhǎng)度為64位,可正也可負(fù)。
圖11 移位寄存器
圖12 指令SHRB執(zhí)行結(jié)果三、字節(jié)交換指令
使能輸入有效時(shí),將字型輸入數(shù)據(jù)IN的高字節(jié)和低字節(jié)進(jìn)行交換。
本指令只對(duì)字型數(shù)據(jù)進(jìn)行處理,指令的執(zhí)行不影響的特殊存儲(chǔ)器位。
使能流輸出ENO斷開的出錯(cuò)條件:SM4.3(運(yùn)行時(shí)間);0006(間接尋址)。
指令格式: SWAP IN (字節(jié)交換)
圖13 指令SWAP執(zhí)行結(jié)果四、存儲(chǔ)器填充指令,F(xiàn)ILL
使能輸入有效時(shí),用字型輸入數(shù)據(jù)IN填充從輸出OUT所指的單元開始的N個(gè)字存儲(chǔ)單元。
填充指令只對(duì)字型數(shù)據(jù)進(jìn)行處理,N值為字節(jié)型,可取從1~255的整數(shù)。www.diangon.com指令的執(zhí)行不影響的特殊存儲(chǔ)器位。
使能流輸出ENO斷開的出錯(cuò)條件:SM4.3(運(yùn)行時(shí)間);0006(間接尋址);0091(操作數(shù)超界)。
指令格式: FILL IN, OUT, N
圖14 存儲(chǔ)器填充指令