📄 led.lst
字号:
ARM COMPILER V2.42, led 09/12/05 01:08:05 PAGE 1
ARM COMPILER V2.42, COMPILATION OF MODULE led
OBJECT MODULE PLACED IN led.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe led.c THUMB BROWSE DEBUG TABS(4)
stmt level source
1
2 #include "at91sam7s64.h"
3
4
5 void delay(unsigned long int i)
6 {
7 1 for(;i>0;i--)
8 1 ;
9 1
10 1 }
11
12
13 void main(void)
14 {
15 1 *AT91C_PMC_PCER=0x0000000F; //PMC外设时钟使能
16 1 *AT91C_PIOA_PER=0x0000000F; //PIOA0-3作为I/O使用
17 1 *AT91C_PIOA_OER=0x0000000F; //PIOA0-3输出使能
18 1 for(;;)
19 1 {
20 2 unsigned long int i;
21 2 for(i=1;i<=7;i++) //4个LED灯以16进制方式显示0-15
22 2 {
23 3 delay(5000000);
24 3 *AT91C_PIOA_SODR=0x0000000F;
25 3 delay(5000000);
26 3 *AT91C_PIOA_CODR=i;
27 3 }
28 2
29 2 }
30 1
31 1
32 1
33 1 }
ARM COMPILER V2.42, led 09/12/05 01:08:05 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN NUMBER (__startup)
*** PUBLICS:
PUBLIC delay?T
PUBLIC main
*** CODE SEGMENT '?PR?delay?T?led':
5: void delay(unsigned long int i)
00000000 ---- Variable 'i' assigned to Register 'R0' ----
7: for(;i>0;i--)
00000000 E000 B L_3 ; T=0x00000004
8: ;
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
10: }
0000000A 4770 BX R14
0000000C ENDP ; 'delay?T'
*** CODE SEGMENT '?PR?main?led':
13: void main(void)
00000000 B500 PUSH {LR}
15: *AT91C_PMC_PCER=0x0000000F; //PMC外设时钟使能
00000002 210F MOV R1,#0xF
00000004 4800 LDR R0,=0xFFFFFC10
00000006 6001 STR R1,[R0,#0x0]
16: *AT91C_PIOA_PER=0x0000000F; //PIOA0-3作为I/O使用
00000008 4800 LDR R0,=0xFFFFF400
0000000A 6001 STR R1,[R0,#0x0]
17: *AT91C_PIOA_OER=0x0000000F; //PIOA0-3输出使能
0000000C 4800 LDR R0,=0xFFFFF410
0000000E 6001 STR R1,[R0,#0x0]
19: {
00000010 ; SCOPE-START
21: for(i=1;i<=7;i++) //4个LED灯以16进制方式显示0-15
00000010 L_15:
00000010 2201 MOV R2,#0x1
00000012 ---- Variable 'i' assigned to Register 'R2' ----
00000012 L_14:
23: delay(5000000);
00000012 4800 LDR R0,=0x4C4B40
00000014 F7FF BL delay?T ; T=0x0001 (1)
00000016 FFF4 BL delay?T ; T=0x0001 (2)
24: *AT91C_PIOA_SODR=0x0000000F;
00000018 210F MOV R1,#0xF
0000001A 4800 LDR R0,=0xFFFFF430
0000001C 6001 STR R1,[R0,#0x0]
25: delay(5000000);
0000001E 4800 LDR R0,=0x4C4B40
00000020 F7FF BL delay?T ; T=0x0001 (1)
00000022 FFEE BL delay?T ; T=0x0001 (2)
26: *AT91C_PIOA_CODR=i;
00000024 1C11 MOV R1,R2 ; i
00000026 4800 LDR R0,=0xFFFFF434
00000028 6001 STR R1,[R0,#0x0]
27: }
0000002A 3201 ADD R2,#0x1
0000002C 1C10 MOV R0,R2 ; i
0000002E 2807 CMP R0,#0x7 ; i
00000030 D9EF BLS L_14 ; T=0x00000012
ARM COMPILER V2.42, led 09/12/05 01:08:05 PAGE 3
00000032 ; SCOPE-END
29: }
00000032 E7ED B L_15 ; T=0x00000010
00000034 BC08 POP {R3}
00000036 4718 BX R3
00000038 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 + -