📄 sam7s.lst
字号:
00100018 E51FFF20 233 LDR PC,[PC,#-0xF20]
234 ; LDR PC,FIQ_Addr
0010001C E51FFF20 235 LDR PC,[PC,#-0xF20]
236
00100020 00100040 R 237 Reset_Addr: DD Reset_Handler
00100024 00000000 E 238 Undef_Addr: DD Undef_Handler?A
00100028 00000000 E 239 SWI_Addr: DD SWI_Handler?A
0010002C 00000000 E 240 PAbt_Addr: DD PAbt_Handler?A
00100030 00000000 E 241 DAbt_Addr: DD DAbt_Handler?A
00100034 00000000 242 DD 0
243 ;IRQ_Addr: DD IRQ_Handler?A
00100038 00000000 244 IRQ_Addr: DD 0
245 ;FIQ_Addr: DD FIQ_Handler?A
0010003C 00000000 246 FIQ_Addr: DD 0
247
248
249
250
00100040 251 Reset_Handler:
252
253
254
255 IF (RSTC_SETUP != 0)
00100040 E59F0028 256 LDR R0, =RSTC_BASE
AA MACRO ASSEMBLER RSAM7S 20/12/05 15:29:58 PAGE 5
00100044 E59F1028 257 LDR R1, =RSTC_MR_Val
00100048 E5801008 258 STR R1, [R0, #RSTC_MR]
259 ENDIF
260
261
262
263 IF (EFC_SETUP != 0)
0010004C E3E000FF 264 LDR R0, =EFC_BASE
00100050 E59F1028 265 LDR R1, =EFC_FMR_Val
00100054 E5801060 266 STR R1, [R0, #EFC_FMR]
267 ENDIF
268
269
270
271 IF (WDT_SETUP != 0)
00100058 E59F0028 272 LDR R0, =WDT_BASE
0010005C E3A01902 273 LDR R1, =WDT_MR_Val
00100060 E5801004 274 STR R1, [R0, #WDT_MR]
275 ENDIF
276
277
278
279 IF (PMC_SETUP != 0)
00100064 E59F0028 280 LDR R0, =PMC_BASE
281
282
00100068 E59F1028 283 LDR R1, =PMC_MOR_Val
0010006C E5801020 284 STR R1, [R0, #PMC_MOR]
285
286
287 IF ((PMC_MOR_Val & PMC_MOSCEN) != 0)
00100070 E5902068 288 MOSCS_Loop: LDR R2, [R0, #PMC_SR]
00100074 E2122001 289 ANDS R2, R2, #PMC_MOSCS
00100078 0AFFFFFC 290 BEQ MOSCS_Loop
291 ENDIF
292
293
294 IF ((PMC_PLLR_Val & PMC_MUL) != 0)
0010007C E59F1028 295 LDR R1, =PMC_PLLR_Val
00100080 E580102C 296 STR R1, [R0, #PMC_PLLR]
297
298
00100084 E5902068 299 PLL_Loop: LDR R2, [R0, #PMC_SR]
00100088 E2122004 300 ANDS R2, R2, #PMC_LOCK
0010008C 0AFFFFFC 301 BEQ PLL_Loop
302 ENDIF
303
304
00100090 E3A01007 305 LDR R1, =PMC_MCKR_Val
00100094 E5801030 306 STR R1, [R0, #PMC_MCKR]
307 ENDIF
308
309
310
311
312 $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
$endif
320
321
322
AA MACRO ASSEMBLER RSAM7S 20/12/05 15:29:58 PAGE 6
323
FFFFFF00 324 MC_BASE EQU 0xFFFFFF00
0000 325 MC_RCR EQU 0x00
326
327 $if (REMAP)
LDR R0, =MC_BASE
MOV R1, #1
STR R1, [R0, #MC_RCR] ; Remap
$endif
332
333
334
00100098 E59F0028 335 LDR R0, =Top_Stack
336
337
0010009C E321F0DB 338 MSR CPSR_c, #Mode_UND|I_Bit|F_Bit
001000A0 E1A0D000 339 MOV SP, R0
001000A4 E2400004 340 SUB R0, R0, #UND_Stack_Size
341
342
001000A8 E321F0D7 343 MSR CPSR_c, #Mode_ABT|I_Bit|F_Bit
001000AC E1A0D000 344 MOV SP, R0
001000B0 E2400004 345 SUB R0, R0, #ABT_Stack_Size
346
347
001000B4 E321F0D1 348 MSR CPSR_c, #Mode_FIQ|I_Bit|F_Bit
001000B8 E1A0D000 349 MOV SP, R0
001000BC E2400004 350 SUB R0, R0, #FIQ_Stack_Size
351
352
001000C0 E321F0D2 353 MSR CPSR_c, #Mode_IRQ|I_Bit|F_Bit
001000C4 E1A0D000 354 MOV SP, R0
001000C8 E2400080 355 SUB R0, R0, #IRQ_Stack_Size
356
357
001000CC E321F0D3 358 MSR CPSR_c, #Mode_SVC|I_Bit|F_Bit
001000D0 E1A0D000 359 MOV SP, R0
001000D4 E2400004 360 SUB R0, R0, #SVC_Stack_Size
361
362
001000D8 E321F010 363 MSR CPSR_c, #Mode_USR
001000DC E1A0D000 364 MOV SP, R0
365
366
001000E0 E59F0028 367 LDR R0,=?C?INIT
001000E4 E3100001 368 TST R0,#1 ; Bit-0 set: main is Thumb
001000E8 E3AFE028 369 LDREQ LR,=exit?A ; ARM Mode
001000EC E3AFE028 370 LDRNE LR,=exit?T ; Thumb Mode
001000F0 E12FFF10 371 BX R0
372 ENDP
373
374 PUBLIC exit?A
375 exit?A PROC CODE32
001000F4 EAFFFFFE 376 B exit?A
377 ENDP
378
379 PUBLIC exit?T
380 exit?T PROC CODE16
001000F8 E7FE 381 B exit?T
382 ENDP
383
384 END
AA MACRO ASSEMBLER RSAM7S 20/12/05 15:29:58 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 100070H 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 100084H 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
RSTC_BASE. . . . . -- ---- FFFFFD00H A
RSTC_MR. . . . . . -- ---- 0008H A
RSTC_MR_Val. . . . -- ---- A5000401H A
RSTC_SETUP . . . . -- ---- 0001H 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 1000FAH REL=ABS, ALN=BYTE
AA MACRO ASSEMBLER RSAM7S 20/12/05 15:29:58 PAGE 8
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
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. . . . . -- ---- 0001H A
__startup. . . . . C ADDR 100000H R SEG=STARTUPCODE
exit?A . . . . . . C ADDR 1000F4H R SEG=STARTUPCODE
exit?T . . . . . . C ADDR 1000F8H R SEG=STARTUPCODE
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -