📄 led.lst
字号:
ARM COMPILER V2.51a, led 16/08/06 10:23:47 PAGE 1
ARM COMPILER V2.51a, COMPILATION OF MODULE led
OBJECT MODULE PLACED IN led.OBJ
COMPILER INVOKED BY: D:\Program Files\ARM\BIN\CA.exe led.c THUMB BROWSE DEBUG TABS(4)
stmt level source
1 /************************************************************/
2 /* 程序说明:LED1,LDE2,LDE3依次亮灭
3 /************************************************************/
4 #include "at91sam7s64.h"
5
6
7 void delay(unsigned long int i)
8 {
9 1 for(;i>0;i--)
10 1 ;
11 1
12 1 }
13 void led()
14 {
15 1 *AT91C_PIOA_CODR=0x00000001; //PIOA0输出低电平
16 1 delay(6000000);
17 1
18 1 *AT91C_PIOA_SODR=0x00000001; //PIOA0输出高电平
19 1 delay(6000000);
20 1 *AT91C_PIOA_CODR=0x00000002;
21 1 delay(6000000);
22 1 *AT91C_PIOA_SODR=0x00000002;
23 1 delay(6000000);
24 1
25 1
26 1 *AT91C_PIOA_CODR=0x00000004;
27 1 delay(6000000);
28 1 *AT91C_PIOA_SODR=0x00000004;
29 1 delay(6000000);
30 1
31 1 }
32
33
34 void port_init()
35 {
36 1 *AT91C_PIOA_PER=0x0000000F; //PIOA0-2作为I/O使用
37 1 *AT91C_PIOA_OER=0x0000000F; //PIOA0-2输出使能
38 1
39 1 }
40
41 void main(void)
42 {
43 1 port_init();
44 1
45 1 while(1)
46 1 {
47 2 led();
48 2 }
49 1
50 1
51 1
52 1
53 1
54 1 }
ARM COMPILER V2.51a, led 16/08/06 10:23:47 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN NUMBER (__startup)
*** PUBLICS:
PUBLIC delay?T
PUBLIC led?T
PUBLIC port_init?T
PUBLIC main
*** CODE SEGMENT '?PR?delay?T?led':
7: void delay(unsigned long int i)
00000000 ---- Variable 'i' assigned to Register 'R0' ----
9: for(;i>0;i--)
00000000 E000 B L_3 ; T=0x00000004
10: ;
00000002 L_1:
00000002 3801 SUB R0,#0x1
00000004 L_3:
00000004 1C01 MOV R1,R0 ; i
00000006 2900 CMP R1,#0x0 ; i
00000008 D8FB BHI L_1 ; T=0x00000002
12: }
0000000A 4770 BX R14
0000000C ENDP ; 'delay?T'
*** CODE SEGMENT '?PR?led?T?led':
13: void led()
00000000 B500 PUSH {LR}
15: *AT91C_PIOA_CODR=0x00000001; //PIOA0输出低电平
00000002 2101 MOV R1,#0x1
00000004 4800 LDR R0,=0xFFFFF434
00000006 6001 STR R1,[R0,#0x0]
16: delay(6000000);
00000008 4800 LDR R0,=0x5B8D80
0000000A F7FF BL delay?T ; T=0x0001 (1)
0000000C FFF9 BL delay?T ; T=0x0001 (2)
18: *AT91C_PIOA_SODR=0x00000001; //PIOA0输出高电平
0000000E 2101 MOV R1,#0x1
00000010 4800 LDR R0,=0xFFFFF430
00000012 6001 STR R1,[R0,#0x0]
19: delay(6000000);
00000014 4800 LDR R0,=0x5B8D80
00000016 F7FF BL delay?T ; T=0x0001 (1)
00000018 FFF3 BL delay?T ; T=0x0001 (2)
20: *AT91C_PIOA_CODR=0x00000002;
0000001A 2102 MOV R1,#0x2
0000001C 4800 LDR R0,=0xFFFFF434
0000001E 6001 STR R1,[R0,#0x0]
21: delay(6000000);
00000020 4800 LDR R0,=0x5B8D80
00000022 F7FF BL delay?T ; T=0x0001 (1)
00000024 FFED BL delay?T ; T=0x0001 (2)
22: *AT91C_PIOA_SODR=0x00000002;
00000026 2102 MOV R1,#0x2
00000028 4800 LDR R0,=0xFFFFF430
0000002A 6001 STR R1,[R0,#0x0]
23: delay(6000000);
0000002C 4800 LDR R0,=0x5B8D80
0000002E F7FF BL delay?T ; T=0x0001 (1)
00000030 FFE7 BL delay?T ; T=0x0001 (2)
26: *AT91C_PIOA_CODR=0x00000004;
00000032 2104 MOV R1,#0x4
00000034 4800 LDR R0,=0xFFFFF434
00000036 6001 STR R1,[R0,#0x0]
ARM COMPILER V2.51a, led 16/08/06 10:23:47 PAGE 3
27: delay(6000000);
00000038 4800 LDR R0,=0x5B8D80
0000003A F7FF BL delay?T ; T=0x0001 (1)
0000003C FFE1 BL delay?T ; T=0x0001 (2)
28: *AT91C_PIOA_SODR=0x00000004;
0000003E 2104 MOV R1,#0x4
00000040 4800 LDR R0,=0xFFFFF430
00000042 6001 STR R1,[R0,#0x0]
29: delay(6000000);
00000044 4800 LDR R0,=0x5B8D80
00000046 F7FF BL delay?T ; T=0x0001 (1)
00000048 FFDB BL delay?T ; T=0x0001 (2)
31: }
0000004A BC08 POP {R3}
0000004C 4718 BX R3
0000004E ENDP ; 'led?T'
*** CODE SEGMENT '?PR?port_init?T?led':
36: *AT91C_PIOA_PER=0x0000000F; //PIOA0-2作为I/O使用
00000000 210F MOV R1,#0xF
00000002 4800 LDR R0,=0xFFFFF400
00000004 6001 STR R1,[R0,#0x0]
37: *AT91C_PIOA_OER=0x0000000F; //PIOA0-2输出使能
00000006 4800 LDR R0,=0xFFFFF410
00000008 6001 STR R1,[R0,#0x0]
39: }
0000000A 4770 BX R14
0000000C ENDP ; 'port_init?T'
*** CODE SEGMENT '?PR?main?led':
41: void main(void)
00000000 B500 PUSH {LR}
43: port_init();
00000002 F7FF BL port_init?T ; T=0x0001 (1)
00000004 FFFD BL port_init?T ; T=0x0001 (2)
45: while(1)
00000006 L_8:
47: led();
00000006 F7FF BL led?T ; T=0x0001 (1)
00000008 FFFB BL led?T ; T=0x0001 (2)
48: }
0000000A E7FC B L_8 ; T=0x00000006
0000000C BC08 POP {R3}
0000000E 4718 BX R3
00000010 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 + -