📄 dashboard.txt
字号:
00017c 9904 LDR r1,[sp,#0x10]
00017e f06ff06f MVN r0,#3
000182 eb00eb00 ADD r0,r0,r1,ASR #1
000186 2800 CMP r0,#0
000188 dc00 BGT |L16.396|
00018a 2000 MOVS r0,#0
|L16.396|
00018c f7fff7ff BL __aeabi_i2f
000190 4659 MOV r1,r11
000192 f7fff7ff BL __aeabi_fmul
000196 f04ff04f MOV r1,#0x40800000
00019a f7fff7ff BL __aeabi_fadd
00019e f7fff7ff BL __aeabi_f2iz
;;;6942 GUI_DispStringAt(acText, xt - w / 2 + 1, yt - h + 1);
0001a2 eba8eba8 SUB r2,r8,r0
0001a6 eb09eb09 ADD r0,r9,r9,LSR #31
0001aa eba7eba7 SUB r1,r7,r0,ASR #1
0001ae 1c52 ADDS r2,r2,#1
0001b0 1c49 ADDS r1,r1,#1
0001b2 4668 MOV r0,sp
0001b4 f7fff7ff BL GUI_DispStringAt
;;;6943 Cnt += pObj->NumStep * _Pow10[pObj->NumExp];
0001b8 4a08 LDR r2,|L16.476|
0001ba 6da1 LDR r1,[r4,#0x58]
0001bc 6d20 LDR r0,[r4,#0x50]
0001be f852f852 LDR r1,[r2,r1,LSL #2]
0001c2 1c6d ADDS r5,r5,#1 ;6933
0001c4 fb00fb00 MLA r6,r0,r1,r6
|L16.456|
0001c8 f8d4f8d4 LDR r8,[r4,#0x24] ;6933
0001cc 45a8 CMP r8,r5 ;6933
0001ce f73ff73f BGT |L16.162|
|L16.466|
;;;6944 }
;;;6945 }
;;;6946 }
0001d2 b005 ADD sp,sp,#0x14
0001d4 e8bde8bd POP {r4-r11,pc}
;;;6947
ENDP
|L16.472|
0001d8 00000000 DCD GUI_Font6x8
|L16.476|
0001dc 00000000 DCD ||.constdata||
|L16.480|
0001e0 544486e0
0001e4 400921fb DCFD 0x400921fb544486e0 ; 3.1415926536000001
|L16.488|
0001e8 00000000
0001ec 40568000 DCFD 0x4056800000000000 ; 90
|L16.496|
0001f0 00000000
0001f4 40668000 DCFD 0x4066800000000000 ; 180
AREA ||i._DrawLine||, CODE, READONLY, ALIGN=2
_DrawLine PROC
;;;6855 */
;;;6856 static void _DrawLine(const SCALE* pObj, int r1, int r2, float Angel) {
000000 e92de92d PUSH {r4-r12,lr}
000004 4606 MOV r6,r0
000006 460f MOV r7,r1
000008 4690 MOV r8,r2
00000a 4618 MOV r0,r3
;;;6857 float co = cos(Angel / 180.) * FACTOR;
00000c f7fff7ff BL __aeabi_f2d
000010 4604 MOV r4,r0
000012 a031 ADR r0,|L17.216|
000014 c80c LDM r0!,{r2,r3}
000016 4620 MOV r0,r4
000018 f7fff7ff BL __aeabi_ddiv
00001c 4689 MOV r9,r1
00001e 4605 MOV r5,r0
000020 f7fff7ff BL ||cos||
000024 a42e ADR r4,|L17.224|
000026 e9d4e9d4 LDRD r2,r3,[r4,#0]
00002a f7fff7ff BL __aeabi_dmul
00002e f7fff7ff BL __aeabi_d2f
000032 4682 MOV r10,r0
000034 4628 MOV r0,r5
000036 4649 MOV r1,r9
;;;6858 float si = sin(Angel / 180.) * FACTOR;
000038 f7fff7ff BL ||sin||
00003c cc0c LDM r4!,{r2,r3}
00003e f7fff7ff BL __aeabi_dmul
000042 f7fff7ff BL __aeabi_d2f
000046 4681 MOV r9,r0
;;;6859 int x0 = pObj->x0 * FACTOR - r1 * co;
000048 4638 MOV r0,r7
00004a f7fff7ff BL __aeabi_i2f
00004e 4605 MOV r5,r0
000050 4651 MOV r1,r10
000052 f7fff7ff BL __aeabi_fmul
000056 4604 MOV r4,r0
000058 68b0 LDR r0,[r6,#8]
00005a f04ff04f MOV r11,#6
00005e fb00fb00 MUL r0,r0,r11
000062 f7fff7ff BL __aeabi_i2f
000066 4607 MOV r7,r0
000068 4621 MOV r1,r4
00006a f7fff7ff BL __aeabi_fsub
00006e f7fff7ff BL __aeabi_f2iz
000072 4604 MOV r4,r0
;;;6860 int y0 = pObj->y0 * FACTOR - r1 * si;
000074 4649 MOV r1,r9
000076 4628 MOV r0,r5
000078 f7fff7ff BL __aeabi_fmul
00007c 4605 MOV r5,r0
00007e 68f0 LDR r0,[r6,#0xc]
000080 fb00fb00 MUL r0,r0,r11
000084 f7fff7ff BL __aeabi_i2f
000088 4606 MOV r6,r0
00008a 4629 MOV r1,r5
00008c f7fff7ff BL __aeabi_fsub
000090 f7fff7ff BL __aeabi_f2iz
000094 4605 MOV r5,r0
;;;6861 int x1 = pObj->x0 * FACTOR - r2 * co;
000096 4640 MOV r0,r8
000098 f7fff7ff BL __aeabi_i2f
00009c 4680 MOV r8,r0
00009e 4651 MOV r1,r10
0000a0 f7fff7ff BL __aeabi_fmul
0000a4 4601 MOV r1,r0
0000a6 4638 MOV r0,r7
0000a8 f7fff7ff BL __aeabi_fsub
0000ac f7fff7ff BL __aeabi_f2iz
0000b0 4607 MOV r7,r0
;;;6862 int y1 = pObj->y0 * FACTOR - r2 * si;
0000b2 4649 MOV r1,r9
0000b4 4640 MOV r0,r8
0000b6 f7fff7ff BL __aeabi_fmul
0000ba 4601 MOV r1,r0
0000bc 4630 MOV r0,r6
0000be f7fff7ff BL __aeabi_fsub
0000c2 f7fff7ff BL __aeabi_f2iz
;;;6863 GUI_AA_DrawLine(x0, y0, x1, y1);
0000c6 4603 MOV r3,r0
0000c8 463a MOV r2,r7
0000ca 4629 MOV r1,r5
0000cc 4620 MOV r0,r4
0000ce e8bde8bd POP {r4-r12,lr}
0000d2 f7fff7ff B.W GUI_AA_DrawLine
;;;6864 }
;;;6865
ENDP
0000d6 0000 DCW 0x0000
|L17.216|
0000d8 00000000
0000dc 40668000 DCFD 0x4066800000000000 ; 180
|L17.224|
0000e0 00000000
0000e4 40180000 DCFD 0x4018000000000000 ; 6
AREA ||i._DrawLines||, CODE, READONLY, ALIGN=2
_DrawLines PROC
;;;6869 */
;;;6870 static void _DrawLines(const SCALE* pObj, int iEnd, int rStart, int rEnd) {
000000 e92de92d PUSH {r0-r11,lr}
000004 b081 SUB sp,sp,#4
000006 4683 MOV r11,r0
000008 460d MOV r5,r1
;;;6871 int i, ArcLen = _GetArcLen(pObj);
00000a f7fff7ff BL _GetArcLen
;;;6872 float Angel;
;;;6873 GUI_SetColor(_CalcColor(&pObj->Color[0]));
00000e 9000 STR r0,[sp,#0]
000010 f10bf10b ADD r0,r11,#0xa0
000014 f7fff7ff BL _CalcColor
000018 f7fff7ff BL GUI_SetColor
;;;6874 HIRES_ON();
00001c f7fff7ff BL GUI_AA_EnableHiRes
;;;6875 for (i = 0; i <= iEnd; i++) {
000020 2400 MOVS r4,#0
000022 a61e ADR r6,|L18.156|
000024 e032 B |L18.140|
;;;6876 Angel = (i * ArcLen * PI) / _Max(iEnd, 1) + (pObj->ArcStart - 90.) * PI;
000026 bf00 NOP
|L18.40|
000028 f8dbf8db LDR r0,[r11,#0x10]
00002c f7fff7ff BL __aeabi_i2d
000030 4607 MOV r7,r0
000032 a01c ADR r0,|L18.164|
000034 c80c LDM r0!,{r2,r3}
000036 4638 MOV r0,r7
000038 f7fff7ff BL __aeabi_dsub
00003c e9d6e9d6 LDRD r2,r3,[r6,#0]
000040 f7fff7ff BL __aeabi_dmul
000044 4682 MOV r10,r0
000046 460f MOV r7,r1
000048 4628 MOV r0,r5
00004a 2d01 CMP r5,#1
00004c dc00 BGT |L18.80|
00004e 2001 MOVS r0,#1
|L18.80|
000050 f7fff7ff BL __aeabi_i2d
000054 4689 MOV r9,r1
000056 9900 LDR r1,[sp,#0]
000058 4680 MOV r8,r0
00005a fb04fb04 MUL r0,r4,r1
00005e f7fff7ff BL __aeabi_i2d
000062 e9d6e9d6 LDRD r2,r3,[r6,#0]
000066 f7fff7ff BL __aeabi_dmul
00006a 464b MOV r3,r9
00006c 4642 MOV r2,r8
00006e f7fff7ff BL __aeabi_ddiv
000072 463b MOV r3,r7
000074 4652 MOV r2,r10
000076 f7fff7ff BL __aeabi_dadd
00007a f7fff7ff BL __aeabi_d2f
;;;6877 _DrawLine(pObj, rStart, rEnd, Angel);
00007e e9dde9dd LDRD r1,r2,[sp,#0xc]
000082 4603 MOV r3,r0 ;6876
000084 4658 MOV r0,r11
000086 f7fff7ff BL _DrawLine
00008a 1c64 ADDS r4,r4,#1 ;6875
|L18.140|
00008c 42ac CMP r4,r5 ;6875
00008e ddcb BLE |L18.40|
;;;6878 }
;;;6879 HIRES_OFF();
000090 b005 ADD sp,sp,#0x14
000092 e8bde8bd POP {r4-r11,lr}
000096 f7fff7ff B.W GUI_AA_DisableHiRes
;;;6880 }
;;;6881
ENDP
00009a 0000 DCW 0x0000
|L18.156|
00009c 544486e0
0000a0 400921fb DCFD 0x400921fb544486e0 ; 3.1415926536000001
|L18.164|
0000a4 00000000
0000a8 40568000 DCFD 0x4056800000000000 ; 90
AREA ||i._DrawArcs||, CODE, READONLY, ALIGN=2
_DrawArcs PROC
;;;6994 */
;;;6995 static void _DrawArcs(const SCALE* pObj) {
000000 e92de92d PUSH {r2-r8,lr}
000004 4604 MOV r4,r0
;;;6996 int Start, End, r1, r2;
;;;6997 Start = (pObj->ArcStart < pObj->ArcEnd) ? 270 - pObj->ArcStart : 630 - pObj->ArcStart;
000006 6900 LDR r0,[r0,#0x10]
000008 6961 LDR r1,[r4,#0x14]
00000a 4288 CMP r0,r1
00000c da02 BGE |L19.20|
00000e f5c0f5c0 RSB r5,r0,#0x10e
000012 e002 B |L19.26|
|L19.20|
000014 f2a0f2a0 SUB r0,r0,#0x276
000018 4245 RSBS r5,r0,#0
|L19.26|
;;;6998 End = 270 - pObj->ArcEnd;
00001a f5c1f5c1 RSB r6,r1,#0x10e
;;;6999 r1 = pObj->ArcRadius;
;;;7000 r2 = pObj->ArcRadius - pObj->ArcPos - pObj->ArcWidth;
00001e 69a7 LDR r7,[r4,#0x18]
000020 6e60 LDR r0,[r4,#0x64]
000022 6b61 LDR r1,[r4,#0x34]
000024 1a38 SUBS r0,r7,r0
000026 eba0eba0 SUB r8,r0,r1
;;;7001 GUI_SetColor(_CalcColor(&pObj->Color[0]));
00002a f104f104 ADD r0,r4,#0xa0
00002e f7fff7ff BL _CalcColor
000032 f7fff7ff BL GUI_SetColor
;;;7002 GUI_SetPenSize(pObj->PenSize3);
000036 6c60 LDR r0,[r4,#0x44]
000038 b2c0 UXTB r0,r0
00003a f7fff7ff BL GUI_SetPenSize
;;;7003 if (pObj->Flags & (1 << (FLAG_SHOW_ARC+3))) {
00003e f8b4f8b4 LDRH r0,[r4,#0x70]
000042 0640 LSLS r0,r0,#25
000044 d507 BPL |L19.86|
;;;7004 GUI_AA_DrawArc(pObj->x0, pObj->y0, r1, r1, End, Start);
000046 e9cde9cd STRD r6,r5,[sp,#0]
00004a e9d4e9d4 LDRD r0,r1,[r4,#8]
00004e 463b MOV r3,r7
000050 463a MOV r2,r7
000052 f7fff7ff BL GUI_AA_DrawArc
|L19.86|
;;;7005 }
;;;7006 if (pObj->Flags & (1 << (FLAG_SHOW_ARC+4))) {
000056 f8b4f8b4 LDRH r0,[r4,#0x70]
00005a 0600 LSLS r0,r0,#24
00005c d53b BPL |L19.214|
;;;7007 GUI_AA_DrawArc(pObj->x0, pObj->y0, r2, r2, End, Start);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -