
ATmega48/88/168
0x01D
0x01E
0x01F
...
...
OUT
SEI
...
SPL,r16
;允许中断
xxx
...
<instr>
当熔丝位BOOTRST未编程, Boot区大小设置为2K字节,
MCUCR寄存器的IVSEL置位时所有中断使能之前,最
典型的和一般的程序设置为复位和中断向量地址
ATmega88的是:
地址标签代码
0x000
0x001
内存
0x002
0x003
0x004
0x005
;
.ORG 0xC01
0xC01
0xC02
...
0xC19
处理器
RJMP
RJMP
...
RJMP
EXT_INT0
EXT_INT1
...
SPM_RDY
; IRQ0处理程序
; IRQ1处理程序
;
;存储程序存储器就绪
RESET : LDI
OUT
LDI
OUT
SEI
SPH,r16
r16,low(RAMEND)
SPL,r16
;允许中断
xxx
评论
R16 ,高( RAMEND ) ;主程序启动
;设置堆栈指针到顶部
<instr>
当熔丝位BOOTRST被编程, Boot区为2K字节时,
最典型,最普通的程序设置为复位和中断向量地址
ATmega88的是:
地址标签代码
.org等0×001
0x001
0x002
...
0x019
处理器
;
.ORG量0xC00
0xC00
RESET : LDI
0xC01
内存
0xC02
0xC03
0xC04
0xC05
OUT
LDI
OUT
SEI
R16 ,高( RAMEND ) ;主程序启动
SPH,r16
r16,low(RAMEND)
SPL,r16
;允许中断
xxx
;设置堆栈指针到顶部
RJMP
RJMP
...
RJMP
EXT_INT0
EXT_INT1
...
SPM_RDY
; IRQ0处理程序
; IRQ1处理程序
;
;存储程序存储器就绪
评论
<instr>
55
2545D–AVR–07/04