Application Note
Appendix I — New CPU08 Signed Branch Instruction Examples
AN1218 Rev. 2
51
Appendix I — New CPU08 Signed Branch Instruction Examples
************************************************************
*
* File : SIGNBRA.ASM
* Description :
* Shows examples for new CPU08 signed branch
* instructions - BGE, BGT, BLE, BLT
* The examples demonstrate two's complement
* math with branching.
* Note : Please consult the CPU08 Reference Manual
* for further details on these instructions
* Code is written for educational
* purposes only
*
************************************************************
ORG $200
***** BGE - branch if greater than or equal
* A is predefined at $FF
LP_BGE CMP #$FF ; (A) - $FF, [ -1 - (-1) ]
BGE LP_BGT ; if A >= $FF, then
; branch to LP_BGT
BRA LP_BGE ; go to LP_BGE
***** BGT - branch if greater than
* A is predefined at $07
LP_BGT CMP #$FF ; (A) - $FF, [ 7 - (-1) ]
BGT LP_BLE ; if A > $FF, then
; branch to LP_BLE
BRA LP_BGT ; go to LP_BGT
***** BLE - branch if less than or equal
* A is predefined at $FF
LP_BLE CMP #$FF ; (A) - $FF, [ -1 - (-1) ]
BLE LP_BLT ; if A <= $FF, then
; branch to LP_BLT
BRA LP_BLE ; go to LP_BLE
***** BLT - branch if less than
* A is predefined at $FF
LP_BLT CMP #$07 ; $FF - $07, [ -1 - (7) ]
BLT DONE ; if A < $FF, then
; branch to DONE
BRA LP_BLT ; go to LP_BLT
DONE NOP
BRA DONE
***** Initialize the reset vector
ORG $FFFE
DW LP_BGE
F
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
.