ATmega64A
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:
AddressLabels Code
.org 0x0002
Comments
0x0002
0x0004
:.
jmp
jmp
:.
EXT_INT0 ; IRQ0 Handler
EXT_INT1 ; IRQ1 Handler
:.
;
0x0044
;
jmp
SPM_RDY ; Store Program Memory Ready Handler
.org 0x7000
0x7000 RESET: ldi
r16,high(RAMEND); Main program start
SPH,r16 ; Set Stack Pointer to top of RAM
r16,low(RAMEND)
0x7001
0x7002
out
ldi
0x7003
0x7004
out
sei
SPL,r16
; Enable interrupts
0x7005
<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:
AddressLabels Code
Comments
;
.org 0x7000
0x7000
0x7002
jmp
jmp
RESET
; Reset handler
EXT_INT0 ; IRQ0 Handler
0x7004
:.
jmp
:.
EXT_INT1 ; IRQ1 Handler
:.
;
0x7044
jmp
SPM_RDY; Store Program Memory Ready Handler
r16,high(RAMEND); Main program start
SPH,r16 ; Set Stack Pointer to top of RAM
r16,low(RAMEND)
0x7046 RESET: ldi
0x7047
0x7048
out
ldi
0x7049
0x704A
out
sei
SPL,r16
; Enable interrupts
0x704B
<instr> xxx
11.2.1
Moving Interrupts Between Application and Boot Space
The General Interrupt Control Register controls the placement of the Interrupt Vector table.
63
8160C–AVR–07/09