Atmega162/v – Rainbow Electronics ATmega162V User Manual
Page 59

59
ATmega162/V
2513E–AVR–09/03
0x03A
ldi
r16,low(RAMEND)
0x03B
out
SPL,r16
0x03C
sei
; Enable interrupts
0x03D
...
...
...
When the BOOTRST Fuse is unprogrammed, the boot section size set to 2K bytes 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
0x000
RESET:
ldi
r16,high(RAMEND) ; Main program start
0x001
out
SPH,r16
; Set Stack Pointer to top of RAM
0x002
ldi
r16,low(RAMEND)
0x003
out
SPL,r16
0x004
sei
; Enable interrupts
0x005
;
.org 0x1C02
0x1C02
jmp
EXT_INT0
; IRQ0 Handler
0x1C04
jmp
EXT_INT1
; IRQ1 Handler
...
....
..
;
0x1C36
jmp
SPM_RDY
; Store Program Memory Ready Handler
When the BOOTRST Fuse is programmed and the boot section size set to 2K bytes, the
most typical and general program setup for the Reset and Interrupt Vector Addresses is:
Address
Labels
Code
Comments
.org 0x002
0x002
jmp
EXT_INT0
; IRQ0 Handler
0x004
jmp
EXT_INT1
; IRQ1 Handler
...
....
..
;
0x036
jmp
SPM_RDY
; Store Program Memory Ready Handler
;
.org 0x1C00
0x1C00
RESET:
ldi
r16,high(RAMEND) ; Main program start
0x1C01
out
SPH,r16
; Set Stack Pointer to top of RAM
0x1C02
ldi
r16,low(RAMEND)
0x1C03
out
SPL,r16
0x1C04
sei
; Enable interrupts
0x1C05