RCR
ROTATE
THROUGH
CARRY RIGHT
RCR
Operation:
(temp) - COUNT
do
while
(temp)
=1=
0
(tmpcf) - (CF)
(CF)
-
low-order
bit
of
(EA)
(EA)
- (EA) I 2
high-order
bit
of
(EA) - (tmpcf)
(temp)
-
(temp)-1
if COUNT = 1 then
if
high-order
bit
of
(EA)
=1=
next-
to-high-order
bit
of
(EA)
then
(OF)-1
else (OF) - 0
else (OF)
undefined
Description:
RCR
destination, count
RCR (Rotate through Carry Right) operates
exactly like RCL except that the bits are
rotated right instead
of
left.
Encoding:
11101
a a v w 1 mod 011 rIm 1
if v = 0 then COU NT = 1
else
COU
NT = (CL)
Flags Affected:
CF,OF
RCR
Operands Clocks
Transfers
Bytes
RCR
Coding Example
register, 1 2
-
2
RCR
BX, 1
register, CL
8+4/bit
- 2
RCR
BL, CL
memory, 1
15(23)
+
EA
2
2-4
RCR
[BXj.STATUS, 1
memory, CL
20(28)
+
EA
+
4/bit
2
2-4
RCR
ARRAY
[01],
CL
*b(w):
where
b
denotes
the
number
of
clock
cycles
for
byte operands and
w
denotes
the
number
of
clock
cycles for word operands.
\
2-134