MB90610A Series
Table 19 Branch 2 Instructions [19 Instructions]
Mnemonic
#
~
RG
B
Operation
LH AH
I
S
T
N
Z
V
C RMW
1
CBNE A, #imm8, rel
CWBNE A, #imm16, rel
3
4
0
0
0
0
Branch when byte (A) ≠ imm8
Branch when word (A) ≠ imm16
–
–
–
–
–
–
–
–
–
–
*
*
*
*
*
*
*
*
–
–
*
*
1
2
CBNE ear, #imm8, rel
CBNE eam, #imm8, rel*9
CWBNE ear, #imm16, rel
CWBNE eam, #imm16, rel*9
4
4+
5
1
0
1
0
0
Branch when byte (ear) ≠ imm8
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
–
–
–
–
*
3
(b) Branch when byte (eam) ≠ imm8
*
4
0
Branch when word (ear) ≠ imm16
*
*
3
5+
(c) Branch when word (eam) ≠ imm16
5
3
2
2
0
Branch when byte (ear) =
–
–
–
–
–
–
–
–
–
–
*
*
*
*
*
*
–
–
–
*
DBNZ ear, rel
*
(ear) – 1, and (ear) ≠ 0
6
3+
2×(b) Branch when byte (eam) =
(eam) – 1, and (eam) ≠ 0
DBNZ
eam, rel
*
3
5
2
2
0
Branch when word (ear) =
–
–
–
–
–
–
–
–
–
–
*
*
*
*
*
*
–
–
–
*
DWBNZ ear, rel
DWBNZ eam, rel
*
(ear) – 1, and (ear) ≠ 0
3+
2×(c) Branch when word (eam) =
(eam) – 1, and (eam) ≠ 0
6
*
2
3
4
1
1
0
0
0
0
0
8×(c) Software interrupt
6×(c) Software interrupt
6×(c) Software interrupt
8×(c) Software interrupt
6×(c) Return from interrupt
–
–
–
–
–
–
–
–
–
–
R
R
R
R
*
S
S
S
S
*
–
–
–
–
*
–
–
–
–
*
–
–
–
–
*
–
–
–
–
*
–
–
–
–
*
–
–
–
–
–
INT
#vct8
addr16
addr24
20
16
17
20
15
INT
INTP
INT9
RETI
2
0
(c) At constant entry, save old frame
pointer to stack, set new frame
pointer, and allocate local pointer
area
(c) At constant entry, retrieve old frame
pointer from stack.
–
–
–
–
–
–
–
–
–
–
LINK
#local8
6
1
0
–
–
–
–
–
–
–
–
–
–
UNLINK
5
RET *7
1
1
0
0
(c) Return from subroutine
(d) Return from subroutine
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
4
6
RETP *8
*1: 5 when branching, 4 when not branching
*2: 13 when branching, 12 when not branching
*3: 7 + (a) when branching, 6 + (a) when not branching
*4: 8 when branching, 7 when not branching
*5: 7 when branching, 6 when not branching
*6: 8 + (a) when branching, 7 + (a) when not branching
*7: Retrieve (word) from stack
*8: Retrieve (long word) from stack
*9: In the CBNE/CWBNE instruction, do not use the RWj+ addressing mode.
Note: For an explanation of “(a)” to “(d)”, refer to Table 4, “Number of Execution Cycles for Each Type of Addressing,”
and Table 5, “Correction Values for Number of Cycles Used to Calculate Number of Actual Cycles.”
85