MC81F4432
Branch / Jump
FLAG
OP
CODE
BYTE
NO
CYCLE
NO
NO.
MNEMONIC
OPERATION
NVGBHIZC
1
2
3
4
BBC A.bit, rel
BBC dp.bit, rel
BBS A.bit, rel
BBS dp.bit, rel
y2
y3
x2
x3
2
3
2
3
4/6
5/7
4/6
5/7
Branch if bit clear :
If ( bit ) = 0, then pc ( pc ) + rel
--------
--------
Branch if bit set :
If ( bit ) = 1, then pc ( pc ) + rel
Branch if carry bit clear :
If ( C ) = 0, then pc ( pc ) + rel
5
6
7
8
9
BCC rel
BCS rel
BEQ rel
BMI rel
BNE rel
50
D0
F0
90
70
2
2
2
2
2
2/4
2/4
2/4
2/4
2/4
--------
--------
--------
--------
--------
Branch if carry bit set :
If ( C ) = 1, then pc ( pc ) + rel
Branch if equal :
If ( Z ) = 1, then pc ( pc ) + rel
Branch if minus :
If ( N ) = 1, then pc ( pc ) + rel
Branch if not equal :
If ( Z ) = 0, then pc ( pc ) + rel
Branch if plus :
If ( N ) = 0, then pc ( pc ) + rel
10
11
12
BPL rel
BRA rel
BVC rel
10
2F
30
2
2
2
2/4
4
--------
--------
--------
Branch always : pc ( pc ) + rel
Branch if overflow bit clear :
If ( V ) = 0, then pc ( pc ) + rel
2/4
Branch if overflow bit set :
If ( V ) = 1, then pc ( pc ) + rel
13
14
BVS rel
B0
3B
2
3
2/4
8
--------
--------
CALL !abs
Subroutine call
M( sp ) ( pcH ), sp sp – 1,
M( sp ) ( pcL ), sp sp – 1,
15
CALL [dp]
5F
2
8
If !abs, pc abs ;
if [dp], pcL ( dp ), pcH ( dp + 1 )
16
17
18
19
20
21
22
CBNE dp, rel
FD
3
3
3
2
3
3
2
5/7
6/8
5/7
4/6
3
Compare and branch if not equal :
if ( A ) ≠ ( M ), then pc ( pc ) + rel
--------
--------
CBNE dp+X, rel 8D
DBNE dp, rel
DBNE Y, rel
JMP !abs
AC
7B
1B
1F
3F
Decrement and branch if not equal :
if ( M ) ≠ 0, then pc ( pc ) + rel
Unconditional jump :
pc jump address
JMP [!abs]
JMP [dp]
5
--------
4
U-page call
M( sp ) ( pcH ), sp sp – 1,
23
PCALL upage
4F
2
6
--------
October 19, 2009 Ver.1.35
197