
4.2 Instruction Set
251
Table 4.2.19 Branch 2 Instructions (19 Instructions)
*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
Note 1:
Return from stack (word)
Note 2:
Return from stack (long)
Note 3:
RWj+ addressing mode should not be used with the CBNE/CWBNE instructions.
Note:
For an explanation of “(a)” to “(d)”, see Table 4.2.3 and Table 4.2.4.
Mnemonic
#
~
RG
B
Operation
LH
AH
I
S
T
N
Z
V
C
RMW
CBNE
A,#imm8,rel
CWBNE
A,#imm16,rel
CBNE
ear,#imm8,rel
CBNE
eam,#imm8,rel
CWBNE
ear,#imm16,rel
CWBNE
eam,#imm16,rel
DBNZ
ear,rel
DBNZ
eam,rel
DWBNZ
ear,rel
DWBNZ
eam,rel
INT
#vct8
INT
addr16
INTP
addr24
INT9
RETI
LINK
#imm8
UNLINK
RET
*7
RETP
*8
3
4
4+
5
5+
3
3+
3
3+
2
3
4
1
2
1
*1
*2
*3
*4
*3
*5
*6
*5
*6
20
16
17
20
15
6
5
4
6
0
1
0
1
0
2
0
(b)
0
(c)
0
2x(b)
0
2x(c)
8x(c)
6x(c)
8x(c)
6x(c)
(c)
(d)
Branch when byte (A)
≠ imm8
Branch when word (A)
≠ imm16
Branch when byte (ear)
≠ imm8
Branch when byte (eam)
≠ imm8
Branch when word (ear)
≠ imm16
Branch when word (eam)
≠ imm16
Branch when byte (ear)=(ear)-1. (ear)
≠ 0
Branch when byte (eam)=(eam)-1. (eam)
≠ 0
Branch when word (ear)=(ear)-1. (ear)
≠ 0
Branch when word (eam)=(eam)-1. (eam)
≠ 0
Software interrupt
Recovery from interrupt
At the entrance of function, save old frame
pointers into a stack, set up new frame point-
ers, reserve area for local pointers.
At the exit of function, recover the old frame
pointers from the stack.
Recover from the subroutine.
-
R
*
-
S
*
-
*
-
*
-
*
-
*
-
*
-
*
-
*
-
*
-
*
-
*
-
*
-