📄 appli.lst
字号:
\ 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 + -