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