移位寄存器指令是可以指定移位寄存器的長(zhǎng)度和移位方向的移位指令。其指令格式如圖所示。
說明:(1)移位寄存器指令SHRB將DATA數(shù)值移入移位寄存器。梯形圖中,EN為使能輸入端,連接移位脈沖信號(hào),每次使能有效時(shí),整個(gè)移位寄存器移動(dòng)1位。DATA為數(shù)據(jù)輸入端,連接移入移位寄存器的二進(jìn)制數(shù)值,執(zhí)行指令時(shí)將該位的值移入寄存器。S_BIT指定移位寄存器的最低位。N指定移位寄存器的長(zhǎng)度和移位方向,移位寄存器的最大長(zhǎng)度為64位,N為正值表示左移位,輸入數(shù)據(jù)(DATA)移入移位寄存器的最低位(S_BIT),并移出移位寄存器的最高位。移出的數(shù)據(jù)被放置在溢出內(nèi)存位(SM1.1)中。N為負(fù)值表示右移位,輸入數(shù)據(jù)移入移位寄存器的最高位中,并移出最低位(S_BIT)。移出的數(shù)據(jù)被放置在溢出內(nèi)存位(SM1.1)中。
(2)DATA和S-BIT的操作數(shù)為I, Q, M, SM, T, C, V, S, L 。數(shù)據(jù)類型為:BOOL變量。N的操作數(shù)為VB, IB, QB, MB, SB, SMB, LB, AC, 常量。數(shù)據(jù)類型為:字節(jié)。
(3)使ENO = 0的錯(cuò)誤條件:0006(間接地址),0091(操作數(shù)超出范圍),0092(計(jì)數(shù)區(qū)錯(cuò)誤)。
(4)移位指令影響特殊內(nèi)部標(biāo)志位:SM1.1(為移出的位值設(shè)置溢出位)。