Datasheet
When the BOOTRST fuse is unprogrammed, the Boot section size set to 8 Kbytes 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:
Adddress Labels Code Comments
$0000 RESET: ldi r16,high(RAMEND) ; Main program
start
$0001 out SPH,r16 ; Set stack
pointer to top of
RAM
$0002 RESET: ldi r16,low(RAMEND)
$0003 out SPL,r16
$0004 sei ; Enable
interrupts
$0005 <instr> xxx
;
.org $F002
$F002 jmp EXT_INT0 ; IRQ0 Handler
$F004 jmp EXT_INT1 ; IRQ1 Handler
:. :. :. ;
$F044 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 $0002
$0002 jmp EXT_INT0 ; IRQ0 Handler
$0004 jmp EXT_INT1 ; IRQ1 Handler
:. :. :. ;
$0044 jmp SPM_RDY ; Store Program
Memory Handler
;
.org $F000
$F000 RESET: ldi r16,high(RAMEND) ; Main program
start
$F001 out SPH,r16 ; Set stack
pointer to top of
RAM
Atmel ATmega64A [DATASHEET]
Atmel-8160E-ATmega64A_Datasheet_Complete-09/2015
81