📄 app.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 942] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\app.o --depend=.\rvmdk\app.d --device=DARMSTM --apcs=interwork -O1 -Otime -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\arm-cortex-m3\Generic\RealView -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\CPU\ST\STM32\inc -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\Arm-Cortex-M3\RealView -I..\..\..\..\..\uC-LIB -I..\..\..\..\..\uC-Probe\Target\Plugins\uCOS-II -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\Source -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Ports\ST\STM32 -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Source -IC:\Keil\ARM\INC\ST\STM32F10x app.c]
THUMB
AREA ||.text||, CODE, READONLY, ALIGN=2
AppFormatDec PROC
;;;759 static void AppFormatDec (CPU_INT08U *s, CPU_INT32U value, CPU_INT08U digits)
;;;760 {
000000 b410 PUSH {r4}
;;;761 CPU_INT08U i;
;;;762 CPU_INT32U mult;
;;;763
;;;764
;;;765 mult = 1;
000002 2301 MOVS r3,#1
;;;766 for (i = 0; i < (digits - 1); i++) {
000004 f04f0c00 MOV r12,#0
000008 1e52 SUBS r2,r2,#1
00000a 240a MOVS r4,#0xa
00000c 2a00 CMP r2,#0
00000e dd06 BLE |L1.30|
|L1.16|
;;;767 mult *= 10;
000010 4363 MULS r3,r4,r3
000012 f10c0c01 ADD r12,r12,#1 ;766
000016 f00c0cff AND r12,r12,#0xff ;766
00001a 4594 CMP r12,r2 ;766
00001c dbf8 BLT |L1.16|
|L1.30|
;;;768 }
;;;769 while (mult > 0) {
00001e 2b00 CMP r3,#0
000020 d00b BEQ |L1.58|
|L1.34|
;;;770 *s++ = value / mult + '0';
000022 fbb1f2f3 UDIV r2,r1,r3
000026 f1020c30 ADD r12,r2,#0x30
00002a f800cb01 STRB r12,[r0],#1
;;;771 value %= mult;
00002e fb031112 MLS r1,r3,r2,r1
;;;772 mult /= 10;
000032 fbb3f3f4 UDIV r3,r3,r4
000036 2b00 CMP r3,#0 ;769
000038 d1f3 BNE |L1.34|
|L1.58|
;;;773 }
;;;774 }
00003a bc10 POP {r4}
00003c 4770 BX lr
;;;775
ENDP
AppTaskProbeStr PROC
;;;630 static void AppTaskProbeStr (void *p_arg)
;;;631 {
00003e b570 PUSH {r4-r6,lr}
;;;632 CPU_INT32U i;
;;;633 static CPU_CHAR buffer[64];
;;;634
;;;635
;;;636 i = 0;
000040 2400 MOVS r4,#0
;;;637
;;;638 while (DEF_TRUE) {
000042 4df9 LDR r5,|L1.1064|
|L1.68|
;;;639 Str_Copy(buffer, "String Tx #xxxxx\n");
000044 a1f9 ADR r1,|L1.1068|
000046 48f8 LDR r0,|L1.1064|
000048 f7fffffe BL Str_Copy
;;;640 AppFormatDec(&buffer[11], i, 5);
00004c 2205 MOVS r2,#5
00004e 4621 MOV r1,r4
000050 f105000b ADD r0,r5,#0xb
000054 f7fffffe BL AppFormatDec
;;;641 i++;
000058 1c64 ADDS r4,r4,#1
;;;642 ProbeCom_TxStr(buffer, 100);
00005a 2164 MOVS r1,#0x64
00005c 48f2 LDR r0,|L1.1064|
00005e f7fffffe BL ProbeCom_TxStr
;;;643 OSTimeDlyHMSM(0, 0, 1, 0);
000062 2300 MOVS r3,#0
000064 2201 MOVS r2,#1
000066 4619 MOV r1,r3
000068 4618 MOV r0,r3
00006a f7fffffe BL OSTimeDlyHMSM
00006e e7e9 B |L1.68|
;;;644 }
;;;645 }
;;;646 #endif
ENDP
AppTaskKbd PROC
;;;416 static void AppTaskKbd (void *p_arg)
;;;417 {
000070 e92d41f0 PUSH {r4-r8,lr}
;;;418 CPU_BOOLEAN b1_prev;
;;;419 CPU_BOOLEAN b1;
;;;420 CPU_INT08U key;
;;;421
;;;422
;;;423 (void)p_arg;
;;;424
;;;425 b1_prev = DEF_FALSE;
000074 2500 MOVS r5,#0
;;;426 key = 1;
000076 2401 MOVS r4,#1
;;;427
;;;428 while (DEF_TRUE) {
000078 4ff1 LDR r7,|L1.1088|
|L1.122|
;;;429 b1 = PB_GetStatus(1);
00007a 2001 MOVS r0,#1
00007c f7fffffe BL PB_GetStatus
000080 4606 MOV r6,r0
;;;430
;;;431 if (b1 == DEF_TRUE && b1_prev == DEF_FALSE) {
000082 2e01 CMP r6,#1
000084 d10a BNE |L1.156|
000086 b94d CBNZ r5,|L1.156|
;;;432 if (key == 2) {
000088 2c02 CMP r4,#2
00008a d101 BNE |L1.144|
;;;433 key = 1;
00008c 2401 MOVS r4,#1
00008e e001 B |L1.148|
|L1.144|
;;;434 } else {
;;;435 key++;
000090 1c60 ADDS r0,r4,#1
000092 b2c4 UXTB r4,r0
|L1.148|
;;;436 }
;;;437
;;;438 OSMboxPost(AppUserIFMbox, (void *)key);
000094 4621 MOV r1,r4
000096 68b8 LDR r0,[r7,#8] ; AppUserIFMbox
000098 f7fffffe BL OSMboxPost
|L1.156|
;;;439 }
;;;440
;;;441 b1_prev = b1;
00009c 4635 MOV r5,r6
;;;442
;;;443 OSTimeDlyHMSM(0, 0, 0, 20);
00009e 2200 MOVS r2,#0
0000a0 2314 MOVS r3,#0x14
0000a2 4611 MOV r1,r2
0000a4 4610 MOV r0,r2
0000a6 f7fffffe BL OSTimeDlyHMSM
0000aa e7e6 B |L1.122|
;;;444 }
;;;445 }
;;;446
ENDP
AppDispScr_SignOn PROC
;;;460 static void AppDispScr_SignOn (void)
;;;461 {
0000ac b570 PUSH {r4-r6,lr}
;;;462 CPU_INT32U value;
;;;463
;;;464
;;;465 Str_Copy(AppLCDLine0, " Micrium uC/OS-II ");
0000ae a1e5 ADR r1,|L1.1092|
0000b0 48ea LDR r0,|L1.1116|
0000b2 f7fffffe BL Str_Copy
;;;466 Str_Copy(AppLCDLine1, "ST STM32 (Cortex-M3)");
0000b6 a1ea ADR r1,|L1.1120|
0000b8 48ef LDR r0,|L1.1144|
0000ba f7fffffe BL Str_Copy
;;;467
;;;468 Str_Copy(AppLCDLine2, " ");
0000be a1ef ADR r1,|L1.1148|
0000c0 48f4 LDR r0,|L1.1172|
0000c2 f7fffffe BL Str_Copy
;;;469
;;;470 Str_Copy(AppLCDLine3, " uC/OS-II: Vx.yy ");
0000c6 a1f4 ADR r1,|L1.1176|
0000c8 48f9 LDR r0,|L1.1200|
0000ca f7fffffe BL Str_Copy
;;;471 value = (CPU_INT32U)OSVersion();
0000ce f7fffffe BL OSVersion
;;;472 AppLCDLine3[14] = value / 100 + '0';
0000d2 2564 MOVS r5,#0x64
0000d4 fbb0f1f5 UDIV r1,r0,r5
0000d8 4af5 LDR r2,|L1.1200|
0000da f1010330 ADD r3,r1,#0x30
0000de 7393 STRB r3,[r2,#0xe] ; AppLCDLine3
;;;473 AppLCDLine3[16] = (value % 100) / 10 + '0';
0000e0 fb050111 MLS r1,r5,r1,r0
0000e4 240a MOVS r4,#0xa
0000e6 fbb1f1f4 UDIV r1,r1,r4
0000ea 3130 ADDS r1,r1,#0x30
0000ec 7411 STRB r1,[r2,#0x10] ; AppLCDLine3
;;;474 AppLCDLine3[17] = (value % 10) + '0';
0000ee fbb0f1f4 UDIV r1,r0,r4
0000f2 fb040011 MLS r0,r4,r1,r0
0000f6 3030 ADDS r0,r0,#0x30
0000f8 7450 STRB r0,[r2,#0x11] ; AppLCDLine3
;;;475
;;;476 Str_Copy(AppLCDLine4, " TickRate: xxxx ");
0000fa a1ee ADR r1,|L1.1204|
0000fc f1020015 ADD r0,r2,#0x15
000100 f7fffffe BL Str_Copy
;;;477 value = (CPU_INT32U)OS_TICKS_PER_SEC;
;;;478 AppFormatDec(&AppLCDLine4[14], value, 4);
000104 2204 MOVS r2,#4
000106 4629 MOV r1,r5
000108 48f0 LDR r0,|L1.1228|
00010a f7fffffe BL AppFormatDec
;;;479
;;;480 Str_Copy(AppLCDLine5, " CPU Usage:xx % ");
00010e a1f0 ADR r1,|L1.1232|
000110 48f5 LDR r0,|L1.1256|
000112 f7fffffe BL Str_Copy
;;;481 value = (CPU_INT32U)OSCPUUsage;
000116 48f5 LDR r0,|L1.1260|
000118 f9900000 LDRSB r0,[r0,#0] ; OSCPUUsage
;;;482 AppLCDLine5[12] = (value / 10) + '0';
00011c 4af2 LDR r2,|L1.1256|
00011e fbb0f1f4 UDIV r1,r0,r4
000122 f1010330 ADD r3,r1,#0x30
000126 7313 STRB r3,[r2,#0xc] ; AppLCDLine5
;;;483 AppLCDLine5[13] = (value % 10) + '0';
000128 fb040011 MLS r0,r4,r1,r0
00012c 3030 ADDS r0,r0,#0x30
00012e 7350 STRB r0,[r2,#0xd] ; AppLCDLine5
;;;484
;;;485 Str_Copy(AppLCDLine6, " CPU Speed:xx MHz ");
000130 a1ef ADR r1,|L1.1264|
000132 f1020015 ADD r0,r2,#0x15
000136 f7fffffe BL Str_Copy
;;;486 value = (CPU_INT32U)BSP_CPU_ClkFreq() / 1000000L;
00013a f7fffffe BL BSP_CPU_ClkFreq
00013e 49f2 LDR r1,|L1.1288|
000140 fbb0f0f1 UDIV r0,r0,r1
;;;487 AppLCDLine6[12] = (value / 10) + '0';
000144 fbb0f1f4 UDIV r1,r0,r4
000148 4af0 LDR r2,|L1.1292|
00014a f1010330 ADD r3,r1,#0x30
00014e 7313 STRB r3,[r2,#0xc] ; AppLCDLine6
;;;488 AppLCDLine6[13] = (value % 10) + '0';
000150 fb040011 MLS r0,r4,r1,r0
000154 3030 ADDS r0,r0,#0x30
000156 7350 STRB r0,[r2,#0xd] ; AppLCDLine6
;;;489
;;;490 Str_Copy(AppLCDLine7, " #Ticks: xxxxxxxx ");
000158 a1ed ADR r1,|L1.1296|
00015a f1020015 ADD r0,r2,#0x15
00015e f7fffffe BL Str_Copy
;;;491 value = (CPU_INT32U)OSTime;
000162 48f1 LDR r0,|L1.1320|
000164 6801 LDR r1,[r0,#0] ; OSTime
;;;492 AppFormatDec(&AppLCDLine7[10], value, 8);
000166 2208 MOVS r2,#8
000168 48f0 LDR r0,|L1.1324|
00016a f7fffffe BL AppFormatDec
;;;493
;;;494 Str_Copy(AppLCDLine8, " #CtxSw: xxxxxxxx ");
00016e a1f0 ADR r1,|L1.1328|
000170 48f5 LDR r0,|L1.1352|
000172 f7fffffe BL Str_Copy
;;;495 value = (CPU_INT32U)OSCtxSwCtr;
000176 48f5 LDR r0,|L1.1356|
000178 6801 LDR r1,[r0,#0] ; OSCtxSwCtr
;;;496 AppFormatDec(&AppLCDLine8[10], value, 8);
00017a 2208 MOVS r2,#8
00017c 48f4 LDR r0,|L1.1360|
00017e f7fffffe BL AppFormatDec
;;;497
;;;498 Str_Copy(AppLCDLine9, " ");
000182 a1be ADR r1,|L1.1148|
000184 48f3 LDR r0,|L1.1364|
000186 f7fffffe BL Str_Copy
;;;499
;;;500 LCD_SetTextColor(COLOR_BLUE);
00018a 201f MOVS r0,#0x1f
00018c f7fffffe BL LCD_SetTextColor
;;;501 LCD_DisplayString(APP_LINE_0, AppLCDLine0);
000190 49b2 LDR r1,|L1.1116|
000192 2000 MOVS r0,#0
000194 f7fffffe BL LCD_DisplayString
;;;502 LCD_DisplayString(APP_LINE_1, AppLCDLine1);
000198 49b7 LDR r1,|L1.1144|
00019a 2018 MOVS r0,#0x18
00019c f7fffffe BL LCD_DisplayString
;;;503 LCD_SetTextColor(COLOR_BLACK);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -