?? blinky.lst
字號:
ARM COMPILER V2.53, blinky 22/07/06 14:52:45 PAGE 1
ARM COMPILER V2.53, COMPILATION OF MODULE blinky
OBJECT MODULE PLACED IN blinky.OBJ
COMPILER INVOKED BY: d:\Keil\ARM\BIN\CA.exe blinky.c THUMB 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
5 /******長延時********/
6 void DelayNS(unsigned int dly )
7 {
8 1 unsigned int i;
9 1 for(;dly>0;dly--)
10 1 for(i=0;i<50000;i++);
11 1 }
12
13
14 int main (void)
15 {
16 1
17 1 PINSEL2=PINSEL2&(~0x08);
18 1 IO1DIR=LED;
19 1
20 1 while(1)
21 1 {
22 2
23 2 IO1SET=LED;
24 2 DelayNS(50);
25 2 IO1CLR=LED;
26 2 DelayNS(50);
27 2
28 2 }
29 1 return 0;
30 1 }
ARM COMPILER V2.53, blinky 22/07/06 14:52:45 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN NUMBER (__startup)
*** PUBLICS:
PUBLIC DelayNS?T
PUBLIC main
PUBLIC LED
*** DATA SEGMENT '?CON?blinky':
00000000 LED:
00000000 BEGIN_INIT
00000000 01000000 DD 0x1000000
00000004 END_INIT
*** CODE SEGMENT '?PR?DelayNS?T?blinky':
6: void DelayNS(unsigned int dly )
00000000 ---- Variable 'dly' assigned to Register 'R0' ----
7: {
00000000 ; SCOPE-START
9: for(;dly>0;dly--)
00000000 E006 B L_3 ; T=0x00000010
10: for(i=0;i<50000;i++);
00000002 L_10:
00000002 2100 MOV R1,#0x0
00000004 ---- Variable 'i' assigned to Register 'R1' ----
00000004 L_6:
00000004 3101 ADD R1,#0x1
00000006 1C0A MOV R2,R1 ; i
00000008 4800 LDR R3,=0xC350
0000000A 429A CMP R2,R3 ; i
0000000C D3FA BCC L_6 ; T=0x00000004
0000000E 3801 SUB R0,#0x1
00000010 L_3:
00000010 1C01 MOV R1,R0 ; dly
00000012 2900 CMP R1,#0x0 ; dly
00000014 D8F5 BHI L_10 ; T=0x00000002
00000016 ; SCOPE-END
11: }
00000016 4770 BX R14
00000018 ENDP ; 'DelayNS?T'
*** CODE SEGMENT '?PR?main?blinky':
14: int main (void)
00000000 B500 PUSH {LR}
17: PINSEL2=PINSEL2&(~0x08);
00000002 4800 LDR R0,=0xE002C014
00000004 6801 LDR R1,[R0,#0x0]
00000006 2008 MOV R0,#0x8
00000008 4381 BIC R1,R0
0000000A 4800 LDR R0,=0xE002C014
0000000C 6001 STR R1,[R0,#0x0]
18: IO1DIR=LED;
0000000E 4800 LDR R0,=LED ; LED
00000010 6801 LDR R1,[R0,#0x0] ; LED
00000012 4800 LDR R0,=0xE0028018
00000014 6001 STR R1,[R0,#0x0]
20: while(1)
00000016 L_13:
23: IO1SET=LED;
00000016 4800 LDR R0,=LED ; LED
00000018 6801 LDR R1,[R0,#0x0] ; LED
0000001A 4800 LDR R0,=0xE0028014
0000001C 6001 STR R1,[R0,#0x0]
24: DelayNS(50);
ARM COMPILER V2.53, blinky 22/07/06 14:52:45 PAGE 3
0000001E 2032 MOV R0,#0x32
00000020 F7FF BL DelayNS?T ; T=0x0001 (1)
00000022 FFEE BL DelayNS?T ; T=0x0001 (2)
25: IO1CLR=LED;
00000024 4800 LDR R0,=LED ; LED
00000026 6801 LDR R1,[R0,#0x0] ; LED
00000028 4800 LDR R0,=0xE002801C
0000002A 6001 STR R1,[R0,#0x0]
26: DelayNS(50);
0000002C 2032 MOV R0,#0x32
0000002E F7FF BL DelayNS?T ; T=0x0001 (1)
00000030 FFE7 BL DelayNS?T ; T=0x0001 (2)
28: }
00000032 E7F0 B L_13 ; T=0x00000016
00000034 BC08 POP {R3}
00000036 4718 BX R3
00000038 ENDP ; 'main'
Module Information Static
----------------------------------
code size = ------
data size = ------
const size = 4
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -