M68HC16 Z SERIES
INITIALIZATION AND PROGRAMMING EXAMPLES
USER’S MANUAL
E-23
E.2.2 CPU16 Programming Example
The following programming example involves using the CPU16 indexed and extended
addressing modes.
Refer to
SECTION 4 CENTRAL PROCESSOR UNIT
for more information on the
CPU16.
E.2.2.1 Example 5 - Indexed and Extended Addressing
* Description : This program demonstrates indexed and extended
* addressing.
*****************************************************************************
****
INCLUDE 'EQUATES.ASM' ;table of EQUates for common
register addresses
INCLUDE 'ORG00000.ASM' ;initialize reset vector
INCLUDE 'ORG00008.ASM' ;initialize interrupt vectors
ORG $0200 ;start program after interrupt vectors
***** Initialization Routines *****
INCLUDE 'INITSYS.ASM' ;initially set EK=F, XK=0, YK=0,
ZK=0
;set sys clock at 16.78MHz, disable
COP
INCLUDE 'INITRAM.ASM' ;initialize and turn on SRAM
;set stack (SK=#$1, SP=#$03FE)
***** Start of main program *****
LDAB #$00
TBZK ;point ZK to bank 0
LDZ #$FFFE ;set IZ=#$FFFE
OFFSET EQU $02 ;SET OFFSET = $02
LDAB #$01
TBEK ;point EK to bank 1
GO: LDAA #$00
STAA $0000 ;write 00 to $10000 (extended)
LDAA #$FF
STAA OFFSET,Z ;write ff to $10000 (indexed)
BRA GO
***** Exceptions/Interrupts *****
BDM: BGND ;exception vectors point here
;and put the user in background mode
F
re
e
sc
a
le
S
e
m
ic
o
n
d
u
c
to
r,
I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
c
.
..