📄 led.lst
字号:
ARM COMPILER V2.53, led 06/12/08 09:44:48 PAGE 1
ARM COMPILER V2.53, COMPILATION OF MODULE led
OBJECT MODULE PLACED IN led.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe led.C ARM BROWSE DEBUG TABS(4)
stmt level source
1 #include <LPC214x.H> /* LPC214x definitions */
2
3 const unsigned int LED=(1<<24); //P1.24控制LED,低电平点亮
4 const unsigned int LCD_Light=(1<<25);
5
6 /******长延时********/
7 void DelayNS(unsigned int dly )
8 {
9 1 unsigned int i;
10 1 for(;dly>0;dly--)
11 1 for(i=0;i<10000;i++);
12 1 }
13
14
15 int main (void)
16 {
17 1
18 1 PINSEL2=PINSEL2&(~0x08);
19 1 IO1DIR=LED;
20 1
21 1
22 1 while(1)
23 1 {
24 2
25 2 IO1SET=LED;
26 2 DelayNS(100);
27 2 IO1CLR=LED;
28 2 DelayNS(100);
29 2
30 2 }
31 1 return 0;
32 1 }
ARM COMPILER V2.53, led 06/12/08 09:44:48 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN NUMBER (__startup)
*** PUBLICS:
PUBLIC DelayNS?A
PUBLIC main
PUBLIC LED
PUBLIC LCD_Light
*** DATA SEGMENT '?CON?led':
00000000 LED:
00000000 BEGIN_INIT
00000000 01000000 DD 0x1000000
00000004 END_INIT
00000004 LCD_Light:
00000004 BEGIN_INIT
00000004 02000000 DD 0x2000000
00000008 END_INIT
*** CODE SEGMENT '?PR?DelayNS?A?led':
7: void DelayNS(unsigned int dly )
00000000 ---- Variable 'dly' assigned to Register 'R0' ----
8: {
00000000 ; SCOPE-START
10: for(;dly>0;dly--)
00000000 EA000006 B L_3 ; Targ=0x20
11: for(i=0;i<10000;i++);
00000004 L_10:
00000004 E3A01000 MOV R1,#0x0
00000008 ---- Variable 'i' assigned to Register 'R1' ----
00000008 L_6:
00000008 E2811001 ADD R1,R1,#0x0001 ; i
0000000C E1A02001 MOV R2,R1 ; i
00000010 E5103000 LDR R3,=0x2710
00000014 E1520003 CMP R2,R3 ; i
00000018 3AFFFFFA BCC L_6 ; Targ=0x8
0000001C E2400001 SUB R0,R0,#0x0001 ; dly
00000020 L_3:
00000020 E1A01000 MOV R1,R0 ; dly
00000024 E3510000 CMP R1,#0x0000 ; dly
00000028 8AFFFFF5 BHI L_10 ; Targ=0x4
0000002C ; SCOPE-END
12: }
0000002C E12FFF1E BX R14
00000030 ENDP ; 'DelayNS?A'
*** CODE SEGMENT '?PR?main?led':
15: int main (void)
00000000 E92D4000 STMDB R13!,{LR}
18: PINSEL2=PINSEL2&(~0x08);
00000004 E5100000 LDR R0,=0xE002C014
00000008 E5901000 LDR R1,[R0,#0x0]
0000000C E3C11008 BIC R1,R1,#0x0008
00000010 E5100000 LDR R0,=0xE002C014
00000014 E5801000 STR R1,[R0,#0x0]
19: IO1DIR=LED;
00000018 E5100000 LDR R0,=LED ; LED
0000001C E5901000 LDR R1,[R0,#0x0] ; LED
00000020 E5100000 LDR R0,=0xE0028018
00000024 E5801000 STR R1,[R0,#0x0]
22: while(1)
00000028 L_13:
25: IO1SET=LED;
00000028 E5100000 LDR R0,=LED ; LED
ARM COMPILER V2.53, led 06/12/08 09:44:48 PAGE 3
0000002C E5901000 LDR R1,[R0,#0x0] ; LED
00000030 E5100000 LDR R0,=0xE0028014
00000034 E5801000 STR R1,[R0,#0x0]
26: DelayNS(100);
00000038 E3A00064 MOV R0,#0x64
0000003C EBFFFFEF BL DelayNS?A ; Targ=0x0
27: IO1CLR=LED;
00000040 E5100000 LDR R0,=LED ; LED
00000044 E5901000 LDR R1,[R0,#0x0] ; LED
00000048 E5100000 LDR R0,=0xE002801C
0000004C E5801000 STR R1,[R0,#0x0]
28: DelayNS(100);
00000050 E3A00064 MOV R0,#0x64
00000054 EBFFFFE9 BL DelayNS?A ; Targ=0x0
30: }
00000058 EAFFFFF2 B L_13 ; Targ=0x28
0000005C E8BD0008 LDMIA R13!,{R3}
00000060 E12FFF13 BX R3
00000064 ENDP ; 'main'
Module Information Static
----------------------------------
code size = ------
data size = ------
const size = 8
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -