?? hello.lst
字號:
ARM COMPILER V2.53, Hello 13/04/08 15:58:03 PAGE 1
ARM COMPILER V2.53, COMPILATION OF MODULE Hello
OBJECT MODULE PLACED IN .\Obj\Hello.obj
COMPILER INVOKED BY: E:\Program Files\keil\ARM\BIN\CA.exe Hello.c THUMB OPTIMIZE(7,SPEED) DEBUG PRINT(.\LST\HELLO.LST) T
-ABS(4) OBJECT(.\Obj\Hello.obj)
stmt level source
1 /******************************************************************************/
2 /* This file is part of the uVision/ARM development tools */
3 /* Copyright KEIL ELEKTRONIK GmbH 2002-2004 */
4 /******************************************************************************/
5 /* */
6 /* HELLO.C: Hello World Example */
7 /* */
8 /******************************************************************************/
9
10 #include <stdio.h> /* prototype declarations for I/O functions */
11 #include <LPC21xx.H> /* LPC21xx definitions */
12
13
14 /****************/
15 /* main program */
16 /****************/
17 int main (void) { /* execution starts here */
18 1
19 1 /* initialize the serial interface */
20 1 PINSEL0 = 0x00050000; /* Enable RxD1 and TxD1 */
21 1 U1LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */
22 1 U1DLL = 97; /* 9600 Baud Rate @ 15MHz VPB Clock */
23 1 U1LCR = 0x03; /* DLAB = 0 */
24 1
25 1 printf ("Hello World65\n"); /* the 'printf' function call */
26 1
27 1 while (1) { /* An embedded program does not stop and */
28 2 ; /* ... */ /* never returns. We've used an endless */
29 2 } /* loop. You may wish to put in your own */
30 1 } /* code were we've printed the dots (...). */
ARM COMPILER V2.53, Hello 13/04/08 15:58:03 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN CODE16 (printf?T)
EXTERN NUMBER (__startup)
*** PUBLICS:
PUBLIC main
*** DATA SEGMENT '?CON?Hello':
00000000 ??S_1:
00000000 DB 'Hello World65',0x0A,0x00
*** CODE SEGMENT '?PR?main?Hello':
17: int main (void) { /* execution starts here */
00000000 B500 PUSH {LR}
20: PINSEL0 = 0x00050000; /* Enable RxD1 and TxD1 */
00000002 4800 LDR R1,=0x50000
00000004 4800 LDR R0,=0xE002C000
00000006 6001 STR R1,[R0,#0x0]
21: U1LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */
00000008 2183 MOV R1,#0x83
0000000A 4800 LDR R0,=0xE001000C
0000000C 7001 STRB R1,[R0,#0x0]
22: U1DLL = 97; /* 9600 Baud Rate @ 15MHz VPB Clock */
0000000E 2161 MOV R1,#0x61
00000010 4800 LDR R0,=0xE0010000
00000012 7001 STRB R1,[R0,#0x0]
23: U1LCR = 0x03; /* DLAB = 0 */
00000014 2103 MOV R1,#0x3
00000016 4800 LDR R0,=0xE001000C
00000018 7001 STRB R1,[R0,#0x0]
25: printf ("Hello World65\n"); /* the 'printf' function call */
0000001A 4800 LDR R0,=??S_1 ; ??S_1
0000001C F7FF BL printf?T ; T=0x0001 (1)
0000001E FFF0 BL printf?T ; T=0x0001 (2)
29: } /* loop. You may wish to put in your own */
00000020 L_1:
00000020 E7FE B L_1 ; T=0x00000020
30: } /* code were we've printed the dots (...). */
00000022 BC08 POP {R3}
00000024 4718 BX R3
00000026 ENDP ; 'main'
Module Information Static
----------------------------------
code size = ------
data size = ------
const size = 15
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -