📄 hello.lst
字号:
ARM COMPILER V2.53, Hello 02/08/06 14:03:11 PAGE 1
ARM COMPILER V2.53, COMPILATION OF MODULE Hello
OBJECT MODULE PLACED IN .\Obj\Hello.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe Hello.c THUMB OPTIMIZE(7,SPEED) BROWSE DEBUG PRINT(.\LST\HELLO.LST) TABS(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 RxD0 and TxD0 */
21 1 U1LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */
22 1
23 1 U1DLL = 18; /* 9600 Baud Rate @ 11.0592/4 MHz VPB Clock */
24 1 U1LCR = 0x03; /* DLAB = 0 */
25 1
26 1 while (!(U1LSR & 0x20));
27 1 return (U1THR = 0x00);
28 1
29 1 while (1) { /* An embedded program does not stop and */
30 2 ; /* ... */ /* never returns. We've used an endless */
31 2 } /* loop. You may wish to put in your own */
32 1 } /* code were we've printed the dots (...). */
ARM COMPILER V2.53, Hello 02/08/06 14:03:11 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN NUMBER (__startup)
*** PUBLICS:
PUBLIC main
*** CODE SEGMENT '?PR?main?Hello':
17: int main (void) { /* execution starts here */
00000000 B500 PUSH {LR}
20: PINSEL0 = 0x00050000; /* Enable RxD0 and TxD0 */
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]
23: U1DLL = 18; /* 9600 Baud Rate @ 11.0592/4 MHz VPB Clock */
0000000E 2112 MOV R1,#0x12
00000010 4800 LDR R0,=0xE0010000
00000012 7001 STRB R1,[R0,#0x0]
24: U1LCR = 0x03; /* DLAB = 0 */
00000014 2103 MOV R1,#0x3
00000016 4800 LDR R0,=0xE001000C
00000018 7001 STRB R1,[R0,#0x0]
26: while (!(U1LSR & 0x20));
0000001A L_1:
0000001A 4800 LDR R0,=0xE0010014
0000001C 7800 LDRB R0,[R0,#0x0]
0000001E 2120 MOV R1,#0x20
00000020 4208 TST R0,R1
00000022 D0FA BEQ L_1 ; T=0x0000001A
27: return (U1THR = 0x00);
00000024 2100 MOV R1,#0x0
00000026 4800 LDR R0,=0xE0010000
00000028 7001 STRB R1,[R0,#0x0]
0000002A 2000 MOV R0,#0x0
32: } /* code were we've printed the dots (...). */
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 + -