📄 sam7s.lst
字号:
00100018 E51FFF20 214 LDR PC,[PC,#-0xF20]
215 ; LDR PC,FIQ_Addr
0010001C E51FFF20 216 LDR PC,[PC,#-0xF20]
217
00100020 00100040 R 218 Reset_Addr: DD Reset_Handler
00100024 00000000 E 219 Undef_Addr: DD Undef_Handler?A
00100028 00000000 E 220 SWI_Addr: DD SWI_Handler?A
0010002C 00000000 E 221 PAbt_Addr: DD PAbt_Handler?A
00100030 00000000 E 222 DAbt_Addr: DD DAbt_Handler?A
00100034 00000000 223 DD 0
224 ;IRQ_Addr: DD IRQ_Handler?A
00100038 00000000 225 IRQ_Addr: DD 0
226 ;FIQ_Addr: DD FIQ_Handler?A
0010003C 00000000 227 FIQ_Addr: DD 0
228
229
230
231
00100040 232 Reset_Handler:
233
234
235
236 IF (EFC_SETUP != 0)
00100040 E3E000FF 237 LDR R0, =EFC_BASE
00100044 E59F1000 238 LDR R1, =EFC_FMR_Val
00100048 E5801060 239 STR R1, [R0, #EFC_FMR]
240 ENDIF
241
242
243
244 IF (WDT_SETUP != 0)
LDR R0, =WDT_BASE
LDR R1, =WDT_MR_Val
STR R1, [R0, #WDT_MR]
ENDIF
249
250
251
252 IF (PMC_SETUP != 0)
0010004C E59F0000 253 LDR R0, =PMC_BASE
254
255
00100050 E59F1000 256 LDR R1, =PMC_MOR_Val
AA MACRO ASSEMBLER SAM7S 19/08/06 14:09:44 PAGE 5
00100054 E5801020 257 STR R1, [R0, #PMC_MOR]
258
259
260 IF ((PMC_MOR_Val & PMC_MOSCEN) != 0)
00100058 E5902068 261 MOSCS_Loop: LDR R2, [R0, #PMC_SR]
0010005C E2122001 262 ANDS R2, R2, #PMC_MOSCS
00100060 0AFFFFFC 263 BEQ MOSCS_Loop
264 ENDIF
265
266
267 IF ((PMC_PLLR_Val & PMC_MUL) != 0)
00100064 E59F1000 268 LDR R1, =PMC_PLLR_Val
00100068 E580102C 269 STR R1, [R0, #PMC_PLLR]
270
271
0010006C E5902068 272 PLL_Loop: LDR R2, [R0, #PMC_SR]
00100070 E2122004 273 ANDS R2, R2, #PMC_LOCK
00100074 0AFFFFFC 274 BEQ PLL_Loop
275 ENDIF
276
277
00100078 E3A01007 278 LDR R1, =PMC_MCKR_Val
0010007C E5801030 279 STR R1, [R0, #PMC_MCKR]
280 ENDIF
281
282
283
284
FFFFFF00 285 MC_BASE EQU 0xFFFFFF00
0000 286 MC_RCR EQU 0x00
287
288 $if (RAM_INTVEC)
ADR R8, Vectors ; Source
LDR R9, =RAM_BASE ; Destination
LDMIA R8!, {R0-R7} ; Load Vectors
STMIA R9!, {R0-R7} ; Store Vectors
LDMIA R8!, {R0-R7} ; Load Handler Addresses
STMIA R9!, {R0-R7} ; Store Handler Addresses
LDR R0, =MC_BASE
MOV R1, #1
STR R1, [R0, #MC_RCR] ; Remap
$endif
299
300
301
00100080 E59F0000 302 LDR R0, =Top_Stack
303
304
00100084 E321F0DB 305 MSR CPSR_c, #Mode_UND|I_Bit|F_Bit
00100088 E1A0D000 306 MOV SP, R0
0010008C E2400004 307 SUB R0, R0, #UND_Stack_Size
308
309
00100090 E321F0D7 310 MSR CPSR_c, #Mode_ABT|I_Bit|F_Bit
00100094 E1A0D000 311 MOV SP, R0
00100098 E2400004 312 SUB R0, R0, #ABT_Stack_Size
313
314
0010009C E321F0D1 315 MSR CPSR_c, #Mode_FIQ|I_Bit|F_Bit
001000A0 E1A0D000 316 MOV SP, R0
001000A4 E2400004 317 SUB R0, R0, #FIQ_Stack_Size
318
319
001000A8 E321F0D2 320 MSR CPSR_c, #Mode_IRQ|I_Bit|F_Bit
001000AC E1A0D000 321 MOV SP, R0
001000B0 E2400080 322 SUB R0, R0, #IRQ_Stack_Size
AA MACRO ASSEMBLER SAM7S 19/08/06 14:09:44 PAGE 6
323
324
001000B4 E321F0D3 325 MSR CPSR_c, #Mode_SVC|I_Bit|F_Bit
001000B8 E1A0D000 326 MOV SP, R0
001000BC E2400004 327 SUB R0, R0, #SVC_Stack_Size
328
329
001000C0 E321F010 330 MSR CPSR_c, #Mode_USR
001000C4 E1A0D000 331 MOV SP, R0
332
333
001000C8 E59F0000 334 LDR R0,=?C?INIT
001000CC E3100001 335 TST R0,#1 ; Bit-0 set: main is Thumb
001000D0 E3AFE000 336 LDREQ LR,=exit?A ; ARM Mode
001000D4 E3AFE000 337 LDRNE LR,=exit?T ; Thumb Mode
001000D8 E12FFF10 338 BX R0
339 ENDP
340
341 PUBLIC exit?A
342 exit?A PROC CODE32
001000DC EAFFFFFE 343 B exit?A
344 ENDP
345
346 PUBLIC exit?T
347 exit?T PROC CODE16
001000E0 E7FE 348 B exit?T
349 ENDP
350
351 END
AA MACRO ASSEMBLER SAM7S 19/08/06 14:09:44 PAGE 7
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C?INIT. . . . . . C ADDR ------- EXT
ABT_Stack_Size . . -- ---- 0004H A
CODE_BASE. . . . . -- ---- 100000H A
DAbt_Addr. . . . . C ADDR 100030H R SEG=STARTUPCODE
DAbt_Handler?A . . C ADDR ------- EXT
EFC_BASE . . . . . -- ---- FFFFFF00H A
EFC_FMR. . . . . . -- ---- 0060H A
EFC_FMR_Val. . . . -- ---- 320100H A
EFC_SETUP. . . . . -- ---- 0001H A
FIQ_Addr . . . . . C ADDR 10003CH R SEG=STARTUPCODE
FIQ_Stack_Size . . -- ---- 0004H A
FLASH_BASE . . . . -- ---- 100000H A
F_Bit. . . . . . . -- ---- 0040H A
IRQ_Addr . . . . . C ADDR 100038H R SEG=STARTUPCODE
IRQ_Stack_Size . . -- ---- 0080H A
I_Bit. . . . . . . -- ---- 0080H A
MC_BASE. . . . . . -- ---- FFFFFF00H A
MC_RCR . . . . . . -- ---- 0000H A
MOSCS_Loop . . . . C ADDR 100058H R SEG=STARTUPCODE
Mode_ABT . . . . . -- ---- 0017H A
Mode_FIQ . . . . . -- ---- 0011H A
Mode_IRQ . . . . . -- ---- 0012H A
Mode_SVC . . . . . -- ---- 0013H A
Mode_SYS . . . . . -- ---- 001FH A
Mode_UND . . . . . -- ---- 001BH A
Mode_USR . . . . . -- ---- 0010H A
PAbt_Addr. . . . . C ADDR 10002CH R SEG=STARTUPCODE
PAbt_Handler?A . . C ADDR ------- EXT
PLL_Loop . . . . . C ADDR 10006CH R SEG=STARTUPCODE
PMC_BASE . . . . . -- ---- FFFFFC00H A
PMC_CSS. . . . . . -- ---- 0003H A
PMC_DIV. . . . . . -- ---- 00FFH A
PMC_LOCK . . . . . -- ---- 0004H A
PMC_MCFR . . . . . -- ---- 0024H A
PMC_MCKR . . . . . -- ---- 0030H A
PMC_MCKR_Val . . . -- ---- 0007H A
PMC_MOR. . . . . . -- ---- 0020H A
PMC_MOR_Val. . . . -- ---- 0601H A
PMC_MOSCEN . . . . -- ---- 0001H A
PMC_MOSCS. . . . . -- ---- 0001H A
PMC_MUL. . . . . . -- ---- 07FF0000H A
PMC_OSCBYPASS. . . -- ---- 0002H A
PMC_OSCOUNT. . . . -- ---- FF00H A
PMC_OUT. . . . . . -- ---- C000H A
PMC_PLLCOUNT . . . -- ---- 3F00H A
PMC_PLLR . . . . . -- ---- 002CH A
PMC_PLLR_Val . . . -- ---- 191C05H A
PMC_PRES . . . . . -- ---- 001CH A
PMC_SETUP. . . . . -- ---- 0001H A
PMC_SR . . . . . . -- ---- 0068H A
PMC_USBDIV . . . . -- ---- 30000000H A
RAM_BASE . . . . . -- ---- 200000H A
Reset_Addr . . . . C ADDR 100020H R SEG=STARTUPCODE
Reset_Handler. . . C ADDR 100040H R SEG=STARTUPCODE
STACK. . . . . . . D SEG 0490H REL=UNIT, ALN=BYTE
STARTUPCODE. . . . C SEG 1000E2H REL=ABS, ALN=BYTE
SVC_Stack_Size . . -- ---- 0004H A
SWI_Addr . . . . . C ADDR 100028H R SEG=STARTUPCODE
SWI_Handler?A. . . C ADDR ------- EXT
Top_Stack. . . . . D ADDR 0490H R SEG=STACK
AA MACRO ASSEMBLER SAM7S 19/08/06 14:09:44 PAGE 8
UND_Stack_Size . . -- ---- 0004H A
USR_Stack_Size . . -- ---- 0400H A
Undef_Addr . . . . C ADDR 100024H R SEG=STARTUPCODE
Undef_Handler?A. . C ADDR ------- EXT
Vectors. . . . . . C ADDR 100000H R SEG=STARTUPCODE
WDT_BASE . . . . . -- ---- FFFFFD40H A
WDT_MR . . . . . . -- ---- 0004H A
WDT_MR_Val . . . . -- ---- 8000H A
WDT_SETUP. . . . . -- ---- 0000H A
__startup. . . . . C ADDR 100000H R SEG=STARTUPCODE
exit?A . . . . . . C ADDR 1000DCH R SEG=STARTUPCODE
exit?T . . . . . . C ADDR 1000E0H R SEG=STARTUPCODE
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -