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 + -
显示快捷键?