📄 app.lst
字号:
231
232 b1 = PB_GetStatus(1);
\ ??AppTaskKbd_0:
\ 00000014 0100A0E3 MOV R0,#+1
\ 00000018 ........ _BLF PB_GetStatus,??PB_GetStatus??rA
\ 0000001C 0070B0E1 MOVS R7,R0
233 b2 = PB_GetStatus(2);
\ 00000020 0200A0E3 MOV R0,#+2
\ 00000024 ........ _BLF PB_GetStatus,??PB_GetStatus??rA
\ 00000028 0080B0E1 MOVS R8,R0
234 b3 = PB_GetStatus(3);
\ 0000002C 0300A0E3 MOV R0,#+3
\ 00000030 ........ _BLF PB_GetStatus,??PB_GetStatus??rA
\ 00000034 0090B0E1 MOVS R9,R0
235 b4 = PB_GetStatus(4);
\ 00000038 0400A0E3 MOV R0,#+4
\ 0000003C ........ _BLF PB_GetStatus,??PB_GetStatus??rA
\ 00000040 00A0B0E1 MOVS R10,R0
236
237 if (b1 == DEF_TRUE && b1_prev == DEF_FALSE) {
\ 00000044 010057E3 CMP R7,#+1
\ 00000048 0600001A BNE ??AppTaskKbd_1
\ 0000004C FFB01BE2 ANDS R11,R11,#0xFF ;; Zero extend
\ 00000050 00005BE3 CMP R11,#+0
\ 00000054 0300001A BNE ??AppTaskKbd_1
238
239 OSQPost(AppKbdQ, (CPU_INT32U *)1);
\ 00000058 0110A0E3 MOV R1,#+1
\ 0000005C ........ LDR R0,??DataTable5 ;; AppKbdQ
\ 00000060 000090E5 LDR R0,[R0, #+0]
\ 00000064 ........ _BLF OSQPost,??OSQPost??rA
240 }
241
242 if (b2 == DEF_TRUE && b2_prev == DEF_FALSE) {
\ ??AppTaskKbd_1:
\ 00000068 010058E3 CMP R8,#+1
\ 0000006C 0600001A BNE ??AppTaskKbd_2
\ 00000070 FF4014E2 ANDS R4,R4,#0xFF ;; Zero extend
\ 00000074 000054E3 CMP R4,#+0
\ 00000078 0300001A BNE ??AppTaskKbd_2
243
244 OSQPost(AppKbdQ, (CPU_INT32U *)2);
\ 0000007C 0210A0E3 MOV R1,#+2
\ 00000080 ........ LDR R0,??DataTable5 ;; AppKbdQ
\ 00000084 000090E5 LDR R0,[R0, #+0]
\ 00000088 ........ _BLF OSQPost,??OSQPost??rA
245 }
246
247 if (b3 == DEF_TRUE && b3_prev == DEF_FALSE) {
\ ??AppTaskKbd_2:
\ 0000008C 010059E3 CMP R9,#+1
\ 00000090 0600001A BNE ??AppTaskKbd_3
\ 00000094 FF5015E2 ANDS R5,R5,#0xFF ;; Zero extend
\ 00000098 000055E3 CMP R5,#+0
\ 0000009C 0300001A BNE ??AppTaskKbd_3
248
249 OSQPost(AppKbdQ, (CPU_INT32U *)3);
\ 000000A0 0310A0E3 MOV R1,#+3
\ 000000A4 ........ LDR R0,??DataTable5 ;; AppKbdQ
\ 000000A8 000090E5 LDR R0,[R0, #+0]
\ 000000AC ........ _BLF OSQPost,??OSQPost??rA
250 }
251
252 if (b4 == DEF_TRUE && b4_prev == DEF_FALSE) {
\ ??AppTaskKbd_3:
\ 000000B0 01005AE3 CMP R10,#+1
\ 000000B4 0600001A BNE ??AppTaskKbd_4
\ 000000B8 FF6016E2 ANDS R6,R6,#0xFF ;; Zero extend
\ 000000BC 000056E3 CMP R6,#+0
\ 000000C0 0300001A BNE ??AppTaskKbd_4
253
254 OSQPost(AppKbdQ, (CPU_INT32U *)4);
\ 000000C4 0410A0E3 MOV R1,#+4
\ 000000C8 ........ LDR R0,??DataTable5 ;; AppKbdQ
\ 000000CC 000090E5 LDR R0,[R0, #+0]
\ 000000D0 ........ _BLF OSQPost,??OSQPost??rA
255 }
256
257 b1_prev = b1;
\ ??AppTaskKbd_4:
\ 000000D4 07B0B0E1 MOVS R11,R7
258 b2_prev = b2;
\ 000000D8 0840B0E1 MOVS R4,R8
259 b3_prev = b3;
\ 000000DC 0950B0E1 MOVS R5,R9
260 b4_prev = b4;
\ 000000E0 0A60B0E1 MOVS R6,R10
261
262 OSTimeDly(OS_TICKS_PER_SEC / 10);
\ 000000E4 6400A0E3 MOV R0,#+100
\ 000000E8 ........ _BLF OSTimeDly,??OSTimeDly??rA
\ 000000EC C8FFFFEA B ??AppTaskKbd_0
263
264 }
265 }
266
267
268 /*
269 *********************************************************************************************************
270 * CREATE APPLICATION TASKS
271 *
272 * Description: This function creates the application tasks.
273 *
274 * Arguments : none
275 *
276 * Returns : none
277 *********************************************************************************************************
278 */
279
\ In segment CODE, align 4, keep-with-next
280 static void AppTaskCreate (void)
281 {
\ AppTaskCreate:
\ 00000000 00402DE9 PUSH {LR}
\ 00000004 04D04DE2 SUB SP,SP,#+4
282 CPU_INT08U err;
283
284
285 OSTaskCreateExt(AppTaskKbd,
286 (void *)0,
287 (OS_STK *)&AppTaskKbdStk[APP_TASK_KBD_STK_SIZE - 1],
288 APP_TASK_KBD_PRIO,
289 APP_TASK_KBD_PRIO,
290 (OS_STK *)&AppTaskKbdStk[0],
291 APP_TASK_KBD_STK_SIZE,
292 (void *)0,
293 OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
\ 00000008 0300A0E3 MOV R0,#+3
\ 0000000C 01002DE9 PUSH {R0}
\ 00000010 0000A0E3 MOV R0,#+0
\ 00000014 01002DE9 PUSH {R0}
\ 00000018 800FA0E3 MOV R0,#+512
\ 0000001C 01002DE9 PUSH {R0}
\ 00000020 38009FE5 LDR R0,??AppTaskCreate_0 ;; AppTaskKbdStk
\ 00000024 01002DE9 PUSH {R0}
\ 00000028 0200A0E3 MOV R0,#+2
\ 0000002C 01002DE9 PUSH {R0}
\ 00000030 0230A0E3 MOV R3,#+2
\ 00000034 28209FE5 LDR R2,??AppTaskCreate_0+0x4 ;; AppTaskKbdStk + 2044
\ 00000038 0010A0E3 MOV R1,#+0
\ 0000003C 24009FE5 LDR R0,??AppTaskCreate_0+0x8 ;; AppTaskKbd
\ 00000040 ........ _BLF OSTaskCreateExt,??OSTaskCreateExt??rA
\ 00000044 14D08DE2 ADD SP,SP,#+20 ;; stack cleaning
294
295 #if OS_TASK_NAME_SIZE > 9
296 OSTaskNameSet(APP_TASK_KBD_PRIO, "Keyboard", &err);
\ 00000048 0D20B0E1 MOVS R2,SP
\ 0000004C 18109FE5 LDR R1,??AppTaskCreate_0+0xC ;; `?<Constant "Keyboard">`
\ 00000050 0200A0E3 MOV R0,#+2
\ 00000054 ........ _BLF OSTaskNameSet,??OSTaskNameSet??rA
297 #endif
298 }
\ 00000058 04D08DE2 ADD SP,SP,#+4 ;; stack cleaning
\ 0000005C 0080BDE8 POP {PC} ;; return
\ ??AppTaskCreate_0:
\ 00000060 ........ DC32 AppTaskKbdStk
\ 00000064 ........ DC32 AppTaskKbdStk + 2044
\ 00000068 ........ DC32 AppTaskKbd
\ 0000006C ........ DC32 `?<Constant "Keyboard">`
299
300 /*
301 *********************************************************************************************************
302 * uC/OS-VIew Terminal Window Callback
303 *
304 * Description : This is the callback function for uC/OS-View
305 *
306 * Arguments : rx_data is the received data.
307 *
308 * Returns : none
309 *********************************************************************************************************
310 */
311
312 #if OS_VIEW_MODULE > 0
\ In segment CODE, align 4, keep-with-next
313 static void AppTerminalRx (CPU_INT08U rx_data)
314 {
315
316 }
\ AppTerminalRx:
\ 00000000 0EF0A0E1 MOV PC,LR ;; return
\ In segment CODE, align 4, keep-with-next
\ ??DataTable5:
\ 00000000 ........ DC32 AppKbdQ
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "Start Task">`:
\ 00000000 537461727420 DC8 "Start Task"
\ 5461736B00
\ 0000000B 00 DC8 0
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "Keyboard">`:
\ 00000000 4B6579626F61 DC8 "Keyboard"
\ 726400
\ 00000009 000000 DC8 0, 0, 0
317 #endif
Maximum stack usage in bytes:
Function CSTACK
-------- ------
AppTaskCreate 28
AppTaskKbd 36
AppTaskStart 20
AppTerminalRx 0
main 28
Segment part sizes:
Function/Label Bytes
-------------- -----
AppTaskStartStk 2048
AppTaskKbdStk 2048
AppKbdQStorage 64
AppKbdQ 4
main 124
AppTaskStart 500
AppTaskKbd 240
AppTaskCreate 112
AppTerminalRx 4
??DataTable5 4
?<Constant "Start Task"> 12
?<Constant "Keyboard"> 12
Others 264
1 236 bytes in segment CODE
24 bytes in segment DATA_C
4 164 bytes in segment DATA_Z
12 bytes in segment INITTAB
984 bytes of CODE memory (+ 264 bytes shared)
24 bytes of CONST memory
4 164 bytes of DATA memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -