📄 app.lst
字号:
\ 000000E8 3035 ADDS R5,R5,#+48
\ 000000EA 2900 MOVS R1,R5
\ 000000EC 4846 MOV R0,R9
\ 000000EE ........ _BLF Str_Copy,??Str_Copy??rT
493 value = (CPU_INT32U)OSCtxSwCtr;
494 App_FormatDec(&App_LCDLine8[10], value, 8);
\ 000000F2 0822 MOVS R2,#+8
\ 000000F4 1F48 LDR.N R0,??App_DispScr_SignOn_0+0x8 ;; OSCtxSwCtr
\ 000000F6 0168 LDR R1,[R0, #+0]
\ 000000F8 2000 MOVS R0,R4
\ 000000FA 9A30 ADDS R0,R0,#+154
\ 000000FC ........ BL App_FormatDec
495
496 Str_Copy(App_LCDLine9, " ");
\ 00000100 4146 MOV R1,R8
\ 00000102 2000 MOVS R0,R4
\ 00000104 A830 ADDS R0,R0,#+168
\ 00000106 ........ _BLF Str_Copy,??Str_Copy??rT
497
498 LCD_SetTextColor(APP_COLOR_BLUE);
\ 0000010A 1F20 MOVS R0,#+31
\ 0000010C ........ _BLF LCD_SetTextColor,??LCD_SetTextColor??rT
499 LCD_DisplayString(APP_LINE_0, App_LCDLine0);
\ 00000110 2100 MOVS R1,R4
\ 00000112 1831 ADDS R1,R1,#+24
\ 00000114 0020 MOVS R0,#+0
\ 00000116 ........ _BLF LCD_DisplayString,??LCD_DisplayString??rT
500 LCD_DisplayString(APP_LINE_1, App_LCDLine1);
\ 0000011A 2100 MOVS R1,R4
\ 0000011C 3031 ADDS R1,R1,#+48
\ 0000011E 1820 MOVS R0,#+24
\ 00000120 ........ _BLF LCD_DisplayString,??LCD_DisplayString??rT
501 LCD_SetTextColor(APP_COLOR_BLACK);
\ 00000124 0020 MOVS R0,#+0
\ 00000126 ........ _BLF LCD_SetTextColor,??LCD_SetTextColor??rT
502 LCD_DisplayString(APP_LINE_2, App_LCDLine2);
\ 0000012A 2100 MOVS R1,R4
\ 0000012C 4831 ADDS R1,R1,#+72
\ 0000012E 3020 MOVS R0,#+48
\ 00000130 ........ _BLF LCD_DisplayString,??LCD_DisplayString??rT
503 LCD_DisplayString(APP_LINE_3, App_LCDLine3);
\ 00000134 2100 MOVS R1,R4
\ 00000136 4820 MOVS R0,#+72
\ 00000138 ........ _BLF LCD_DisplayString,??LCD_DisplayString??rT
504 LCD_DisplayString(APP_LINE_4, App_LCDLine4);
\ 0000013C 2100 MOVS R1,R4
\ 0000013E 6031 ADDS R1,R1,#+96
\ 00000140 6020 MOVS R0,#+96
\ 00000142 ........ _BLF LCD_DisplayString,??LCD_DisplayString??rT
505 LCD_DisplayString(APP_LINE_5, App_LCDLine5);
\ 00000146 3100 MOVS R1,R6
\ 00000148 7820 MOVS R0,#+120
\ 0000014A ........ _BLF LCD_DisplayString,??LCD_DisplayString??rT
506 LCD_DisplayString(APP_LINE_6, App_LCDLine6);
\ 0000014E 3900 MOVS R1,R7
\ 00000150 9020 MOVS R0,#+144
\ 00000152 ........ _BLF LCD_DisplayString,??LCD_DisplayString??rT
507 LCD_DisplayString(APP_LINE_7, App_LCDLine7);
\ 00000156 7834 ADDS R4,R4,#+120
\ 00000158 2100 MOVS R1,R4
\ 0000015A A820 MOVS R0,#+168
\ 0000015C ........ _BLF LCD_DisplayString,??LCD_DisplayString??rT
508 LCD_DisplayString(APP_LINE_8, App_LCDLine8);
\ 00000160 4946 MOV R1,R9
\ 00000162 C020 MOVS R0,#+192
\ 00000164 ........ _BLF LCD_DisplayString,??LCD_DisplayString??rT
509 }
\ 00000168 BDE8F083 POP {R4-R9,PC} ;; return
\ ??App_DispScr_SignOn_0:
\ 0000016C ........ DC32 OSCPUUsage
\ 00000170 40420F00 DC32 0xf4240
\ 00000174 ........ DC32 OSCtxSwCtr
510
511
512
513 /*
514 *********************************************************************************************************
515 * App_DispScr_SignOn()
516 *
517 * Description : Display uC/OS-II system information on the LCD.
518 *
519 * Argument(s) : none.
520 *
521 * Return(s) : none.
522 *
523 * Caller(s) : App_TaskUserIF().
524 *
525 * Note(s) : none.
526 *********************************************************************************************************
527 */
528
\ In segment CODE, align 4, keep-with-next
529 static void App_DispScr_TaskNames (void)
530 {
\ App_DispScr_TaskNames:
\ 00000000 2DE9F14F PUSH {R0,R4-R11,LR}
531 CPU_INT08U ix;
532 OS_TCB *ptcb;
533 CPU_CHAR *line;
534 CPU_INT08U value;
535
536
537 ptcb = &OSTCBTbl[0];
\ 00000004 584D LDR.N R5,??App_DispScr_TaskNames_1 ;; OSTCBTbl
\ 00000006 0026 MOVS R6,#+0
538 ix = 0;
539
540 Str_Copy(App_LCDLine0, " Micrium uC/OS-II ");
\ 00000008 .... LDR.N R4,??DataTable8 ;; App_LCDLine3
\ 0000000A .... LDR.N R0,??DataTable9 ;; `?<Constant " TickRate: xxxx ">`
\ 0000000C 8046 MOV R8,R0
\ 0000000E 4146 MOV R1,R8
\ 00000010 D831 ADDS R1,R1,#+216
\ 00000012 2000 MOVS R0,R4
\ 00000014 1830 ADDS R0,R0,#+24
\ 00000016 ........ _BLF Str_Copy,??Str_Copy??rT
541 Str_Copy(App_LCDLine1, "ST STM32 (Cortex-M3)");
\ 0000001A 4146 MOV R1,R8
\ 0000001C C031 ADDS R1,R1,#+192
\ 0000001E 2000 MOVS R0,R4
\ 00000020 3030 ADDS R0,R0,#+48
\ 00000022 ........ _BLF Str_Copy,??Str_Copy??rT
542
543 Str_Copy(App_LCDLine2, " Prio Taskname ");
\ 00000026 4146 MOV R1,R8
\ 00000028 1831 ADDS R1,R1,#+24
\ 0000002A 2000 MOVS R0,R4
\ 0000002C 4830 ADDS R0,R0,#+72
\ 0000002E ........ _BLF Str_Copy,??Str_Copy??rT
\ 00000032 04F29009 ADDW R9,R4,#+144
\ 00000036 04F2A80A ADDW R10,R4,#+168
\ 0000003A 1AE0 B.N ??App_DispScr_TaskNames_2
544
545 while (ptcb != NULL) {
546 value = ptcb->OSTCBPrio;
547
548 switch (ix) {
549 case 0:
550 line = App_LCDLine3;
551 break;
552
553 case 1:
554 line = App_LCDLine4;
555 break;
556
557 case 2:
558 line = App_LCDLine5;
559 break;
560
561 case 3:
562 line = App_LCDLine6;
563 break;
564
565 case 4:
566 line = App_LCDLine7;
567 break;
568
569 case 5:
570 line = App_LCDLine8;
571 break;
572
573 case 6:
574 line = App_LCDLine9;
575 break;
576
577 default:
578 line = (CPU_CHAR *)0;
579 break;
580 }
581
582 if (line == (CPU_CHAR *)0) {
583 break;
584 }
585
586 line[0] = ' ';
\ ??App_DispScr_TaskNames_3:
\ 0000003C 2022 MOVS R2,#+32
\ 0000003E 1A70 STRB R2,[R3, #+0]
587 line[1] = ' ';
\ 00000040 5A70 STRB R2,[R3, #+1]
588 line[2] = ' ';
\ 00000042 9A70 STRB R2,[R3, #+2]
589 line[3] = value / 10 + '0';
\ 00000044 0098 LDR R0,[SP, #+0]
\ 00000046 C0B2 UXTB R0,R0
\ 00000048 0A21 MOVS R1,#+10
\ 0000004A 90FBF1F1 SDIV R1,R0,R1
\ 0000004E 3031 ADDS R1,R1,#+48
\ 00000050 D970 STRB R1,[R3, #+3]
590 line[4] = value % 10 + '0';
\ 00000052 0A21 MOVS R1,#+10
\ 00000054 ........ _BLF ??div32_t,??rT??div32_t
\ 00000058 3030 ADDS R0,R0,#+48
\ 0000005A 1871 STRB R0,[R3, #+4]
591 line[5] = ' ';
\ 0000005C 5A71 STRB R2,[R3, #+5]
592 Str_Copy_N(line + 6, ptcb->OSTCBTaskName, 14);
\ 0000005E 0E22 MOVS R2,#+14
\ 00000060 4C35 ADDS R5,R5,#+76
\ 00000062 2900 MOVS R1,R5
\ 00000064 9B1D ADDS R3,R3,#+6
\ 00000066 1800 MOVS R0,R3
\ 00000068 ........ _BLF Str_Copy_N,??Str_Copy_N??rT
593
594 ptcb = ptcb->OSTCBPrev;
\ 0000006C 3D68 LDR R5,[R7, #+0]
595 ix++;
\ 0000006E 761C ADDS R6,R6,#+1
\ 00000070 F6B2 UXTB R6,R6
\ ??App_DispScr_TaskNames_2:
\ 00000072 .... LDR.N R0,??DataTable10 ;; App_LCDLine6
\ 00000074 8346 MOV R11,R0
\ 00000076 002D CMP R5,#+0
\ 00000078 1FD0 BEQ.N ??App_DispScr_TaskNames_4
\ 0000007A 2F00 MOVS R7,R5
\ 0000007C 1837 ADDS R7,R7,#+24
\ 0000007E B87E LDRB R0,[R7, #+26]
\ 00000080 0090 STR R0,[SP, #+0]
\ 00000082 3000 MOVS R0,R6
\ 00000084 0628 CMP R0,#+6
\ 00000086 15D8 BHI.N ??App_DispScr_TaskNames_5
\ 00000088 DFE800F0 TBB [PC, R0]
\ ??App_DispScr_TaskNames_0:
\ 0000008C 0406090B DC8 +4,+6,+9,+11
\ 00000090 0D101200 DC8 +13,+16,+18,+0
\ ??App_DispScr_TaskNames_6:
\ 00000094 2300 MOVS R3,R4
\ 00000096 0EE0 B.N ??App_DispScr_TaskNames_7
\ ??App_DispScr_TaskNames_8:
\ 00000098 2300 MOVS R3,R4
\ 0000009A 6033 ADDS R3,R3,#+96
\ 0000009C 0BE0 B.N ??App_DispScr_TaskNames_7
\ ??App_DispScr_TaskNames_9:
\ 0000009E .... LDR.N R3,??DataTable12 ;; App_LCDLine5
\ 000000A0 09E0 B.N ??App_DispScr_Task
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -