wdttest.lst
来自「LPC214X系列ARM在KEIL编译环境下的所以例程」· LST 代码 · 共 144 行
LST
144 行
ARM COMPILER V2.53, wdttest 27/07/06 14:35:28 PAGE 1
ARM COMPILER V2.53, COMPILATION OF MODULE wdttest
OBJECT MODULE PLACED IN .\Obj\wdttest.obj
COMPILER INVOKED BY: g:\Keil\ARM\BIN\CA.exe wdttest.c THUMB INCDIR(..\Common\inc) DEBUG PRINT(.\LST\WDTTEST.LST) TABS(4)
- OBJECT(.\Obj\wdttest.obj)
stmt level source
1 /*****************************************************************************
2 * wdttest.c: main C entry file for Philips LPC214x Family Microprocessors
3 *
4 * Copyright(C) 2006, Philips Semiconductor
5 * All rights reserved.
6 *
7 * History
8 * 2005.10.01 ver 1.00 Prelimnary version, first Release
9 *
10 ******************************************************************************/
11 #include "LPC214x.H" /* LPC21xx definitions */
12 #include "type.h"
13 #include "irq.h"
14 #include "timer.h"
15 #include "wdt.h"
16
17 extern DWORD timer_counter;
18 DWORD feed_counter = 0;
19
20 /*****************************************************************************
21 ** Main Function main()
22 ******************************************************************************/
23 int main (void)
24 {
25 1 /*** The main Function is an endless loop ****/
26 1 init_VIC();
27 1 init_timer();
28 1
29 1 WDTInit();
30 1 enable_timer( 0 );
31 1
32 1 while( 1 )
33 1 {
34 2 if ( timer_counter > 0 )
35 2 {
36 3 /* Feed the watchdog timer */
37 3 feed_counter++;
38 3 WDTFeed();
39 3 timer_counter = 0;
40 3 }
41 2 }
42 1 return 0;
43 1 }
44
45 /*********************************************************************************
46 ** End Of File
47 *********************************************************************************/
ARM COMPILER V2.53, wdttest 27/07/06 14:35:28 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN CODE16 (init_VIC?T)
EXTERN CODE16 (init_timer?T)
EXTERN CODE16 (enable_timer?T)
EXTERN CODE16 (WDTInit?T)
EXTERN CODE16 (WDTFeed?T)
EXTERN DATA (timer_counter)
EXTERN NUMBER (__startup)
*** PUBLICS:
PUBLIC main
PUBLIC feed_counter
*** DATA SEGMENT '?DT0?wdttest':
00000000 feed_counter:
00000000 BEGIN_INIT
00000000 00000000 DD 0x0
00000004 END_INIT
*** CODE SEGMENT '?PR?main?wdttest':
23: int main (void)
00000000 B500 PUSH {LR}
26: init_VIC();
00000002 F7FF BL init_VIC?T ; T=0x0001 (1)
00000004 FFFD BL init_VIC?T ; T=0x0001 (2)
27: init_timer();
00000006 F7FF BL init_timer?T ; T=0x0001 (1)
00000008 FFFB BL init_timer?T ; T=0x0001 (2)
29: WDTInit();
0000000A F7FF BL WDTInit?T ; T=0x0001 (1)
0000000C FFF9 BL WDTInit?T ; T=0x0001 (2)
30: enable_timer( 0 );
0000000E 2000 MOV R0,#0x0
00000010 F7FF BL enable_timer?T ; T=0x0001 (1)
00000012 FFF6 BL enable_timer?T ; T=0x0001 (2)
32: while( 1 )
00000014 L_3:
34: if ( timer_counter > 0 )
00000014 4800 LDR R0,=timer_counter ; timer_counter
00000016 6800 LDR R0,[R0,#0x0] ; timer_counter
00000018 2800 CMP R0,#0x0
0000001A D9FB BLS L_3 ; T=0x00000014
37: feed_counter++;
0000001C 4800 LDR R0,=feed_counter ; feed_counter
0000001E 6801 LDR R1,[R0,#0x0] ; feed_counter
00000020 3101 ADD R1,#0x1
00000022 6001 STR R1,[R0,#0x0] ; feed_counter
38: WDTFeed();
00000024 F7FF BL WDTFeed?T ; T=0x0001 (1)
00000026 FFEC BL WDTFeed?T ; T=0x0001 (2)
39: timer_counter = 0;
00000028 2100 MOV R1,#0x0
0000002A 4800 LDR R0,=timer_counter ; timer_counter
0000002C 6001 STR R1,[R0,#0x0] ; timer_counter
41: }
0000002E E7F1 B L_3 ; T=0x00000014
43: }
00000030 BC08 POP {R3}
00000032 4718 BX R3
00000034 ENDP ; 'main'
Module Information Static
----------------------------------
ARM COMPILER V2.53, wdttest 27/07/06 14:35:28 PAGE 3
code size = ------
data size = 4
const size = ------
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?