📄 memory.lst
字号:
ARM COMPILER V2.50a, memory 04/04/06 11:13:57 PAGE 1
ARM COMPILER V2.50a, COMPILATION OF MODULE memory
OBJECT MODULE PLACED IN .\Obj\memory.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe memory.c THUMB DEBUG PRINT(.\LST\MEMORY.LST) TABS(4) OBJECT(.\Obj\memory.obj
-)
stmt level source
1 /*----------------------------------------------------------------------------
2 * Name: MEMORY.C
3 * Purpose: USB Mass Storage Demo
4 * Version: V1.05
5 *---------------------------------------------------------------------------*/
6
7 #include <LPC214X.H> /* LPC214x definitions */
8
9 #include "type.h"
10
11 #include "usb.h"
12 #include "usbcfg.h"
13 #include "usbhw.h"
14 #include "usbcore.h"
15 #include "mscuser.h"
16
17 #include "memory.h"
18
19
20 extern BYTE Memory[MSC_MemorySize]; /* MSC Memory in RAM */
21
22
23 /* Main Program */
24
25 int main (void) {
26 1 DWORD n;
27 1
28 1 for (n = 0; n < MSC_ImageSize; n++) { /* Copy Initial Disk Image */
29 2 Memory[n] = DiskImage[n]; /* from Flash to RAM */
30 2 }
31 1
32 1 IODIR1 = LED_MSK; /* LED's defined as Outputs */
33 1
34 1 USB_Init(); /* USB Initialization */
35 1 USB_Connect(TRUE); /* USB Connect */
36 1
37 1 while (1); /* Loop forever */
38 1 }
ARM COMPILER V2.50a, memory 04/04/06 11:13:57 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN CODE16 (USB_Init?T)
EXTERN CODE16 (USB_Connect?T)
EXTERN DATA (DiskImage)
EXTERN DATA (Memory)
EXTERN NUMBER (__startup)
*** PUBLICS:
PUBLIC main
*** CODE SEGMENT '?PR?main?memory':
25: int main (void) {
00000000 B500 PUSH {LR}
00000002 ; SCOPE-START
28: for (n = 0; n < MSC_ImageSize; n++) { /* Copy Initial Disk Image */
00000002 2000 MOV R0,#0x0
00000004 ---- Variable 'n' assigned to Register 'R0' ----
00000004 L_4:
29: Memory[n] = DiskImage[n]; /* from Flash to RAM */
00000004 1C02 MOV R2,R0 ; n
00000006 4800 LDR R1,=DiskImage ; DiskImage
00000008 5C89 LDRB R1,[R1,R2]
0000000A 1C03 MOV R3,R0 ; n
0000000C 4800 LDR R2,=Memory ; Memory
0000000E 54D1 STRB R1,[R2,R3]
30: }
00000010 3001 ADD R0,#0x1
00000012 1C01 MOV R1,R0 ; n
00000014 4800 LDR R2,=0x1000
00000016 4291 CMP R1,R2 ; n
00000018 D3F4 BCC L_4 ; T=0x00000004
32: IODIR1 = LED_MSK; /* LED's defined as Outputs */
0000001A 4800 LDR R1,=0xFF0000
0000001C 4800 LDR R0,=0xE0028018
0000001E 6001 STR R1,[R0,#0x0]
34: USB_Init(); /* USB Initialization */
00000020 F7FF BL USB_Init?T ; T=0x0001 (1)
00000022 FFEE BL USB_Init?T ; T=0x0001 (2)
35: USB_Connect(TRUE); /* USB Connect */
00000024 2001 MOV R0,#0x1
00000026 F7FF BL USB_Connect?T ; T=0x0001 (1)
00000028 FFEB BL USB_Connect?T ; T=0x0001 (2)
37: while (1); /* Loop forever */
0000002A L_6:
0000002A E7FE B L_6 ; T=0x0000002A
0000002C ; SCOPE-END
38: }
0000002C BC08 POP {R3}
0000002E 4718 BX R3
00000030 ENDP ; 'main'
Module Information Static
----------------------------------
code size = ------
data size = ------
const size = ------
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -