Chapter 6 Applied Instructions
6-253
1
0 1 0 1 0 1 0 1 0 1 0 1 0 1
0
Borrow flag
0
b0b15
b0
b15
After the shift
1
0 1 0 1 0 1 0 1 0 1 0 1 0 1
0
1
0 1 0 1 0 1 0 1 0 1 0 1 0 1
0
D0
D1
D2
D20
D21
D22
1
0 1 0 1 0 1 0 1 0 1 0 0
1
0 1 0 1 0 1 0 1 0 1 0 1
1
0 1 0 1 0 1 0 1 0 1 0 1
0 1
0
0 1
0
0 1
0
Borrow flag
Carry flag
1
Carry flag
0
Example 2:
When X0.0 is ON, SM616 is ON. The values of the bits are shifted to the right. Suppose SM615 is
ON. After the values of the bits in the 16-bit registers D0~D2 are rotated to the right, the operation
result is stored in the 16-bit registers D20~D22, and SM614 is OFF.
After the shift
Borrow flag
B
orrow flag
Carry flag
Carry flag
1
0 1 0 1 0 1 0 1 0 1 0 1 0 1
0
0
b0b15
b0
b15
1
0 1 0 1 0 1 0 1 0 1 0 1 0 1
0
1
0 1 0 1 0 1 0 1 0 1 0 1 0 1
0
D0
D1
D2
D20
D21
D22
1
0 1 0 1 0 1 0 1 0 1 0 1
1
0 1 0 1 0 1 0 1 0 1 0 1
1
0 1 0 1 0 1 0 1 0 1 0 1
0 1
0
0 1
0
1 1
0
1
Additional remark:
1. If S+n-1 or D+n-1 exceeds the device range, the instruction is not executed, SM0 is ON, and
the error code in SR0 is 16#2003.
2. If n is less than 1, or if n is larger than 256, the instruction is not executed, SM0 is ON, and the
error code in SR0 is 16#200B.
3. The flags:
It is the carry flag for the matrix rotation/shift/output.
It is the borrow flag for the matrix shift/output.
It is the direction flag for the matrix rotation/shift.