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

📄 appli.lst

📁 AT91SAM7X256芯片底层驱动源码。在IAR430环境下编译
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   00000008   6043               MUL         R0,R4
   \   0000000A   1649               LDR         R1,??APPLI_2       ;; led_mask
   \   0000000C   0958               LDR         R1,[R1, R0]
   \   0000000E   ....               LDR         R0,??DataTable12   ;; 0xfffff600
   \   00000010   ........           _BLF        AT91F_PIO_ClearOutput,AT91F_PIO_ClearOutput??rT
     54                  wait();
   \   00000014   ........           BL          wait
     55                  AT91F_PIO_SetOutput( AT91C_BASE_PIOB, led_mask[i] ) ;
   \   00000018   0420               MOV         R0,#+0x4
   \   0000001A   6043               MUL         R0,R4
   \   0000001C   1149               LDR         R1,??APPLI_2       ;; led_mask
   \   0000001E   0958               LDR         R1,[R1, R0]
   \   00000020   ....               LDR         R0,??DataTable12   ;; 0xfffff600
   \   00000022   ........           _BLF        AT91F_PIO_SetOutput,AT91F_PIO_SetOutput??rT
     56                  wait();
   \   00000026   ........           BL          wait
     57              }// End for
   \   0000002A   641C               ADD         R4,#+0x1
   \                     ??APPLI_0:
   \   0000002C   042C               CMP         R4,#+0x4
   \   0000002E   EADB               BLT         ??APPLI_1
     58              // Once a Shot on each led
     59              for ( i=(NB_LEB-1) ; i >= 0 ; i-- )
   \   00000030   0324               MOV         R4,#+0x3
   \   00000032   12E0               B           ??APPLI_3
     60              {
     61                  AT91F_PIO_ClearOutput( AT91C_BASE_PIOB, led_mask[i]) ;
   \                     ??APPLI_4:
   \   00000034   0420               MOV         R0,#+0x4
   \   00000036   6043               MUL         R0,R4
   \   00000038   0A49               LDR         R1,??APPLI_2       ;; led_mask
   \   0000003A   0958               LDR         R1,[R1, R0]
   \   0000003C   ....               LDR         R0,??DataTable12   ;; 0xfffff600
   \   0000003E   ........           _BLF        AT91F_PIO_ClearOutput,AT91F_PIO_ClearOutput??rT
     62                  wait();
   \   00000042   ........           BL          wait
     63                  AT91F_PIO_SetOutput( AT91C_BASE_PIOB, led_mask[i] ) ;
   \   00000046   0420               MOV         R0,#+0x4
   \   00000048   6043               MUL         R0,R4
   \   0000004A   0649               LDR         R1,??APPLI_2       ;; led_mask
   \   0000004C   0958               LDR         R1,[R1, R0]
   \   0000004E   ....               LDR         R0,??DataTable12   ;; 0xfffff600
   \   00000050   ........           _BLF        AT91F_PIO_SetOutput,AT91F_PIO_SetOutput??rT
     64                  wait();
   \   00000054   ........           BL          wait
     65                  
     66              }
   \   00000058   641E               SUB         R4,#+0x1
   \                     ??APPLI_3:
   \   0000005A   002C               CMP         R4,#+0
   \   0000005C   EAD5               BPL         ??APPLI_4
     67          }
   \   0000005E   10BC               POP         {R4}
   \   00000060   01BC               POP         {R0}
   \   00000062   0047               BX          R0                 ;; return
   \                     ??APPLI_2:
   \   00000064   ........           DC32        led_mask
     68          

   \                                 In segment CODE, align 4, keep-with-next
     69          void LED_Toggle(unsigned int led)
     70          {       
   \                     LED_Toggle:
   \   00000000   10B5               PUSH        {R4,LR}
   \   00000002   041C               MOV         R4,R0
     71              if (AT91F_PIO_GetOutputDataStatus(AT91C_BASE_PIOB) & led)
   \   00000004   ....               LDR         R0,??DataTable12   ;; 0xfffff600
   \   00000006   ........           _BLF        AT91F_PIO_GetOutputDataStatus,AT91F_PIO_GetOutputDataStatus??rT
   \   0000000A   2042               TST         R0,R4
   \   0000000C   04D0               BEQ         ??LED_Toggle_0
     72                AT91F_PIO_ClearOutput( AT91C_BASE_PIOB, led);        
   \   0000000E   211C               MOV         R1,R4
   \   00000010   ....               LDR         R0,??DataTable12   ;; 0xfffff600
   \   00000012   ........           _BLF        AT91F_PIO_ClearOutput,AT91F_PIO_ClearOutput??rT
   \   00000016   03E0               B           ??LED_Toggle_1
     73              else
     74                AT91F_PIO_SetOutput( AT91C_BASE_PIOB, led) ;
   \                     ??LED_Toggle_0:
   \   00000018   211C               MOV         R1,R4
   \   0000001A   ....               LDR         R0,??DataTable12   ;; 0xfffff600
   \   0000001C   ........           _BLF        AT91F_PIO_SetOutput,AT91F_PIO_SetOutput??rT
     75          }
   \                     ??LED_Toggle_1:
   \   00000020   10BC               POP         {R4}
   \   00000022   01BC               POP         {R0}
   \   00000024   0047               BX          R0                 ;; return
     76          

   \                                 In segment CODE, align 4, keep-with-next
     77          void LED_TurnOn(unsigned int led)
     78          {       
   \                     LED_TurnOn:
   \   00000000   00B5               PUSH        {LR}
     79            AT91F_PIO_ClearOutput( AT91C_BASE_PIOB, led);        
   \   00000002   011C               MOV         R1,R0
   \   00000004   ....               LDR         R0,??DataTable12   ;; 0xfffff600
   \   00000006   ........           _BLF        AT91F_PIO_ClearOutput,AT91F_PIO_ClearOutput??rT
     80          }
   \   0000000A   01BC               POP         {R0}
   \   0000000C   0047               BX          R0                 ;; return
     81          

   \                                 In segment CODE, align 4, keep-with-next
     82          void LED_TurnOff(unsigned int led)
     83          {       
   \                     LED_TurnOff:
   \   00000000   00B5               PUSH        {LR}
     84            AT91F_PIO_SetOutput( AT91C_BASE_PIOB, led) ;
   \   00000002   011C               MOV         R1,R0
   \   00000004   ....               LDR         R0,??DataTable12   ;; 0xfffff600
   \   00000006   ........           _BLF        AT91F_PIO_SetOutput,AT91F_PIO_SetOutput??rT
     85          }
   \   0000000A   01BC               POP         {R0}
   \   0000000C   0047               BX          R0                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable3:
   \   00000000   ........           DC32        LedSpeed

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable12:
   \   00000000   00F6FFFF           DC32        0xfffff600

   Maximum stack usage in bytes:

     Function                      CSTACK
     --------                      ------
     APPLI                             8
     AT91F_PIO_CfgOutput               0
     AT91F_PIO_ClearOutput             0
     AT91F_PIO_GetOutputDataStatus     0
     AT91F_PIO_SetOutput               0
     Init_LED_FOR_APPLI                4
     LED_Toggle                        8
     LED_TurnOff                       4
     LED_TurnOn                        4
     wait                              4


   Segment part sizes:

     Function/Label                Bytes
     --------------                -----
     AT91F_PIO_CfgOutput              6
     AT91F_PIO_SetOutput              4
     AT91F_PIO_ClearOutput            4
     AT91F_PIO_GetOutputDataStatus    4
     led_mask                        32
     LedSpeed                         4
     wait                            20
     Init_LED_FOR_APPLI              36
     APPLI                          104
     LED_Toggle                      38
     LED_TurnOn                      14
     LED_TurnOff                     14
     ??DataTable3                     4
     ??DataTable12                    4
      Others                         92

 
 332 bytes in segment CODE
  32 bytes in segment DATA_C
   4 bytes in segment DATA_Z
  12 bytes in segment INITTAB
 
 234 bytes of CODE  memory (+ 110 bytes shared)
  32 bytes of CONST memory
   4 bytes of DATA  memory

Errors: none
Warnings: none

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -