⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 掏美元培训得来的某外国公司推广keil ARM 和LPC2100的源码。
💻 LST
字号:
ARM COMPILER V2.00f,  main                                                                 19/02/05  10:29:38  PAGE 1   


ARM COMPILER V2.00f, COMPILATION OF MODULE main
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe main.c THUMB BROWSE DEBUG TABS(4) 

stmt  level    source

    1          /************************************************************/
    2          /* PROJECT NAME: SWI                                        */
    3          /* Project:      LPC2100 Training course                    */
    4          /* Engineer:     T Martin      tmartin@hitex.co.uk          */
    5          /* Filename:     main.c                                     */
    6          /* Language:     C                                          */
    7          /* Compiler:     Keil ARM       V2.00b                      */
    8          /* Assembler:                                               */
    9          /*                                                          */
   10          /************************************************************/
   11          /* COPYRIGHT: Hitex UK Ltd      2005                        */
   12          /* LICENSE:   THIS VERSION CREATED FOR FREE DISTRIBUTION    */
   13          /************************************************************/
   14          /* Function:                                                */
   15          /*                                                          */
   16          /* Example software interrupt for LPC2100                   */
   17          /*                                                          */
   18          /* Demonstrates serving an SWI and running selected code    */
   19          /*                                                          */  
   20          /* Oscillator frequency 12.000 Mhz                          */
   21          /* Target board Keil MCB21000                               */
   22          /************************************************************/
   23          
   24          
   25          
   26          
   27          #include <LPC21xx.H> 
   28          
   29          
   30          void SWI_Call1(int pattern) __swi(8)         //Software interrupt with passed parameters
   31          {
   32   1      
   33   1      IOCLR1      = 0x00FF0000;                   //set the leds
   34   1      IOSET1      = pattern;                      
   35   1      }
   36          
   37          void SWI_Call2(void)   __swi(9)              //void call to software intterupt
   38          {
   39   1      IOCLR1      = 0x00FF0000;                   //write default pattern to the LEDs
   40   1      IOSET1      = 0x00AA0000;
   41   1      }
   42          
   43          
   44          void main(void)
   45          {
   46   1      int pattern = 0x00550000;
   47   1      IODIR1      = 0x00FF0000;                   //Set LED pins as outputs
   48   1      IOCLR1      = 0x00FF0000;                   //Generate software interrupt
   49   1      
   50   1      SWI_Call1(pattern);                         //call software interrupt
   51   1      
   52   1      SWI_Call2();                                //Call second software interrupt
   53   1                                          
   54   1      
   55   1      while(1)
   56   1      {
   57   2      ;                                           //Loop forever
   58   2      }
   59   1      }
ARM COMPILER V2.00f,  main                                                                 19/02/05  10:29:38  PAGE 2   

   60          
ARM COMPILER V2.00f,  main                                                                 19/02/05  10:29:38  PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         SWI_Call1?T
 PUBLIC         SWI_Call2?T
 PUBLIC         main



*** CODE SEGMENT '?PR?SWI_Call1?T?main':
   30: void SWI_Call1(int pattern) __swi(8)         //Software interrupt with passed parameters
 00000000  ---- Variable 'pattern' assigned to Register 'R0' ----
   33: IOCLR1         = 0x00FF0000;                   //set the leds
 00000000  4800      LDR         R2,=0xFF0000
 00000002  4800      LDR         R1,=0xE002801C
 00000004  600A      STR         R2,[R1,#0x0]
   34: IOSET1         = pattern;                      
 00000006  1C01      MOV         R1,R0 ; pattern
 00000008  4800      LDR         R0,=0xE0028014
 0000000A  6001      STR         R1,[R0,#0x0]
   35: }
 0000000C  4770      BX          R14
 0000000E          ENDP ; 'SWI_Call1?T'


*** CODE SEGMENT '?PR?SWI_Call2?T?main':
   39: IOCLR1         = 0x00FF0000;                   //write default pattern to the LEDs
 00000000  4800      LDR         R1,=0xFF0000
 00000002  4800      LDR         R0,=0xE002801C
 00000004  6001      STR         R1,[R0,#0x0]
   40: IOSET1         = 0x00AA0000;
 00000006  4800      LDR         R1,=0xAA0000
 00000008  4800      LDR         R0,=0xE0028014
 0000000A  6001      STR         R1,[R0,#0x0]
   41: }
 0000000C  4770      BX          R14
 0000000E          ENDP ; 'SWI_Call2?T'


*** CODE SEGMENT '?PR?main?main':
   44: void main(void)
 00000000  B500      PUSH        {LR}
   45: {
 00000002            ; SCOPE-START
   47: IODIR1         = 0x00FF0000;                   //Set LED pins as outputs
 00000002  4800      LDR         R1,=0xFF0000
 00000004  4800      LDR         R0,=0xE0028018
 00000006  6001      STR         R1,[R0,#0x0]
   48: IOCLR1         = 0x00FF0000;                   //Generate software interrupt
 00000008  4800      LDR         R1,=0xFF0000
 0000000A  4800      LDR         R0,=0xE002801C
 0000000C  6001      STR         R1,[R0,#0x0]
   50: SWI_Call1(pattern);                         //call software interrupt
 0000000E  4800      LDR         R0,=0x550000
 00000010  DF08      SWI         0x8 ; SWI_Call1?T
   52: SWI_Call2();                                //Call second software interrupt
 00000012  DF09      SWI         0x9 ; SWI_Call2?T
   58: }
 00000014          L_1:
 00000014  E7FE      B           L_1  ; T=0x00000014
 00000016            ; SCOPE-END
 00000016  BC08      POP         {R3}
 00000018  4718      BX          R3
 0000001A          ENDP ; 'main'



Module Information          Static
----------------------------------
  code size            =    ------
ARM COMPILER V2.00f,  main                                                                 19/02/05  10:29:38  PAGE 4   

  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 + -