📄 memory.lst
字号:
ARM COMPILER V2.53, memory 12/06/06 10:18:26 PAGE 1
ARM COMPILER V2.53, 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.10
5 *----------------------------------------------------------------------------
6 * This software is supplied "AS IS" without any warranties, express,
7 * implied or statutory, including but not limited to the implied
8 * warranties of fitness for purpose, satisfactory quality and
9 * noninfringement. Keil extends you a royalty-free right to reproduce
10 * and distribute executable files created using this software for use
11 * on Philips LPC2xxx microcontroller devices only. Nothing else gives
12 * you the right to use this software.
13 *
14 * Copyright (c) 2005-2006 Keil Software.
15 *---------------------------------------------------------------------------*/
16
17 #include <LPC214X.H> /* LPC214x definitions */
18
19 #include "type.h"
20
21 #include "usb.h"
22 #include "usbcfg.h"
23 #include "usbhw.h"
24 #include "usbcore.h"
25 #include "mscuser.h"
26
27 #include "memory.h"
28
29
30 extern BYTE Memory[MSC_MemorySize]; /* MSC Memory in RAM */
31
32
33 /* Main Program */
34
35 int main (void) {
36 1 DWORD n;
37 1
38 1 for (n = 0; n < MSC_ImageSize; n++) { /* Copy Initial Disk Image */
39 2 Memory[n] = DiskImage[n]; /* from Flash to RAM */
40 2 }
41 1
42 1 IODIR1 = LED_MSK; /* LED's defined as Outputs */
43 1
44 1 USB_Init(); /* USB Initialization */
45 1 USB_Connect(TRUE); /* USB Connect */
46 1
47 1 while (1); /* Loop forever */
48 1 }
ARM COMPILER V2.53, memory 12/06/06 10:18:26 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':
35: int main (void) {
00000000 B500 PUSH {LR}
00000002 ; SCOPE-START
38: 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:
39: 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]
40: }
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
42: IODIR1 = LED_MSK; /* LED's defined as Outputs */
0000001A 21FF MOV R1,#0xFF
0000001C 4800 LDR R0,=0xE0028018
0000001E 6001 STR R1,[R0,#0x0]
44: USB_Init(); /* USB Initialization */
00000020 F7FF BL USB_Init?T ; T=0x0001 (1)
00000022 FFEE BL USB_Init?T ; T=0x0001 (2)
45: 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)
47: while (1); /* Loop forever */
0000002A L_6:
0000002A E7FE B L_6 ; T=0x0000002A
0000002C ; SCOPE-END
48: }
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 + -