📄 partest.lst
字号:
\ 000016 3A41 POP.W R10
\ 000018 3041 RET
161 /*-----------------------------------------------------------*/
162
\ In segment CODE, align 2
163 void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
\ vParTestToggleLED:
164 {
\ 000000 0A12 PUSH.W R10
\ 000002 0A4C MOV.W R12, R10
165 static unsigned portSHORT sState = pdFALSE;
166
167 if( uxLED < ( portBASE_TYPE ) partstNUM_LEDS )
\ 000004 2A92 CMP.W #0x4, R10
\ 000006 3C2C JC ??vParTestToggleLED_0
168 {
169 vTaskSuspendAll();
\ 000008 B012.... CALL #vTaskSuspendAll
170 {
171 /* If the '*' is already showing - hide it. If it is not already
172 showing then show it. */
173 /* if( *( ucRHSSegments[ uxLED ] ) )
174 {
175 *( ucRHSSegments[ uxLED ] ) = partstSEGMENTS_OFF;
176 *( ucLHSSegments[ uxLED ] ) = partstSEGMENTS_OFF;
177 }
178 else
179 {
180 *( ucRHSSegments[ uxLED ] ) = partstSEGMENTS_ON;
181 *( ucLHSSegments[ uxLED ] ) = partstSEGMENTS_ON;
182 }
183 */
184 if( sState )
\ 00000C 8293.... CMP.W #0x0, &??sState
\ 000010 1624 JEQ ??vParTestToggleLED_1
185 {
186
187 switch ( uxLED )
\ 000012 0F4A MOV.W R10, R15
\ 000014 0F83 SUB.W #0x0, R15
\ 000016 0724 JEQ ??vParTestToggleLED_2
\ 000018 1F83 SUB.W #0x1, R15
\ 00001A 0824 JEQ ??vParTestToggleLED_3
\ 00001C 1F83 SUB.W #0x1, R15
\ 00001E 0924 JEQ ??vParTestToggleLED_4
\ 000020 1F83 SUB.W #0x1, R15
\ 000022 0A24 JEQ ??vParTestToggleLED_5
\ 000024 213C JMP ??vParTestToggleLED_6
188
189 {
190 case 0: P4OUT_bit.P4OUT_0 = 1; // turn LED on
\ ??vParTestToggleLED_2:
\ 000026 D2D31D00 BIS.B #0x1, &0x1d
\ 00002A 1E3C JMP ??vParTestToggleLED_6
191 break;
192
193 case 1: P4OUT_bit.P4OUT_1 = 1;
\ ??vParTestToggleLED_3:
\ 00002C E2D31D00 BIS.B #0x2, &0x1d
\ 000030 1B3C JMP ??vParTestToggleLED_6
194 break;
195
196 case 2: P4OUT_bit.P4OUT_2 = 1;
\ ??vParTestToggleLED_4:
\ 000032 E2D21D00 BIS.B #0x4, &0x1d
\ 000036 183C JMP ??vParTestToggleLED_6
197 break;
198
199 case 3: P4OUT_bit.P4OUT_3 = 1;
\ ??vParTestToggleLED_5:
\ 000038 F2D21D00 BIS.B #0x8, &0x1d
\ 00003C 153C JMP ??vParTestToggleLED_6
200 break;
201
202 default:
203 break;
204 }
205
206
207 // P4OUT |= uxLED;
208 }
209 else
210 {
211 switch ( uxLED )
\ ??vParTestToggleLED_1:
\ 00003E 0F4A MOV.W R10, R15
\ 000040 0F83 SUB.W #0x0, R15
\ 000042 0724 JEQ ??vParTestToggleLED_7
\ 000044 1F83 SUB.W #0x1, R15
\ 000046 0824 JEQ ??vParTestToggleLED_8
\ 000048 1F83 SUB.W #0x1, R15
\ 00004A 0924 JEQ ??vParTestToggleLED_9
\ 00004C 1F83 SUB.W #0x1, R15
\ 00004E 0A24 JEQ ??vParTestToggleLED_10
\ 000050 0B3C JMP ??vParTestToggleLED_6
212
213 {
214 case 0: P4OUT_bit.P4OUT_0 = 0; // turn LED off
\ ??vParTestToggleLED_7:
\ 000052 D2C31D00 BIC.B #0x1, &0x1d
\ 000056 083C JMP ??vParTestToggleLED_6
215 break;
216
217 case 1: P4OUT_bit.P4OUT_1 = 0;
\ ??vParTestToggleLED_8:
\ 000058 E2C31D00 BIC.B #0x2, &0x1d
\ 00005C 053C JMP ??vParTestToggleLED_6
218 break;
219
220 case 2: P4OUT_bit.P4OUT_2 = 0;
\ ??vParTestToggleLED_9:
\ 00005E E2C21D00 BIC.B #0x4, &0x1d
\ 000062 023C JMP ??vParTestToggleLED_6
221 break;
222
223 case 3: P4OUT_bit.P4OUT_3 = 0;
\ ??vParTestToggleLED_10:
\ 000064 F2C21D00 BIC.B #0x8, &0x1d
224 break;
225
226 default:
227 break;
228
229 }
230
231 // P4OUT &= ~uxLED;
232 }
233
234 sState = !sState;
\ ??vParTestToggleLED_6:
\ 000068 8293.... CMP.W #0x0, &??sState
\ 00006C 0220 JNE ??vParTestToggleLED_11
\ 00006E 5F43 MOV.B #0x1, R15
\ 000070 013C JMP ??vParTestToggleLED_12
\ ??vParTestToggleLED_11:
\ 000072 4F43 MOV.B #0x0, R15
\ ??vParTestToggleLED_12:
\ 000074 3FF0FF00 AND.W #0xff, R15
\ 000078 824F.... MOV.W R15, &??sState
235
236 }
237 xTaskResumeAll();
\ 00007C B012.... CALL #xTaskResumeAll
238 }
239 else
240 {
241 // if( uxLED == partstON_BOARD_LED )
242 // {
243 // /* The request related to the genuine on board LED. */
244 // prvToggleOnBoardLED();
245 // }
246 }
247 }
\ ??vParTestToggleLED_0:
\ 000080 3A41 POP.W R10
\ 000082 3041 RET
\ In segment DATA16_Z, align 2, align-sorted
\ 000000 REQUIRE ?cstart_init_zero
\ ??sState:
\ 000000 DS8 2
248 /*-----------------------------------------------------------*/
249
250 static void prvToggleOnBoardLED( void )
^
Warning[Pe177]: function "prvToggleOnBoardLED" was declared but never
referenced
251 {
252 static unsigned portSHORT sState = pdFALSE;
253
254 /* Toggle the state of the single genuine on board LED. */
255 if( sState )
256 {
257 P1OUT |= mainON_BOARD_LED_BIT;
258 }
259 else
260 {
261 P1OUT &= ~mainON_BOARD_LED_BIT;
262 }
263
264 sState = !sState;
265 }
266 /*-----------------------------------------------------------*/
267
268
Maximum stack usage in bytes:
Function CSTACK
-------- ------
vParTestInitialise 2
vParTestSetLED 6
-> vTaskSuspendAll 6
-> xTaskResumeAll 6
vParTestToggleLED 4
-> vTaskSuspendAll 4
-> xTaskResumeAll 4
Segment part sizes:
Function/Label Bytes
-------------- -----
_A_P4OUT 1
vParTestInitialise 2
vParTestSetLED 26
vParTestToggleLED 132
sState 2
160 bytes in segment CODE
1 byte in segment DATA16_AN
2 bytes in segment DATA16_Z
160 bytes of CODE memory
2 bytes of DATA memory (+ 1 byte shared)
Errors: none
Warnings: 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -