beautypg.com

Atmega162/v – Rainbow Electronics ATmega162V User Manual

Page 59

background image

59

ATmega162/V

2513E–AVR–09/03

0x03A

ldi

r16,low(RAMEND)

0x03B

out

SPL,r16

0x03C

sei

; Enable interrupts

0x03D

xxx

...

...

...

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

xxx

;

.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

xxx