English
Language : 

MC68HC08AS20 Datasheet, PDF (137/386 Pages) Freescale Semiconductor, Inc – M68HC08 Microcontrollers
SBSW can be read within the break state SWI routine. The user can
modify the return address on the stack by subtracting one from it. The
following code is an example of this. Writing 0 to the SBSW bit
clears it.
;This code works if the H register has been pushed onto the stack in the break service routine
;software. This code should be executed at the end of the break service routine software.
;
HIBYTE EQU
5
LOBYTE EQU
6
;
If not SBSW, do RTI
BRCLR SBSW,SBSR, RETURN
;See if wait mode or stop mode was exited by
;break.
TST
LOBYTE,SP
;If RETURNLO is not zero,
BNE
DOLO
;then just decrement low byte.
DEC
HIBYTE,SP
;Else deal with high byte, too.
DOLO
DEC
LOBYTE,SP
;Point to WAIT/STOP opcode.
RETURN PULH
RTI
;Restore H register.
MC68HC08AS20 — Rev. 4.1
Freescale Semiconductor
Advance Information
137