
567
APPENDIX B Instructions
Note:
Count Correction Values for Counting Execution Cycles" for information on (a) to (d) in the
table.
Table B.8-16 21 Bit Operand Instructions
Mnemonic
#
RG
B
Operation
L
H
A
H
I
S
TN
ZV
C
R
M
W
MOVB
A,dir:bp
A,addr16:bp
A,io:bp
3
4
3
5
4
0
(b)
byte (A) <-- ( dir:bp )b
byte (A) <-- ( addr16:bp )b
byte (A) <-- ( io:bp )b
Z
*
-
*
-
MOVB
dir:bp,A
addr16:bp,A
io:bp,A
3
4
3
7
6
0
2×(b)
bit ( dir:bp )b <-- (A)
bit ( addr16:bp )b <-- (A)
bit ( io:bp )b <-- (A)
-
*
-
*
SETB
dir:bp
addr16:bp
io:bp
3
4
3
7
0
2×(b)
bit ( dir:bp )b <-- 1
bit ( addr16:bp )b <-- 1
bit ( io:bp )b <-- 1
-
*
CLRB
dir:bp
addr16:bp
io:bp
3
4
3
7
0
2×(b)
bit ( dir:bp )b <-- 0
bit ( addr16:bp )b <-- 0
bit ( io:bp )b <-- 0
-
*
BBC
dir:bp,rel
addr16:bp,rel
io:bp,rel
4
5
4
*1
*2
0
(b)
Branch on (dir:bp) b = 0
Branch on (addr16:bp) b = 0
Branch on (io:bp) b = 0
-
*
-
BBS
dir:bp,rel
addr16:bp,rel
io:bp,rel
4
5
4
*1
0
(b)
Branch on (dir:bp) b = 1
Branch on (addr16:bp) b = 1
Branch on (io:bp) b = 1
-
*
-
SBBS
addr16:bp,rel
5
*3
0
2×(b)
Branch on (addr16:bp) b = 1, bit = 1
----
--*
WBTS
io:bp
3
*4
0
*5
Waits until (io:bp) b = 1
----
------
WBTC
io:bp
3
*4
0
*5
Waits until (io:bp) b = 0
----
------
*1: 8 when a branch is made; otherwise, 7
*2: 7 when a branch is made; otherwise, 6
*3: 10 when the condition is met; otherwise 9
*4: Undefined count
*5: Until the condition is met( dir:bp )b
Table B.8-17 Six Accumulator Operation Instructions (byte, word)
Mnemonic
#
RG
B
Operation
L
H
A
H
IS
T
N
Z
V
C
R
M
W
SWAP
SWAPW/XCHW A,T
EXT
EXTW
ZEXT
ZEXTW
1
3
2
1
2
1
0
byte (A)0-7 <--> (A)8-15
word (AH) <--> (AL)
Byte sign extension
Word sign extension
Byte zero extension
Word zero extensionbyte
-
X
-
Z
-
*
-
X
-
z
-
*
R
-
*
-