Chapter 6 Applied Instructions
6-225
1
0 1 0 1 0 1 0 1 0 1 0 1 0 1
0
Carry flag
1
b0
b15
After MBR is executed
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
0 1
0
※
Carry flag
SM614
SM614
Before the rotation
is executed
SM616=0
After the rotation
to the left is executed
D
S
b0
b15
Example 2:
When X0.0 is ON, SM616 is ON. The values of the bits in the 16-bit registers D0~D2 are rotated to
the right, and the operation result is stored in the 16-bit registers D20~D22. The value of the bit
marked ※ is transmitted to the carry flag SM614.
Carry flag
Carry flag
Before the rotation
is executed
SM616=0
After the rotation
to the left is executed
D
1
0 1 0 1 0 1 0 1 0 1 0 1 0 1
0
0
b0
b15
MBR
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
0 1
0
※
SM614
SM614
S
b0
b15
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 direction flag for the matrix rotation/shift.