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

📄 delay.lst

📁 ARM7x256开发板的了LED测试程序
💻 LST
字号:
ARM COMPILER V2.42,  delay                                                                 14/02/07  10:22:58  PAGE 1   


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

stmt  level    source

    1          #include "delay.h"
    2          #include "basetype.h"
    3          //#include "project.h"
    4          
    5           void delay_1us_nop(void)
    6          {   
    7   1          unsigned char i;
    8   1          for(i=0;i<2;i++);           
    9   1      }
   10          
   11          void delay_10us_nop(void)
   12          {   
   13   1          unsigned char i;
   14   1          for(i=0;i<40;i++);          
   15   1          i = i << 1;                 
   16   1          i = i << 1;                 
   17   1      }
   18          
   19          void delay_50us_nop(void)
   20          {   
   21   1          unsigned char i;
   22   1          for(i=0;i<217;i++);         
   23   1      }
   24          
   25          
   26          
   27          void delay_1ms(unsigned int ms)
   28          {   
   29   1          unsigned int delay1, delay2;
   30   1          
   31   1          for( delay1=0; delay1<ms; delay1++ )
   32   1          {   for( delay2=0; delay2<20; delay2++ ) 
   33   2              {   delay_50us_nop(); // WDT_RST;    
   34   3              }
   35   2          }
   36   1      }
   37          
ARM COMPILER V2.42,  delay                                                                 14/02/07  10:22:58  PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** PUBLICS:
 PUBLIC         delay_1us_nop?T
 PUBLIC         delay_10us_nop?T
 PUBLIC         delay_50us_nop?T
 PUBLIC         delay_1ms?T



*** CODE SEGMENT '?PR?delay_1us_nop?T?delay':
    6: {   
 00000000            ; SCOPE-START
    8:     for(i=0;i<2;i++);           
 00000000  2000      MOV         R0,#0x0
 00000002  ---- Variable 'i' assigned to Register 'R0' ----
 00000002  E002      B           L_3  ; T=0x0000000A
 00000004          L_1:
 00000004  3001      ADD         R0,#0x1
 00000006  0600      LSL         R0,R0,#0x18
 00000008  0E00      LSR         R0,R0,#0x18
 0000000A          L_3:
 0000000A  1C01      MOV         R1,R0 ; i
 0000000C  0609      LSL         R1,R1,#0x18 ; i
 0000000E  0E09      LSR         R1,R1,#0x18
 00000010  2902      CMP         R1,#0x2
 00000012  DBF7      BLT         L_1  ; T=0x00000004
 00000014            ; SCOPE-END
    9: }
 00000014  4770      BX          R14
 00000016          ENDP ; 'delay_1us_nop?T'


*** CODE SEGMENT '?PR?delay_10us_nop?T?delay':
   12: {   
 00000000            ; SCOPE-START
   14:     for(i=0;i<40;i++);          
 00000000  2000      MOV         R0,#0x0
 00000002  ---- Variable 'i' assigned to Register 'R0' ----
 00000002  E002      B           L_8  ; T=0x0000000A
 00000004          L_6:
 00000004  3001      ADD         R0,#0x1
 00000006  0600      LSL         R0,R0,#0x18
 00000008  0E00      LSR         R0,R0,#0x18
 0000000A          L_8:
 0000000A  1C01      MOV         R1,R0 ; i
 0000000C  0609      LSL         R1,R1,#0x18 ; i
 0000000E  0E09      LSR         R1,R1,#0x18
 00000010  2928      CMP         R1,#0x28
 00000012  DBF7      BLT         L_6  ; T=0x00000004
   15:     i = i << 1;                 
 00000014  0600      LSL         R0,R0,#0x18 ; i
 00000016  0E00      LSR         R0,R0,#0x18
 00000018  0040      LSL         R0,R0,#0x1
 0000001A  0600      LSL         R0,R0,#0x18
 0000001C  0E00      LSR         R0,R0,#0x18
   16:     i = i << 1;                 
 0000001E  0600      LSL         R0,R0,#0x18 ; i
 00000020  0E00      LSR         R0,R0,#0x18
 00000022  0040      LSL         R0,R0,#0x1
 00000024  0600      LSL         R0,R0,#0x18
 00000026  0E00      LSR         R0,R0,#0x18
 00000028            ; SCOPE-END
   17: }
 00000028  4770      BX          R14
 0000002A          ENDP ; 'delay_10us_nop?T'


*** CODE SEGMENT '?PR?delay_50us_nop?T?delay':
   20: {   
 00000000            ; SCOPE-START
ARM COMPILER V2.42,  delay                                                                 14/02/07  10:22:58  PAGE 3   

   22:     for(i=0;i<217;i++);         
 00000000  2000      MOV         R0,#0x0
 00000002  ---- Variable 'i' assigned to Register 'R0' ----
 00000002  E002      B           L_13  ; T=0x0000000A
 00000004          L_11:
 00000004  3001      ADD         R0,#0x1
 00000006  0600      LSL         R0,R0,#0x18
 00000008  0E00      LSR         R0,R0,#0x18
 0000000A          L_13:
 0000000A  1C01      MOV         R1,R0 ; i
 0000000C  0609      LSL         R1,R1,#0x18 ; i
 0000000E  0E09      LSR         R1,R1,#0x18
 00000010  29D9      CMP         R1,#0xD9
 00000012  DBF7      BLT         L_11  ; T=0x00000004
 00000014            ; SCOPE-END
   23: }
 00000014  4770      BX          R14
 00000016          ENDP ; 'delay_50us_nop?T'


*** CODE SEGMENT '?PR?delay_1ms?T?delay':
   27: void delay_1ms(unsigned int ms)
 00000000  B510      PUSH        {R4,LR}
 00000002  1C03      MOV         R3,R0 ; ms
 00000004  ---- Variable 'ms' assigned to Register 'R3' ----
   28: {   
 00000004            ; SCOPE-START
   31:     for( delay1=0; delay1<ms; delay1++ )
 00000004  2200      MOV         R2,#0x0
 00000006  ---- Variable 'delay1' assigned to Register 'R2' ----
 00000006  E007      B           L_18  ; T=0x00000018
   32:     {   for( delay2=0; delay2<20; delay2++ ) 
 00000008          L_25:
 00000008  2400      MOV         R4,#0x0
 0000000A  ---- Variable 'delay2' assigned to Register 'R4' ----
 0000000A          L_24:
   33:         {   delay_50us_nop(); // WDT_RST;    
 0000000A  F7FF      BL          delay_50us_nop?T  ; T=0x0001  (1)
 0000000C  FFF9      BL          delay_50us_nop?T  ; T=0x0001  (2)
   34:         }
 0000000E  3401      ADD         R4,#0x1
 00000010  1C20      MOV         R0,R4 ; delay2
 00000012  2814      CMP         R0,#0x14 ; delay2
 00000014  D3F9      BCC         L_24  ; T=0x0000000A
   35:     }
 00000016  3201      ADD         R2,#0x1
 00000018          L_18:
 00000018  1C19      MOV         R1,R3 ; ms
 0000001A  1C10      MOV         R0,R2 ; delay1
 0000001C  4288      CMP         R0,R1 ; delay1
 0000001E  D3F3      BCC         L_25  ; T=0x00000008
 00000020            ; SCOPE-END
   36: }
 00000020  BC10      POP         {R4}
 00000022  BC08      POP         {R3}
 00000024  4718      BX          R3
 00000026          ENDP ; 'delay_1ms?T'



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