46
2503Q–AVR–02/11
ATmega32(L)
When the BOOTRST Fuse is unprogrammed, the Boot section size set to 4 Kbytes and the
IVSEL bit in the GICR 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
$000
RESET:
ldi
r16,high(RAMEND) ; Main program start
$001
out
SPH,r16
; Set Stack Pointer to top of RAM
$002
ldi
r16,low(RAMEND)
$003
out
SPL,r16
$004
sei
; Enable interrupts
$005
<instr>
xxx
;
.org $3802
$3802
jmp
EXT_INT0
; IRQ0 Handler
$3804
jmp
EXT_INT1
; IRQ1 Handler
...
....
..
;
$3828
jmp
SPM_RDY
; Store Program Memory Ready Handler
When the BOOTRST Fuse is programmed and the Boot section size set to 4Kbytes, the most
typical and general program setup for the Reset and Interrupt Vector Addresses is:
Address
Labels
Code
Comments
.org $002
$002
jmp
EXT_INT0
; IRQ0 Handler
$004
jmp
EXT_INT1
; IRQ1 Handler
...
....
..
;
$028
jmp
SPM_RDY
; Store Program Memory Ready Handler
;
.org $3800
$3800
RESET:
ldi
r16,high(RAMEND) ; Main program start
$3801
out
SPH,r16
; Set Stack Pointer to top of RAM
$3802
ldi
r16,low(RAMEND)
$3803
out
SPL,r16
$3804
sei
; Enable interrupts
$3805
<instr>
xxx
When the BOOTRST Fuse is programmed, the Boot section size set to 4Kbytes and the IVSEL
bit in the GICR 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 $3800
$3800
jmp
RESET
; Reset handler
$3802
jmp
EXT_INT0
; IRQ0 Handler
$3804
jmp
EXT_INT1
; IRQ1 Handler
...
....
..
;
$3828
jmp
SPM_RDY
; Store Program Memory Ready Handler
;
$382A
RESET:
ldi
r16,high(RAMEND) ; Main program start
$382B
out
SPH,r16
; Set Stack Pointer to top of RAM
$382C
ldi
r16,low(RAMEND)
$382D
out
SPL,r16
$382E
sei
; Enable interrupts
$382F
<instr>
xxx