93
MB90246A Series
Table 21 Branch 2 [20 Instructions]
Note: For (a) to (d), refer to “Table 4 Number of Execution Cycles in Addressing Modes” and “Table 5 Correction
Values for Number of Cycles for Calculating Actual Number of Cycles.”
*1: Set to 4 when branch is executed, and 3 when branch is not executed.
*2: Set to 5 when branch is executed, and 4 when branch is not executed.
*3: Set to 5 + (a) when branch is executed, and 4 + (a) when branch is not executed.
*4: Set to 6 + (a) when branch is executed, and 5 + (a) when branch is not executed.
*5: Set to 3
×
(b) + 2
×
(c) when an interrupt request is issued, and 6
×
(c) for return.
*6: This is a high-speed interrupt return instruction. In the instruction, an interrupt request is detected. When an
interrupt occurs, stack operation is not performed, with this instruction branching to the interrupt vector.
*7: Return from stack (word).
*8: Return from stack (long).
Mnemonic
#
~
B
Operation
LH AH
I
S
T
N
Z
V
C RMW
CBNE
CWBNE A, #imm16, rel
A, #imm8, rel
CBNE
CBNE
CWBNE ear, #imm16, rel
CWBNE eam, #imm16, rel
ear, #imm8, rel
eam, #imm8, rel
DBNZ
ear, rel
DBNZ
eam, rel
DWBNZ ear, rel
DWBNZ eam, rel
INT
INT
INTP
INT9
RETI
RETIQ *
6
#vct8
addr16
addr24
LINK
#imm8
UNLINK
RET *
7
RETP *
8
3
4
4
4 +
5
5 +
3
3 +
3
3 +
2
3
4
1
1
2
2
1
1
1
*1
*1
*1
*3
*1
*3
*2
*4
*2
*4
14
12
13
14
9
11
6
5
4
5
0
0
0
(b)
0
(c)
0
2
×
(b)
0
2
×
(c)
8
×
(c)
6
×
(c)
6
×
(c)
8
×
(c)
6
×
(c)
*5
(c)
(c)
(c)
(d)
Branch if byte (A)
≠
imm8
Branch if word (A)
≠
imm16
Branch if byte (ear)
≠
imm8
Branch if byte (eam)
≠
imm8
Branch if word (ear)
≠
imm16
Branch if word (eam)
≠
imm16
byte (ear) = (ear) – 1,
Branch if (ear)
≠
0
byte (eam) = (eam) – 1,
Branch if (eam)
≠
0
word (ear) = (ear) – 1,
Branch if (ear)
≠
0
word (eam) = (eam) – 1,
Branch if (eam)
≠
0
Software interrupt
Software interrupt
Software interrupt
Software interrupt
Return from interrupt
Return from interrupt
Stores old frame pointer in
the beginning of the
function, set new frame
pointer, and reserves local
pointer area
Restore old frame pointer
from stack in the end of
the function
Return from subroutine
Return from subroutine
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
R
R
R
R
*
*
–
–
–
–
–
–
–
–
–
–
–
–
–
–
S
S
S
S
*
*
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
*
*
–
–
–
–
*
*
*
*
*
*
*
*
*
*
–
–
–
–
*
*
–
–
–
–
*
*
*
*
*
*
*
*
*
*
–
–
–
–
*
*
–
–
–
–
*
*
*
*
*
*
*
*
*
*
–
–
–
–
*
*
–
–
–
–
*
*
*
*
*
*
–
–
–
–
–
–
–
–
*
*
–
–
–
–
–
–
–
–
–
–
–
*
–
*
–
–
–
–
–
–
–
–
–
–