📄 calendar.txt
字号:
000018 4887 LDR r0,|L8.568|
00001a 7840 LDRB r0,[r0,#1]
|L8.28|
00001c 4680 MOV r8,r0 ;617
;;;622 }
;;;623 }
;;;624 else
;;;625 {
;;;626 monthlength = MonLen[nMonth - 1];
;;;627 }
;;;628
;;;629 /* Set the Back Color */
;;;630 LCD_SetBackColor(Blue2);
00001e f240501f MOV r0,#0x51f
000022 f7fffffe BL LCD_SetBackColor
;;;631 /* Set the Text Color */
;;;632 LCD_SetTextColor(Yellow);
000026 f64f70e0 MOV r0,#0xffe0
00002a f7fffffe BL LCD_SetTextColor
;;;633
;;;634 LCD_DisplayStringLine(Line0, MonthNames[nMonth - 1]);
00002e 4882 LDR r0,|L8.568|
000030 eb050185 ADD r1,r5,r5,LSL #2
000034 300c ADDS r0,r0,#0xc
000036 eb000181 ADD r1,r0,r1,LSL #2
00003a 3914 SUBS r1,r1,#0x14
00003c 2000 MOVS r0,#0
00003e f7fffffe BL LCD_DisplayStringLine
;;;635
;;;636
;;;637 LCD_DisplayChar(Line0, 95, ((nYear/1000)+ 0x30));
000042 f44f767a MOV r6,#0x3e8
000046 fbb9f4f6 UDIV r4,r9,r6
00004a f1040030 ADD r0,r4,#0x30
00004e b2c2 UXTB r2,r0
000050 215f MOVS r1,#0x5f
000052 2000 MOVS r0,#0
000054 f7fffffe BL LCD_DisplayChar
;;;638 LCD_DisplayChar(Line0, 79, (((nYear%1000)/100)+ 0x30));
000058 fb069614 MLS r6,r6,r4,r9
00005c f04f0a64 MOV r10,#0x64
000060 fbb6f4fa UDIV r4,r6,r10
000064 f1040030 ADD r0,r4,#0x30
000068 b2c2 UXTB r2,r0
00006a 4657 MOV r7,r10
00006c 214f MOVS r1,#0x4f
00006e 2000 MOVS r0,#0
000070 f7fffffe BL LCD_DisplayChar
;;;639 LCD_DisplayChar(Line0, 63, ((((nYear%1000)%100)/10)+ 0x30));
000074 fb076614 MLS r6,r7,r4,r6
000078 240a MOVS r4,#0xa
00007a fbb6f7f4 UDIV r7,r6,r4
00007e f1070230 ADD r2,r7,#0x30
000082 213f MOVS r1,#0x3f
000084 2000 MOVS r0,#0
000086 f7fffffe BL LCD_DisplayChar
;;;640 LCD_DisplayChar(Line0, 47, ((((nYear%1000)%100)%10)+ 0x30));
00008a fb046217 MLS r2,r4,r7,r6
00008e 3230 ADDS r2,r2,#0x30
000090 212f MOVS r1,#0x2f
000092 2000 MOVS r0,#0
000094 f7fffffe BL LCD_DisplayChar
;;;641
;;;642 WeekDayNum(nYear, nMonth, nDay);
000098 4629 MOV r1,r5
00009a 4648 MOV r0,r9
00009c 9a02 LDR r2,[sp,#8]
00009e f7fffffe BL WeekDayNum
;;;643
;;;644 LCD_SetTextColor(White);
0000a2 f64f7bff MOV r11,#0xffff
0000a6 4658 MOV r0,r11
0000a8 f7fffffe BL LCD_SetTextColor
;;;645 LCD_DisplayStringLine(Line1, " WEEK DAY N: ");
0000ac a163 ADR r1,|L8.572|
0000ae 2018 MOVS r0,#0x18
0000b0 f7fffffe BL LCD_DisplayStringLine
;;;646 if(wn/10)
0000b4 4e60 LDR r6,|L8.568|
0000b6 3e20 SUBS r6,r6,#0x20
0000b8 6870 LDR r0,[r6,#4] ; wn
0000ba 280a CMP r0,#0xa
0000bc d314 BCC |L8.232|
;;;647 {
;;;648 LCD_DisplayChar(Line1, 223, ((wn/10)+ 0x30));
0000be fbb0f0f4 UDIV r0,r0,r4
0000c2 3030 ADDS r0,r0,#0x30
0000c4 b2c2 UXTB r2,r0
0000c6 21df MOVS r1,#0xdf
0000c8 2018 MOVS r0,#0x18
0000ca f7fffffe BL LCD_DisplayChar
;;;649 LCD_DisplayChar(Line1, 207, ((wn%10)+ 0x30));
0000ce 6870 LDR r0,[r6,#4] ; wn
0000d0 fbb0f1f4 UDIV r1,r0,r4
0000d4 fb040211 MLS r2,r4,r1,r0
0000d8 3230 ADDS r2,r2,#0x30
0000da 21cf MOVS r1,#0xcf
0000dc e00a B |L8.244|
|L8.222|
0000de 4856 LDR r0,|L8.568|
0000e0 4428 ADD r0,r0,r5 ;626
0000e2 f8100c01 LDRB r0,[r0,#-1] ;626
0000e6 e799 B |L8.28|
|L8.232|
;;;650 }
;;;651 else
;;;652 {
;;;653 LCD_DisplayChar(Line1, 223, ((wn%10)+ 0x30));
0000e8 fbb0f1f4 UDIV r1,r0,r4
0000ec fb040211 MLS r2,r4,r1,r0
0000f0 3230 ADDS r2,r2,#0x30
0000f2 21df MOVS r1,#0xdf
|L8.244|
0000f4 2018 MOVS r0,#0x18
0000f6 f7fffffe BL LCD_DisplayChar
;;;654 }
;;;655 if(dc/100)
0000fa 68f0 LDR r0,[r6,#0xc] ; dc
0000fc 2864 CMP r0,#0x64
0000fe d320 BCC |L8.322|
;;;656 {
;;;657 LCD_DisplayChar(Line1, 47, ((dc/100)+ 0x30));
000100 fbb0f0fa UDIV r0,r0,r10
000104 3030 ADDS r0,r0,#0x30
000106 b2c2 UXTB r2,r0
000108 4657 MOV r7,r10
00010a 212f MOVS r1,#0x2f
00010c 2018 MOVS r0,#0x18
00010e f7fffffe BL LCD_DisplayChar
;;;658 LCD_DisplayChar(Line1, 31, (((dc%100)/10)+ 0x30));
000112 68f0 LDR r0,[r6,#0xc] ; dc
000114 fbb0f1f7 UDIV r1,r0,r7
000118 fb070011 MLS r0,r7,r1,r0
00011c fbb0f2f4 UDIV r2,r0,r4
000120 3230 ADDS r2,r2,#0x30
000122 211f MOVS r1,#0x1f
000124 2018 MOVS r0,#0x18
000126 f7fffffe BL LCD_DisplayChar
;;;659 LCD_DisplayChar(Line1, 15, (((dc%100)%10)+ 0x30));
00012a 68f0 LDR r0,[r6,#0xc] ; dc
00012c fbb0f1f7 UDIV r1,r0,r7
000130 fb070011 MLS r0,r7,r1,r0
000134 fbb0f1f4 UDIV r1,r0,r4
000138 fb040211 MLS r2,r4,r1,r0
00013c 3230 ADDS r2,r2,#0x30
00013e 210f MOVS r1,#0xf
000140 e017 B |L8.370|
|L8.322|
;;;660 }
;;;661 else if(dc/10)
000142 280a CMP r0,#0xa
000144 d30f BCC |L8.358|
;;;662 {
;;;663 LCD_DisplayChar(Line1, 47, ((dc/10)+ 0x30));
000146 fbb0f0f4 UDIV r0,r0,r4
00014a 3030 ADDS r0,r0,#0x30
00014c b2c2 UXTB r2,r0
00014e 212f MOVS r1,#0x2f
000150 2018 MOVS r0,#0x18
000152 f7fffffe BL LCD_DisplayChar
;;;664 LCD_DisplayChar(Line1, 31, ((dc%10)+ 0x30));
000156 68f0 LDR r0,[r6,#0xc] ; dc
000158 fbb0f1f4 UDIV r1,r0,r4
00015c fb040211 MLS r2,r4,r1,r0
000160 3230 ADDS r2,r2,#0x30
000162 211f MOVS r1,#0x1f
000164 e005 B |L8.370|
|L8.358|
;;;665 }
;;;666 else
;;;667 {
;;;668 LCD_DisplayChar(Line1, 47, ((dc%10)+ 0x30));
000166 fbb0f1f4 UDIV r1,r0,r4
00016a fb040211 MLS r2,r4,r1,r0
00016e 3230 ADDS r2,r2,#0x30
000170 212f MOVS r1,#0x2f
|L8.370|
000172 2018 MOVS r0,#0x18 ;664
000174 f7fffffe BL LCD_DisplayChar
;;;669 }
;;;670
;;;671 /* Set the Back Color */
;;;672 LCD_SetBackColor(Red);
000178 f44f4078 MOV r0,#0xf800
00017c f7fffffe BL LCD_SetBackColor
;;;673 LCD_SetTextColor(White);
000180 465f MOV r7,r11
000182 4658 MOV r0,r11
000184 f7fffffe BL LCD_SetTextColor
;;;674 LCD_DisplayStringLine(Line2, "Mo Tu We Th Fr Sa Su");
000188 a132 ADR r1,|L8.596|
00018a 2030 MOVS r0,#0x30
00018c f7fffffe BL LCD_DisplayStringLine
;;;675 LCD_SetBackColor(White);
000190 4638 MOV r0,r7
000192 f7fffffe BL LCD_SetBackColor
;;;676 LCD_SetTextColor(Blue2);
000196 f240501f MOV r0,#0x51f
00019a f7fffffe BL LCD_SetTextColor
;;;677
;;;678 /* Determines the week number, day of the week of the selected date */
;;;679 WeekDayNum(nYear, nMonth, 1);
00019e 2201 MOVS r2,#1
0001a0 4629 MOV r1,r5
0001a2 4648 MOV r0,r9
0001a4 f7fffffe BL WeekDayNum
;;;680
;;;681 mline = Line3;
;;;682 mcolumn = 0x13F - (0x30 * dn);
0001a8 68b0 LDR r0,[r6,#8] ; dn
0001aa 2748 MOVS r7,#0x48 ;681
0001ac 46b2 MOV r10,r6
0001ae eba00080 SUB r0,r0,r0,LSL #2
0001b2 f2401b3f MOV r11,#0x13f
0001b6 eb0b1600 ADD r6,r11,r0,LSL #4
;;;683
;;;684 for(month = 1; month < monthlength; month++)
0001ba 2501 MOVS r5,#1
0001bc e02a B |L8.532|
|L8.446|
;;;685 {
;;;686 if(month == nDay)
0001be 9802 LDR r0,[sp,#8]
0001c0 4285 CMP r5,r0
0001c2 d103 BNE |L8.460|
;;;687 {
;;;688 daycolumn = mcolumn;
0001c4 f8aa6000 STRH r6,[r10,#0]
;;;689 dayline = mline;
0001c8 f8aa7002 STRH r7,[r10,#2]
|L8.460|
;;;690 }
;;;691 if(month/10)
0001cc 2d0a CMP r5,#0xa
0001ce d304 BCC |L8.474|
;;;692 {
;;;693 LCD_DisplayChar(mline, mcolumn, ((month/10)+ 0x30));
0001d0 fbb5f0f4 UDIV r0,r5,r4
0001d4 3030 ADDS r0,r0,#0x30
0001d6 b2c2 UXTB r2,r0
0001d8 e000 B |L8.476|
|L8.474|
;;;694 }
;;;695 else
;;;696 {
;;;697 LCD_DisplayChar(mline, mcolumn, ' ');
0001da 2220 MOVS r2,#0x20
|L8.476|
0001dc b2b1 UXTH r1,r6
0001de b2f8 UXTB r0,r7
0001e0 f7fffffe BL LCD_DisplayChar
;;;698 }
;;;699 mcolumn -= 16;
;;;700 LCD_DisplayChar(mline, mcolumn, ((month%10)+ 0x30));
0001e4 fbb5f0f4 UDIV r0,r5,r4
0001e8 fb045210 MLS r2,r4,r0,r5
0001ec 3e10 SUBS r6,r6,#0x10 ;699
0001ee b2f8 UXTB r0,r7
0001f0 3230 ADDS r2,r2,#0x30
0001f2 b2b1 UXTH r1,r6
0001f4 4681 MOV r9,r0
0001f6 f7fffffe BL LCD_DisplayChar
;;;701
;;;702 if(mcolumn < 31)
0001fa 2e1f CMP r6,#0x1f
0001fc d202 BCS |L8.516|
;;;703 {
;;;704 mcolumn = 319;
0001fe 465e MOV r6,r11
;;;705 mline += 24;
000200 3718 ADDS r7,r7,#0x18
000202 e006 B |L8.530|
|L8.516|
;;;706 }
;;;707 else
;;;708 {
;;;709 mcolumn -= 16;
000204 3e10 SUBS r6,r6,#0x10
;;;710 LCD_DisplayChar(mline, mcolumn, ' ');
000206 2220 MOVS r2,#0x20
000208 b2b1 UXTH r1,r6
00020a 4648 MOV r0,r9
00020c f7fffffe BL LCD_DisplayChar
;;;711 mcolumn -= 16;
000210 3e10 SUBS r6,r6,#0x10
|L8.530|
000212 1c6d ADDS r5,r5,#1 ;684
|L8.532|
000214 4545 CMP r5,r8 ;684
000216 d3d2 BCC |L8.446|
;;;712 }
;;;713 }
;;;714 LCD_SetTextColor(Red);
000218 f44f4078 MOV r0,#0xf800
00021c f7fffffe BL LCD_SetTextColor
;;;715 LCD_DrawRect(dayline, daycolumn, 24, 32);
000220 f8ba0002 LDRH r0,[r10,#2] ; dayline
000224 f8ba1000 LDRH r1,[r10,#0] ; daycolumn
000228 b003 ADD sp,sp,#0xc
00022a e8bd4ff0 POP {r4-r11,lr}
00022e 2320 MOVS r3,#0x20
000230 2218 MOVS r2,#0x18
000232 b2c0 UXTB r0,r0
000234 f7ffbffe B.W LCD_DrawRect
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -