⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calendar.txt

📁 stm32.rar
💻 TXT
📖 第 1 页 / 共 5 页
字号:
;;;642      
;;;643      LCD_DisplayStringLine(Line0, MonthNames[nMonth - 1]);
00003a  4981              LDR      r1,|L4.576|
00003c  eb060086          ADD      r0,r6,r6,LSL #2
000040  310c              ADDS     r1,r1,#0xc
000042  eb010180          ADD      r1,r1,r0,LSL #2
000046  3914              SUBS     r1,r1,#0x14
000048  2000              MOVS     r0,#0
00004a  f7fffffe          BL       LCD_DisplayStringLine
;;;644    
;;;645    
;;;646      LCD_DisplayChar(Line0, 95, ((nYear/1000)+ 0x30));
00004e  f44f777a          MOV      r7,#0x3e8
000052  fbb9f4f7          UDIV     r4,r9,r7
000056  f1040030          ADD      r0,r4,#0x30
00005a  b2c2              UXTB     r2,r0
00005c  215f              MOVS     r1,#0x5f
00005e  2000              MOVS     r0,#0
000060  f7fffffe          BL       LCD_DisplayChar
;;;647      LCD_DisplayChar(Line0, 79, (((nYear%1000)/100)+ 0x30));
000064  fb079714          MLS      r7,r7,r4,r9
000068  f04f0864          MOV      r8,#0x64
00006c  fbb7f4f8          UDIV     r4,r7,r8
000070  f1040030          ADD      r0,r4,#0x30
000074  b2c2              UXTB     r2,r0
000076  214f              MOVS     r1,#0x4f
000078  2000              MOVS     r0,#0
00007a  f7fffffe          BL       LCD_DisplayChar
;;;648      LCD_DisplayChar(Line0, 63, ((((nYear%1000)%100)/10)+ 0x30));
00007e  fb087714          MLS      r7,r8,r4,r7
000082  240a              MOVS     r4,#0xa
000084  fbb7faf4          UDIV     r10,r7,r4
000088  f10a0230          ADD      r2,r10,#0x30
00008c  213f              MOVS     r1,#0x3f
00008e  2000              MOVS     r0,#0
000090  f7fffffe          BL       LCD_DisplayChar
;;;649      LCD_DisplayChar(Line0, 47, ((((nYear%1000)%100)%10)+ 0x30));
000094  fb04721a          MLS      r2,r4,r10,r7
000098  3230              ADDS     r2,r2,#0x30
00009a  212f              MOVS     r1,#0x2f
00009c  2000              MOVS     r0,#0
00009e  f7fffffe          BL       LCD_DisplayChar
;;;650    
;;;651      WeekDayNum(nYear, nMonth, nDay);
0000a2  4631              MOV      r1,r6
0000a4  4648              MOV      r0,r9
0000a6  9a02              LDR      r2,[sp,#8]
0000a8  f7fffffe          BL       WeekDayNum
;;;652    
;;;653      LCD_SetTextColor(White);
0000ac  f64f7aff          MOV      r10,#0xffff
0000b0  4650              MOV      r0,r10
0000b2  f7fffffe          BL       LCD_SetTextColor
;;;654      LCD_DisplayStringLine(Line1, " WEEK     DAY N:    ");
0000b6  a163              ADR      r1,|L4.580|
0000b8  2018              MOVS     r0,#0x18
0000ba  f7fffffe          BL       LCD_DisplayStringLine
;;;655      if(wn/10)
0000be  4f60              LDR      r7,|L4.576|
0000c0  3f20              SUBS     r7,r7,#0x20
0000c2  6878              LDR      r0,[r7,#4]  ; wn
0000c4  280a              CMP      r0,#0xa
0000c6  d30f              BCC      |L4.232|
;;;656      {
;;;657        LCD_DisplayChar(Line1, 223, ((wn/10)+ 0x30));
0000c8  fbb0f0f4          UDIV     r0,r0,r4
0000cc  3030              ADDS     r0,r0,#0x30
0000ce  b2c2              UXTB     r2,r0
0000d0  21df              MOVS     r1,#0xdf
0000d2  2018              MOVS     r0,#0x18
0000d4  f7fffffe          BL       LCD_DisplayChar
;;;658        LCD_DisplayChar(Line1, 207, ((wn%10)+ 0x30));
0000d8  6878              LDR      r0,[r7,#4]  ; wn
0000da  fbb0f1f4          UDIV     r1,r0,r4
0000de  fb040211          MLS      r2,r4,r1,r0
0000e2  3230              ADDS     r2,r2,#0x30
0000e4  21cf              MOVS     r1,#0xcf
0000e6  e005              B        |L4.244|
                  |L4.232|
;;;659      }
;;;660      else
;;;661      {
;;;662        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
                  |L4.244|
0000f4  2018              MOVS     r0,#0x18
0000f6  f7fffffe          BL       LCD_DisplayChar
;;;663      }
;;;664      if(dc/100)
0000fa  68f8              LDR      r0,[r7,#0xc]  ; dc
0000fc  2864              CMP      r0,#0x64
0000fe  d31f              BCC      |L4.320|
;;;665      {
;;;666        LCD_DisplayChar(Line1, 47, ((dc/100)+ 0x30));
000100  fbb0f0f8          UDIV     r0,r0,r8
000104  3030              ADDS     r0,r0,#0x30
000106  b2c2              UXTB     r2,r0
000108  212f              MOVS     r1,#0x2f
00010a  2018              MOVS     r0,#0x18
00010c  f7fffffe          BL       LCD_DisplayChar
;;;667        LCD_DisplayChar(Line1, 31, (((dc%100)/10)+ 0x30));
000110  68f8              LDR      r0,[r7,#0xc]  ; dc
000112  fbb0f1f8          UDIV     r1,r0,r8
000116  fb080011          MLS      r0,r8,r1,r0
00011a  fbb0f2f4          UDIV     r2,r0,r4
00011e  3230              ADDS     r2,r2,#0x30
000120  211f              MOVS     r1,#0x1f
000122  2018              MOVS     r0,#0x18
000124  f7fffffe          BL       LCD_DisplayChar
;;;668        LCD_DisplayChar(Line1, 15, (((dc%100)%10)+ 0x30));    
000128  68f8              LDR      r0,[r7,#0xc]  ; dc
00012a  fbb0f1f8          UDIV     r1,r0,r8
00012e  fb080011          MLS      r0,r8,r1,r0
000132  fbb0f1f4          UDIV     r1,r0,r4
000136  fb040211          MLS      r2,r4,r1,r0
00013a  3230              ADDS     r2,r2,#0x30
00013c  210f              MOVS     r1,#0xf
00013e  e017              B        |L4.368|
                  |L4.320|
;;;669      }
;;;670      else if(dc/10)
000140  280a              CMP      r0,#0xa
000142  d30f              BCC      |L4.356|
;;;671      {
;;;672        LCD_DisplayChar(Line1, 47, ((dc/10)+ 0x30));
000144  fbb0f0f4          UDIV     r0,r0,r4
000148  3030              ADDS     r0,r0,#0x30
00014a  b2c2              UXTB     r2,r0
00014c  212f              MOVS     r1,#0x2f
00014e  2018              MOVS     r0,#0x18
000150  f7fffffe          BL       LCD_DisplayChar
;;;673        LCD_DisplayChar(Line1, 31, ((dc%10)+ 0x30));
000154  68f8              LDR      r0,[r7,#0xc]  ; dc
000156  fbb0f1f4          UDIV     r1,r0,r4
00015a  fb040211          MLS      r2,r4,r1,r0
00015e  3230              ADDS     r2,r2,#0x30
000160  211f              MOVS     r1,#0x1f
000162  e005              B        |L4.368|
                  |L4.356|
;;;674      }
;;;675      else
;;;676      {
;;;677        LCD_DisplayChar(Line1, 47, ((dc%10)+ 0x30));  
000164  fbb0f1f4          UDIV     r1,r0,r4
000168  fb040211          MLS      r2,r4,r1,r0
00016c  3230              ADDS     r2,r2,#0x30
00016e  212f              MOVS     r1,#0x2f
                  |L4.368|
000170  2018              MOVS     r0,#0x18              ;673
000172  f7fffffe          BL       LCD_DisplayChar
;;;678      }
;;;679      
;;;680      /* Set the Back Color */
;;;681      LCD_SetBackColor(Red);
000176  f44f4078          MOV      r0,#0xf800
00017a  f7fffffe          BL       LCD_SetBackColor
;;;682      LCD_SetTextColor(White);
00017e  4650              MOV      r0,r10
000180  f7fffffe          BL       LCD_SetTextColor
;;;683      LCD_DisplayStringLine(Line2, "Mo Tu We Th Fr Sa Su");
000184  a135              ADR      r1,|L4.604|
000186  2030              MOVS     r0,#0x30
000188  f7fffffe          BL       LCD_DisplayStringLine
;;;684      LCD_SetBackColor(White);
00018c  4650              MOV      r0,r10
00018e  f7fffffe          BL       LCD_SetBackColor
;;;685      LCD_SetTextColor(Blue2);
000192  f240501f          MOV      r0,#0x51f
000196  f7fffffe          BL       LCD_SetTextColor
;;;686      
;;;687      /* Determines the week number, day of the week of the selected date */
;;;688      WeekDayNum(nYear, nMonth, 1);
00019a  2201              MOVS     r2,#1
00019c  4631              MOV      r1,r6
00019e  4648              MOV      r0,r9
0001a0  f7fffffe          BL       WeekDayNum
;;;689    
;;;690      mline = Line3;
;;;691      mcolumn = 0x13F - (0x30 * dn);
0001a4  68b8              LDR      r0,[r7,#8]  ; dn
0001a6  f04f0948          MOV      r9,#0x48              ;690
0001aa  eba00080          SUB      r0,r0,r0,LSL #2
0001ae  eb0b1800          ADD      r8,r11,r0,LSL #4
;;;692    
;;;693      for(month = 1; month < monthlength; month++)
0001b2  2601              MOVS     r6,#1
0001b4  e034              B        |L4.544|
                  |L4.438|
;;;694      {
;;;695        if(month == nDay)
0001b6  9802              LDR      r0,[sp,#8]
0001b8  4286              CMP      r6,r0
0001ba  d103              BNE      |L4.452|
;;;696        {
;;;697          daycolumn = mcolumn;
0001bc  f8a78000          STRH     r8,[r7,#0]  ; daycolumn
;;;698          dayline = mline;
0001c0  f8a79002          STRH     r9,[r7,#2]  ; dayline
                  |L4.452|
;;;699        }
;;;700        if(month/10)
0001c4  2e0a              CMP      r6,#0xa
0001c6  d304              BCC      |L4.466|
;;;701        {
;;;702          LCD_DisplayChar(mline, mcolumn, ((month/10)+ 0x30));
0001c8  fbb6f0f4          UDIV     r0,r6,r4
0001cc  3030              ADDS     r0,r0,#0x30
0001ce  b2c2              UXTB     r2,r0
0001d0  e000              B        |L4.468|
                  |L4.466|
;;;703        }
;;;704        else
;;;705        {
;;;706          LCD_DisplayChar(mline, mcolumn, ' ');
0001d2  2220              MOVS     r2,#0x20
                  |L4.468|
0001d4  fa1ff188          UXTH     r1,r8
0001d8  f00900ff          AND      r0,r9,#0xff
0001dc  f7fffffe          BL       LCD_DisplayChar
;;;707        }
;;;708        mcolumn -= 16;
;;;709        LCD_DisplayChar(mline, mcolumn, ((month%10)+ 0x30));
0001e0  fbb6f0f4          UDIV     r0,r6,r4
0001e4  fb046210          MLS      r2,r4,r0,r6
0001e8  f1a80a10          SUB      r10,r8,#0x10          ;708
0001ec  f00900ff          AND      r0,r9,#0xff
0001f0  3230              ADDS     r2,r2,#0x30
0001f2  fa1ff18a          UXTH     r1,r10
0001f6  4680              MOV      r8,r0
0001f8  f7fffffe          BL       LCD_DisplayChar
;;;710    
;;;711        if(mcolumn < 31)
0001fc  f1ba0f1f          CMP      r10,#0x1f
000200  d203              BCS      |L4.522|
;;;712        {
;;;713          mcolumn = 319;
000202  46d8              MOV      r8,r11
;;;714          mline += 24;
000204  f1090918          ADD      r9,r9,#0x18
000208  e009              B        |L4.542|
                  |L4.522|
;;;715        }
;;;716        else
;;;717        {
;;;718          mcolumn -= 16;
00020a  f1aa0a10          SUB      r10,r10,#0x10
;;;719          LCD_DisplayChar(mline, mcolumn, ' ');
00020e  2220              MOVS     r2,#0x20
000210  fa1ff18a          UXTH     r1,r10
000214  4640              MOV      r0,r8
000216  f7fffffe          BL       LCD_DisplayChar
;;;720          mcolumn -= 16;
00021a  f1aa0810          SUB      r8,r10,#0x10
                  |L4.542|
00021e  1c76              ADDS     r6,r6,#1              ;693
                  |L4.544|
000220  42ae              CMP      r6,r5                 ;693
000222  d3c8              BCC      |L4.438|
;;;721        }
;;;722      }
;;;723      LCD_SetTextColor(Red);   
000224  f44f4078          MOV      r0,#0xf800
000228  f7fffffe          BL       LCD_SetTextColor
;;;724      LCD_DrawRect(dayline, daycolumn, 24, 32);
00022c  8878              LDRH     r0,[r7,#2]  ; dayline
00022e  8839              LDRH     r1,[r7,#0]  ; daycolumn
000230  b003              ADD      sp,sp,#0xc
000232  e8bd4ff0          POP      {r4-r11,lr}
000236  2320              MOVS     r3,#0x20
000238  2218              MOVS     r2,#0x18
00023a  b2c0              UXTB     r0,r0
00023c  f7ffbffe          B.W      LCD_DrawRect
;;;725    }
;;;726    
                          ENDP

                  |L4.576|
000240  00000020          DCD      ||.data||+0x20
                  |L4.580|
000244  205745454b2020202020444159204e3a2020202000        DCB      " WEEK     DAY N:    ",0
000259  00                DCB      0
00025a  00                DCB      0
00025b  00                DCB      0
                  |L4.604|
00025c  4d6f20547520576520546820467220536120537500        DCB      "Mo Tu We Th Fr Sa Su",0
000271  00                DCB      0
000272  00                DCB      0
000273  00                DCB      0

                          AREA ||i.Date_Update||, CODE, READONLY, ALIGN=2

                  Date_Update PROC
;;;1072   void Date_Update(void)
;;;1073   {
000000  e92d41f0          PUSH     {r4-r8,lr}
;;;1074     u32 tmp = 0;
;;;1075   
;;;1076     if(date_s.month == 1 || date_s.month == 3 || date_s.month == 5 || date_s.month == 7 ||
000004  4e28              LDR      r6,|L5.168|
000006  2401              MOVS     r4,#1
000008  4637              MOV      r7,r6
00000a  787a              LDRB     r2,[r7,#1]
00000c  7831              LDRB     r1,[r6,#0]  ; date_s
00000e  1c50              ADDS     r0,r2,#1
000010  b2c3              UXTB     r3,r0
000012  1c48              ADDS     r0,r1,#1
000014  b2c5              UXTB     r5,r0
000016  8878              LDRH     r0,[r7,#2]
000018  2901              CMP      r1,#1
00001a  d00b              BEQ      |L5.52|
00001c  2903              CMP      r1,#3
00001e  d009              BEQ      |L5.52|
000020  2905              CMP      r1,#5
000022  d007              BEQ      |L5.52|
000024  2907              CMP      r1,#7
000026  d005              BEQ      |L5.52|
;;;1077        date_s.month == 8 || date_s.month == 10 || date_s.month == 12)
000028  2908              CMP      r1,#8
00002a  d003              BEQ      |L5.52|
00002c  290a              CMP      r1,#0xa

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -