📄 led.lst
字号:
###############################################################################
# #
# 18/Apr/2009 12:13:10 #
# IAR ARM ANSI C/C++ Compiler V5.11.0.30622/W32 KICKSTART #
# Copyright 1999-2007 IAR Systems. All rights reserved. #
# #
# Cpu mode = thumb #
# Endian = little #
# Source file = J:\IAR5\LPC2148_UART\src\led.c #
# Command line = J:\IAR5\LPC2148_UART\src\led.c -lCN #
# J:\IAR5\LPC2148_UART\Debug\List\ -o #
# J:\IAR5\LPC2148_UART\Debug\Obj\ --no_cse --no_unroll #
# --no_inline --no_code_motion --no_tbaa --no_clustering #
# --no_scheduling --debug --endian little --cpu #
# ARM7TDMI-S -e --fpu None --dlib_config "C:\Program #
# Files\IAR Systems\Embedded Workbench 5.0 #
# Kickstart\ARM\INC\DLib_Config_Normal.h" -I #
# J:\IAR5\LPC2148_UART\include\ -I "C:\Program Files\IAR #
# Systems\Embedded Workbench 5.0 Kickstart\ARM\INC\" #
# --interwork --cpu_mode thumb -Ol #
# List file = J:\IAR5\LPC2148_UART\Debug\List\led.lst #
# Object file = J:\IAR5\LPC2148_UART\Debug\Obj\led.o #
# #
# #
###############################################################################
J:\IAR5\LPC2148_UART\src\led.c
1 //led.c
2 #include <iolpc2148.h>
3 #include "led.h"
4
\ In section .text, align 4, keep-with-next
5 void Delay (unsigned long a) { // 简单延时
\ Delay:
\ 00000000 01B5 PUSH {R0,LR}
6 while (--a!=0);
\ ??Delay_0:
\ 00000002 401E SUBS R0,R0,#+1
\ 00000004 0028 CMP R0,#+0
\ 00000006 FCD1 BNE ??Delay_0
7 }
\ 00000008 08BC POP {R3}
\ 0000000A 01BC POP {R0}
\ 0000000C 0047 BX R0 ;; return
8
\ In section .text, align 4, keep-with-next
9 void LedsInit(void) { // 初始化led端口
10 IO0DIR_bit.P0_25 = 1; // port0.25设为输出
\ LedsInit:
\ 00000000 0A48 LDR R0,??LedsInit_0 ;; 0xe0028008
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 8021 MOVS R1,#+128
\ 00000006 8904 LSLS R1,R1,#+18 ;; #+33554432
\ 00000008 0143 ORRS R1,R1,R0
\ 0000000A 0848 LDR R0,??LedsInit_0 ;; 0xe0028008
\ 0000000C 0160 STR R1,[R0, #+0]
11 IO0DIR_bit.P0_28 = 1; // port0.28设为输出
\ 0000000E 0748 LDR R0,??LedsInit_0 ;; 0xe0028008
\ 00000010 0068 LDR R0,[R0, #+0]
\ 00000012 8021 MOVS R1,#+128
\ 00000014 4905 LSLS R1,R1,#+21 ;; #+268435456
\ 00000016 0143 ORRS R1,R1,R0
\ 00000018 0448 LDR R0,??LedsInit_0 ;; 0xe0028008
\ 0000001A 0160 STR R1,[R0, #+0]
12 IO0DIR_bit.P0_31 = 1; // port0.31设为输出
\ 0000001C 0348 LDR R0,??LedsInit_0 ;; 0xe0028008
\ 0000001E 0068 LDR R0,[R0, #+0]
\ 00000020 8021 MOVS R1,#+128
\ 00000022 0906 LSLS R1,R1,#+24 ;; #-2147483648
\ 00000024 0143 ORRS R1,R1,R0
\ 00000026 0148 LDR R0,??LedsInit_0 ;; 0xe0028008
\ 00000028 0160 STR R1,[R0, #+0]
13 }
\ 0000002A 7047 BX LR ;; return
\ ??LedsInit_0:
\ 0000002C 088002E0 DC32 0xe0028008
\ 00000030 REQUIRE _A_IO0DIR
14
\ In section .text, align 4, keep-with-next
15 void Led1Blink(void) { // led1快闪
\ Led1Blink:
\ 00000000 01B5 PUSH {R0,LR}
16 IO0CLR_bit.P0_25 = 1; // 点亮led1
\ 00000002 .... LDR R0,??DataTable9 ;; 0xe002800c
\ 00000004 0068 LDR R0,[R0, #+0]
\ 00000006 8021 MOVS R1,#+128
\ 00000008 8904 LSLS R1,R1,#+18 ;; #+33554432
\ 0000000A 0143 ORRS R1,R1,R0
\ 0000000C .... LDR R0,??DataTable9 ;; 0xe002800c
\ 0000000E 0160 STR R1,[R0, #+0]
17 IO0CLR_bit.P0_28 = 1; // 点亮led1
\ 00000010 .... LDR R0,??DataTable9 ;; 0xe002800c
\ 00000012 0068 LDR R0,[R0, #+0]
\ 00000014 8021 MOVS R1,#+128
\ 00000016 4905 LSLS R1,R1,#+21 ;; #+268435456
\ 00000018 0143 ORRS R1,R1,R0
\ 0000001A .... LDR R0,??DataTable9 ;; 0xe002800c
\ 0000001C 0160 STR R1,[R0, #+0]
18 Delay(500000); // 延时
\ 0000001E 0B48 LDR R0,??Led1Blink_0 ;; 0x7a120
\ 00000020 ........ BL Delay
19 IO0SET_bit.P0_25 = 1; // 关闭led1
\ 00000024 .... LDR R0,??DataTable11 ;; 0xe0028004
\ 00000026 0068 LDR R0,[R0, #+0]
\ 00000028 8021 MOVS R1,#+128
\ 0000002A 8904 LSLS R1,R1,#+18 ;; #+33554432
\ 0000002C 0143 ORRS R1,R1,R0
\ 0000002E .... LDR R0,??DataTable11 ;; 0xe0028004
\ 00000030 0160 STR R1,[R0, #+0]
20 IO0SET_bit.P0_28 = 1; // 关闭led1
\ 00000032 .... LDR R0,??DataTable11 ;; 0xe0028004
\ 00000034 0068 LDR R0,[R0, #+0]
\ 00000036 8021 MOVS R1,#+128
\ 00000038 4905 LSLS R1,R1,#+21 ;; #+268435456
\ 0000003A 0143 ORRS R1,R1,R0
\ 0000003C .... LDR R0,??DataTable11 ;; 0xe0028004
\ 0000003E 0160 STR R1,[R0, #+0]
21 Delay(500000); // 延时
\ 00000040 0248 LDR R0,??Led1Blink_0 ;; 0x7a120
\ 00000042 ........ BL Delay
22 }
\ 00000046 08BC POP {R3}
\ 00000048 01BC POP {R0}
\ 0000004A 0047 BX R0 ;; return
\ ??Led1Blink_0:
\ 0000004C 20A10700 DC32 0x7a120
\ 00000050 REQUIRE _A_IO0SET
\ 00000050 REQUIRE _A_IO0CLR
23
24
\ In section .text, align 4, keep-with-next
25 void Led1On(void) { // 点亮led1
26 IO0CLR_bit.P0_31 = 1;
\ Led1On:
\ 00000000 .... LDR R0,??DataTable9 ;; 0xe002800c
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 8021 MOVS R1,#+128
\ 00000006 0906 LSLS R1,R1,#+24 ;; #-2147483648
\ 00000008 0143 ORRS R1,R1,R0
\ 0000000A .... LDR R0,??DataTable9 ;; 0xe002800c
\ 0000000C 0160 STR R1,[R0, #+0]
27 }
\ 0000000E 7047 BX LR ;; return
\ 00000010 REQUIRE _A_IO0CLR
28
\ In section .text, align 4, keep-with-next
29 void Led1Off(void) { // 关闭led1
30 IO0SET_bit.P0_25 = 1;
\ Led1Off:
\ 00000000 .... LDR R0,??DataTable11 ;; 0xe0028004
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 8021 MOVS R1,#+128
\ 00000006 8904 LSLS R1,R1,#+18 ;; #+33554432
\ 00000008 0143 ORRS R1,R1,R0
\ 0000000A .... LDR R0,??DataTable11 ;; 0xe0028004
\ 0000000C 0160 STR R1,[R0, #+0]
31 }
\ 0000000E 7047 BX LR ;; return
\ 00000010 REQUIRE _A_IO0SET
\ In section .text, align 4, keep-with-next
\ ??DataTable9:
\ 00000000 0C8002E0 DC32 0xe002800c
\ In section .text, align 4, keep-with-next
\ ??DataTable11:
\ 00000000 048002E0 DC32 0xe0028004
32
33
Maximum stack usage in bytes:
Function .cstack
-------- -------
Delay 8
Led1Blink 8
Led1Off 0
Led1On 0
LedsInit 0
Section sizes:
Function/Label Bytes
-------------- -----
Delay 14
LedsInit 48
Led1Blink 80
Led1On 16
Led1Off 16
??DataTable9 4
??DataTable11 4
182 bytes in section .text
182 bytes of CODE memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -