63
7679H–CAN–08/08
AT90CAN32/64/128
0x0004
sei
; Enable interrupts
0x0005
<instr> xxx
;
.org (BootRe 0x0002)
0x..02
jmp
EXT_INT0
; IRQ0 Handler
0x..04
jmp
PCINT0
; PCINT0 Handler
...
...
...
;
0x..0C
jmp
SPM_RDY
; Store Program Memory Ready Handler
When the BOOTRST Fuse is programmed and the Boot section size set to 8K bytes, the most
typical and general program setup for the Reset and Interrupt Vector Addresses is:
;Address Labels
Code
Comments
.org 0x0002
0x0002
jmp
EXT_INT0
; IRQ0 Handler
0x0004
jmp
PCINT0
; PCINT0 Handler
...
...
...
;
0x002C
jmp
SPM_RDY
; Store Program Memory Ready Handler
;
.org (BootResetAdd)
0x..00
RESET: ldi
r16,high(RAMEND) ; Main program start
0x..01
out
SPH,r16
; Set Stack Pointer to top of RAM
0x..02
ldi
r16,low(RAMEND)
0x..03
out
SPL,r16
0x..04
sei
; Enable interrupts
0x..05
<instr> xxx
When the BOOTRST Fuse is programmed, the Boot section size set to 8K bytes and the IVSEL
bit in the MCUCR Register is set before any interrupts are enabled, the most typical and general
program setup for the Reset and Interrupt Vector Addresses is:
;Address Labels
Code
Comments
;
.org (BootResetAdd)
0x..00
jmp
RESET
; Reset handler
0x0002
jmp
EXT_INT0
; IRQ0 Handler
0x..04
jmp
PCINT0
; PCINT0 Handler
...
...
...
;
0x..44
jmp
SPM_RDY
; Store Program Memory Ready Handler
;
0x..46
RESET: ldi
r16,high(RAMEND) ; Main program start
0x..47
out
SPH,r16
; Set Stack Pointer to top of RAM
0x..48
ldi
r16,low(RAMEND)
0x..49
out
SPL,r16
0x..4A
sei
; Enable interrupts
0x..4B
<instr> xxx