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

📄 calendar.txt

📁 STM32外部SRAM用作datamemery的程序 开发环境MDK
💻 TXT
📖 第 1 页 / 共 5 页
字号:
;;;634      LCD_DisplayStringLine(Line0, MonthNames[nMonth - 1]);
00003a  4981              LDR      r1,|L4.576|
00003c  eb06eb06          ADD      r0,r6,r6,LSL #2
000040  310c              ADDS     r1,r1,#0xc
000042  eb01eb01          ADD      r1,r1,r0,LSL #2
000046  3914              SUBS     r1,r1,#0x14
000048  2000              MOVS     r0,#0
00004a  f7fff7ff          BL       LCD_DisplayStringLine
;;;635    
;;;636    
;;;637      LCD_DisplayChar(Line0, 95, ((nYear/1000)+ 0x30));
00004e  f44ff44f          MOV      r7,#0x3e8
000052  fbb9fbb9          UDIV     r4,r9,r7
000056  f104f104          ADD      r0,r4,#0x30
00005a  b2c2              UXTB     r2,r0
00005c  215f              MOVS     r1,#0x5f
00005e  2000              MOVS     r0,#0
000060  f7fff7ff          BL       LCD_DisplayChar
;;;638      LCD_DisplayChar(Line0, 79, (((nYear%1000)/100)+ 0x30));
000064  fb07fb07          MLS      r7,r7,r4,r9
000068  f04ff04f          MOV      r8,#0x64
00006c  fbb7fbb7          UDIV     r4,r7,r8
000070  f104f104          ADD      r0,r4,#0x30
000074  b2c2              UXTB     r2,r0
000076  214f              MOVS     r1,#0x4f
000078  2000              MOVS     r0,#0
00007a  f7fff7ff          BL       LCD_DisplayChar
;;;639      LCD_DisplayChar(Line0, 63, ((((nYear%1000)%100)/10)+ 0x30));
00007e  fb08fb08          MLS      r7,r8,r4,r7
000082  240a              MOVS     r4,#0xa
000084  fbb7fbb7          UDIV     r10,r7,r4
000088  f10af10a          ADD      r2,r10,#0x30
00008c  213f              MOVS     r1,#0x3f
00008e  2000              MOVS     r0,#0
000090  f7fff7ff          BL       LCD_DisplayChar
;;;640      LCD_DisplayChar(Line0, 47, ((((nYear%1000)%100)%10)+ 0x30));
000094  fb04fb04          MLS      r2,r4,r10,r7
000098  3230              ADDS     r2,r2,#0x30
00009a  212f              MOVS     r1,#0x2f
00009c  2000              MOVS     r0,#0
00009e  f7fff7ff          BL       LCD_DisplayChar
;;;641    
;;;642      WeekDayNum(nYear, nMonth, nDay);
0000a2  4631              MOV      r1,r6
0000a4  4648              MOV      r0,r9
0000a6  9a02              LDR      r2,[sp,#8]
0000a8  f7fff7ff          BL       WeekDayNum
;;;643    
;;;644      LCD_SetTextColor(White);
0000ac  f64ff64f          MOV      r10,#0xffff
0000b0  4650              MOV      r0,r10
0000b2  f7fff7ff          BL       LCD_SetTextColor
;;;645      LCD_DisplayStringLine(Line1, " WEEK     DAY N:    ");
0000b6  a163              ADR      r1,|L4.580|
0000b8  2018              MOVS     r0,#0x18
0000ba  f7fff7ff          BL       LCD_DisplayStringLine
;;;646      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|
;;;647      {
;;;648        LCD_DisplayChar(Line1, 223, ((wn/10)+ 0x30));
0000c8  fbb0fbb0          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  f7fff7ff          BL       LCD_DisplayChar
;;;649        LCD_DisplayChar(Line1, 207, ((wn%10)+ 0x30));
0000d8  6878              LDR      r0,[r7,#4]  ; wn
0000da  fbb0fbb0          UDIV     r1,r0,r4
0000de  fb04fb04          MLS      r2,r4,r1,r0
0000e2  3230              ADDS     r2,r2,#0x30
0000e4  21cf              MOVS     r1,#0xcf
0000e6  e005              B        |L4.244|
                  |L4.232|
;;;650      }
;;;651      else
;;;652      {
;;;653        LCD_DisplayChar(Line1, 223, ((wn%10)+ 0x30));
0000e8  fbb0fbb0          UDIV     r1,r0,r4
0000ec  fb04fb04          MLS      r2,r4,r1,r0
0000f0  3230              ADDS     r2,r2,#0x30
0000f2  21df              MOVS     r1,#0xdf
                  |L4.244|
0000f4  2018              MOVS     r0,#0x18
0000f6  f7fff7ff          BL       LCD_DisplayChar
;;;654      }
;;;655      if(dc/100)
0000fa  68f8              LDR      r0,[r7,#0xc]  ; dc
0000fc  2864              CMP      r0,#0x64
0000fe  d31f              BCC      |L4.320|
;;;656      {
;;;657        LCD_DisplayChar(Line1, 47, ((dc/100)+ 0x30));
000100  fbb0fbb0          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  f7fff7ff          BL       LCD_DisplayChar
;;;658        LCD_DisplayChar(Line1, 31, (((dc%100)/10)+ 0x30));
000110  68f8              LDR      r0,[r7,#0xc]  ; dc
000112  fbb0fbb0          UDIV     r1,r0,r8
000116  fb08fb08          MLS      r0,r8,r1,r0
00011a  fbb0fbb0          UDIV     r2,r0,r4
00011e  3230              ADDS     r2,r2,#0x30
000120  211f              MOVS     r1,#0x1f
000122  2018              MOVS     r0,#0x18
000124  f7fff7ff          BL       LCD_DisplayChar
;;;659        LCD_DisplayChar(Line1, 15, (((dc%100)%10)+ 0x30));    
000128  68f8              LDR      r0,[r7,#0xc]  ; dc
00012a  fbb0fbb0          UDIV     r1,r0,r8
00012e  fb08fb08          MLS      r0,r8,r1,r0
000132  fbb0fbb0          UDIV     r1,r0,r4
000136  fb04fb04          MLS      r2,r4,r1,r0
00013a  3230              ADDS     r2,r2,#0x30
00013c  210f              MOVS     r1,#0xf
00013e  e017              B        |L4.368|
                  |L4.320|
;;;660      }
;;;661      else if(dc/10)
000140  280a              CMP      r0,#0xa
000142  d30f              BCC      |L4.356|
;;;662      {
;;;663        LCD_DisplayChar(Line1, 47, ((dc/10)+ 0x30));
000144  fbb0fbb0          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  f7fff7ff          BL       LCD_DisplayChar
;;;664        LCD_DisplayChar(Line1, 31, ((dc%10)+ 0x30));
000154  68f8              LDR      r0,[r7,#0xc]  ; dc
000156  fbb0fbb0          UDIV     r1,r0,r4
00015a  fb04fb04          MLS      r2,r4,r1,r0
00015e  3230              ADDS     r2,r2,#0x30
000160  211f              MOVS     r1,#0x1f
000162  e005              B        |L4.368|
                  |L4.356|
;;;665      }
;;;666      else
;;;667      {
;;;668        LCD_DisplayChar(Line1, 47, ((dc%10)+ 0x30));  
000164  fbb0fbb0          UDIV     r1,r0,r4
000168  fb04fb04          MLS      r2,r4,r1,r0
00016c  3230              ADDS     r2,r2,#0x30
00016e  212f              MOVS     r1,#0x2f
                  |L4.368|
000170  2018              MOVS     r0,#0x18              ;664
000172  f7fff7ff          BL       LCD_DisplayChar
;;;669      }
;;;670      
;;;671      /* Set the Back Color */
;;;672      LCD_SetBackColor(Red);
000176  f44ff44f          MOV      r0,#0xf800
00017a  f7fff7ff          BL       LCD_SetBackColor
;;;673      LCD_SetTextColor(White);
00017e  4650              MOV      r0,r10
000180  f7fff7ff          BL       LCD_SetTextColor
;;;674      LCD_DisplayStringLine(Line2, "Mo Tu We Th Fr Sa Su");
000184  a135              ADR      r1,|L4.604|
000186  2030              MOVS     r0,#0x30
000188  f7fff7ff          BL       LCD_DisplayStringLine
;;;675      LCD_SetBackColor(White);
00018c  4650              MOV      r0,r10
00018e  f7fff7ff          BL       LCD_SetBackColor
;;;676      LCD_SetTextColor(Blue2);
000192  f240f240          MOV      r0,#0x51f
000196  f7fff7ff          BL       LCD_SetTextColor
;;;677      
;;;678      /* Determines the week number, day of the week of the selected date */
;;;679      WeekDayNum(nYear, nMonth, 1);
00019a  2201              MOVS     r2,#1
00019c  4631              MOV      r1,r6
00019e  4648              MOV      r0,r9
0001a0  f7fff7ff          BL       WeekDayNum
;;;680    
;;;681      mline = Line3;
;;;682      mcolumn = 0x13F - (0x30 * dn);
0001a4  68b8              LDR      r0,[r7,#8]  ; dn
0001a6  f04ff04f          MOV      r9,#0x48              ;681
0001aa  eba0eba0          SUB      r0,r0,r0,LSL #2
0001ae  eb0beb0b          ADD      r8,r11,r0,LSL #4
;;;683    
;;;684      for(month = 1; month < monthlength; month++)
0001b2  2601              MOVS     r6,#1
0001b4  e034              B        |L4.544|
                  |L4.438|
;;;685      {
;;;686        if(month == nDay)
0001b6  9802              LDR      r0,[sp,#8]
0001b8  4286              CMP      r6,r0
0001ba  d103              BNE      |L4.452|
;;;687        {
;;;688          daycolumn = mcolumn;
0001bc  f8a7f8a7          STRH     r8,[r7,#0]  ; daycolumn
;;;689          dayline = mline;
0001c0  f8a7f8a7          STRH     r9,[r7,#2]  ; dayline
                  |L4.452|
;;;690        }
;;;691        if(month/10)
0001c4  2e0a              CMP      r6,#0xa
0001c6  d304              BCC      |L4.466|
;;;692        {
;;;693          LCD_DisplayChar(mline, mcolumn, ((month/10)+ 0x30));
0001c8  fbb6fbb6          UDIV     r0,r6,r4
0001cc  3030              ADDS     r0,r0,#0x30
0001ce  b2c2              UXTB     r2,r0
0001d0  e000              B        |L4.468|
                  |L4.466|
;;;694        }
;;;695        else
;;;696        {
;;;697          LCD_DisplayChar(mline, mcolumn, ' ');
0001d2  2220              MOVS     r2,#0x20
                  |L4.468|
0001d4  fa1ffa1f          UXTH     r1,r8
0001d8  f009f009          AND      r0,r9,#0xff
0001dc  f7fff7ff          BL       LCD_DisplayChar
;;;698        }
;;;699        mcolumn -= 16;
;;;700        LCD_DisplayChar(mline, mcolumn, ((month%10)+ 0x30));
0001e0  fbb6fbb6          UDIV     r0,r6,r4
0001e4  fb04fb04          MLS      r2,r4,r0,r6
0001e8  f1a8f1a8          SUB      r10,r8,#0x10          ;699
0001ec  f009f009          AND      r0,r9,#0xff
0001f0  3230              ADDS     r2,r2,#0x30
0001f2  fa1ffa1f          UXTH     r1,r10
0001f6  4680              MOV      r8,r0
0001f8  f7fff7ff          BL       LCD_DisplayChar
;;;701    
;;;702        if(mcolumn < 31)
0001fc  f1baf1ba          CMP      r10,#0x1f
000200  d203              BCS      |L4.522|
;;;703        {
;;;704          mcolumn = 319;
000202  46d8              MOV      r8,r11
;;;705          mline += 24;
000204  f109f109          ADD      r9,r9,#0x18
000208  e009              B        |L4.542|
                  |L4.522|
;;;706        }
;;;707        else
;;;708        {
;;;709          mcolumn -= 16;
00020a  f1aaf1aa          SUB      r10,r10,#0x10
;;;710          LCD_DisplayChar(mline, mcolumn, ' ');
00020e  2220              MOVS     r2,#0x20
000210  fa1ffa1f          UXTH     r1,r10
000214  4640              MOV      r0,r8
000216  f7fff7ff          BL       LCD_DisplayChar
;;;711          mcolumn -= 16;
00021a  f1aaf1aa          SUB      r8,r10,#0x10
                  |L4.542|
00021e  1c76              ADDS     r6,r6,#1              ;684
                  |L4.544|
000220  42ae              CMP      r6,r5                 ;684
000222  d3c8              BCC      |L4.438|
;;;712        }
;;;713      }
;;;714      LCD_SetTextColor(Red);   
000224  f44ff44f          MOV      r0,#0xf800
000228  f7fff7ff          BL       LCD_SetTextColor
;;;715      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  e8bde8bd          POP      {r4-r11,lr}
000236  2320              MOVS     r3,#0x20
000238  2218              MOVS     r2,#0x18
00023a  b2c0              UXTB     r0,r0
00023c  f7fff7ff          B.W      LCD_DrawRect
;;;716    }
;;;717    
                          ENDP

                  |L4.576|
000240  00000020          DCD      ||.data||+0x20
                  |L4.580|
000244  20574545          DCB      " WEE"
000248  4b202020          DCB      "K   "
00024c  20204441          DCB      "  DA"
000250  59204e3a          DCB      "Y N:"
000254  20202020          DCB      "    "
000258  00000000          DCB      "\0\0\0\0"
                  |L4.604|
00025c  4d6f2054          DCB      "Mo T"
000260  75205765          DCB      "u We"
000264  20546820          DCB      " Th "
000268  46722053          DCB      "Fr S"
00026c  61205375          DCB      "a Su"
000270  00000000          DCB      "\0\0\0\0"

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

                  Date_Update PROC
;;;1063   void Date_Update(void)
;;;1064   {
000000  e92de92d          PUSH     {r4-r8,lr}
;;;1065     u32 tmp = 0;
;;;1066   
;;;1067     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|
;;;1068        date_s.month == 8 || date_s.month == 10 || date_s.month == 12)
000028  2908              CMP      r1,#8

⌨️ 快捷键说明

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