(13) Shift and rotate instructions: ROR, ROL, RORC, ROLC, SHR, SHL, SHRW, SHLW, ROR4, ROL4
Mnemonic
Operand
ROR
r, n
ROL
r, n
RORC
r, n
ROLC
r, n
SHR
r, n
SHL
r, n
SHRW
rp, n
SHLW
rp, n
ROR4
mem3
ROL4
mem3
(14) Bit manipulation instructions: MOV1, AND1, OR1, XOR1, NOT1, SET1, CLR1
Mnemonic
Operand
MOV1
CY, saddr.bit
CY, sfr.bit
CY, X.bit
CY, A.bit
CY, PSWL.bit
CY, PSWH.bit
CY, !addr16.bit
CY, !!addr24.bit
CY, mem2.bit
saddr.bit, CY
sfr.bit, CY
X.bit, CY
A.bit, CY
PSWL.bit, CY
PSWH.bit, CY
!addr16.bit, CY
!!addr24.bit, CY
mem2.bit, CY
CHAPTER 28 INSTRUCTION OPERATION
Bytes
← r
← r
2/3
(CY, r
, r
7
0
m–1
m
← r
← r
2/3
(CY, r
, r
0
7
m+1
(CY ← r
← CY, r
2/3
, r
0
7
m–1
(CY ← r
← CY, r
2/3
, r
7
0
m+1
(CY ← r
← 0, r
2/3
, r
0
7
m–1
(CY ← r
← 0, r
2/3
, r
7
0
m+1
(CY ← rp
← 0, rp
2
, rp
0
15
(CY ← rp
← 0, rp
2
, rp
15
0
← (mem3)
2
A
, (mem3)
3–0
3–0
← (mem3)
(mem3)
3–0
← (mem3)
2
A
, (mem3)
3–0
7–4
← (mem3)
(mem3)
7–4
Bytes
CY ← (saddr.bit)
3/4
CY ← sfr.bit
3
CY ← X.bit
2
CY ← A.bit
2
CY ← PSW
2
.bit
L
CY ← PSW
2
.bit
H
CY ← !addr16.bit
5
CY ← !!addr24.bit
2
CY ← mem2.bit
2
(saddr.bit) ← CY
3/4
sfr.bit ← CY
3
X.bit ← CY
2
A.bit ← CY
2
.bit ← CY
2
PSW
L
.bit ← CY
2
PSW
H
!addr16.bit ← CY
5
!!addr24.bit ← CY
6
mem2.bit ← CY
2
User's Manual U12697EJ3V0UM
Operation
) × n
n = 0 to 7
) × n
n = 0 to 7
m
← r
) × n
n = 0 to 7
m
← r
) × n
n = 0 to 7
m
← r
) × n
n = 0 to 7
m
← r
) × n
n = 0 to 7
m
← rp
) × n n = 0 to 7
m–1
m
← rp
) × n n = 0 to 7
m+1
m
← A
,
7–4
3–0
7–4
← A
,
3–0
3–0
3–0
Operation
Flag
S
Z
AC P/V CY
×
P
×
P
×
P
×
P
×
×
×
0
P
×
×
×
0
P
×
×
×
0
P
×
×
×
0
P
Flag
S
Z
AC P/V CY
×
×
×
×
×
×
×
×
×
×
×
×
×
×
541