Apple ii Battery Charger User Manual


 
BRANCH IF MINUS ONE
BM1 ea [ 08 d ]
A branch is effected only if the prior 'result' was minus one
($FFFF Hex). Branch conditions are not changed.
BRANCH IF NOT MINUS ONE
BNM1 ea [ 09 d ]
A branch effected only if the prior 'result' was not minus 1.
Branch conditions are not changed.
BREAK:
BK [ 0A ]
A 6502 BRK (break) instruction is executed. SWEET 16 may be
re-entered non destructively at SW16d after correcting the
stack pointer to its value prior to executing the BRK.
RETURN FROM SWEET 16 SUBROUTINE:
RS [ 0B ]
RS terminates execution of a SWEET 16 subroutine and returns to the
SWEET 16 calling program which resumes execution (in SWEET 16 mode).
R12, which is the SWEET 16 subroutine return stack pointer, is
decremented twice. Branch conditions are not changed.
BRANCH TO SWEET 16 SUBROUTINE:
BS ea [ 0c d ]
A branch to the effective address (PC + 2 + d) is taken and
execution is resumed in SWEET 16 mode. The current PC is pushed
onto a SWEET 16 subroutine return address stack whose pointer is
R12, and R12 is incremented by 2. The carry is cleared and branch
conditions set to indicate the current ACC contents.
EXAMPLE: (Calling a 'memory move' subroutine to move A034-A03B
to 3000-3007)
15 34 A0 SET R5 $A034 ;Init pointer 1
14 3B A0 SET R4 $A03B ;Init limit 1
16 00 30 SET R6 $3000 ;Init pointer 2
0C 15 BS MOVE ;Call move subroutine
45 MOVE LD @R5 ;Move one
56 ST @R6 ;byte
24 LD R4
D5 CPR R5 ;Test if done
04 FA BP MOVE
0B RS ;Return