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

📄 ui_clock.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   0322            ?0037:
    198          
    199                      need_draw = TRUE;
   \   0322  DD36DF01          LD      (IX-33),1
    200          
    201                      break;
   \   0326  C36205            JP      LWRD ?0126
   \   0329            ?0038:
    202                  case AP_KEY_VOLADD | AP_KEY_UP:
    203                  case AP_KEY_VOL | AP_KEY_UP:
    204                      if(set_what >= 6) set_what = 0;
   \   0329  DD7EDC            LD      A,(IX-36)
   \   032C  FE06              CP      6
   \   032E  3806              JR      C,?0040
   \   0330            ?0039:
   \   0330  DD36DC00          LD      (IX-36),0
   \   0334  1803              JR      ?0041
   \   0336            ?0040:
    205                      else set_what++;
   \   0336  DD34DC            INC     (IX-36)
   \   0339            ?0041:
    206                      bTimeAdd=0;
   \   0339  DD36E300          LD      (IX-29),0
    207                      need_draw = TRUE;
   \   033D  DD36DF01          LD      (IX-33),1
    208                      break;
   \   0341  C36205            JP      LWRD ?0126
   \   0344            ?0042:
    209                  case AP_KEY_VOLSUB | AP_KEY_UP:
    210                      if(set_what == 0) set_what = 6;
   \   0344  AF                XOR     A
   \   0345  DDB6DC            OR      (IX-36)
   \   0348  2006              JR      NZ,?0044
   \   034A            ?0043:
   \   034A  DD36DC06          LD      (IX-36),6
   \   034E  1803              JR      ?0045
   \   0350            ?0044:
    211                      else set_what--;
   \   0350  DD35DC            DEC     (IX-36)
   \   0353            ?0045:
    212                      need_draw = TRUE;
   \   0353  DD36DF01          LD      (IX-33),1
    213                      bTimeAdd=0;
   \   0357  DD36E300          LD      (IX-29),0
    214                      break;
   \   035B  C36205            JP      LWRD ?0126
   \   035E            ?0046:
    215                  case AP_KEY_NEXT:    //in setting clock
    216                  case AP_KEY_NEXT | AP_KEY_HOLD:
    217                      adjusting = TRUE;
   \   035E  DD36E101          LD      (IX-31),1
    218                      bSettime=0xff;
   \   0362  DD36E0FF          LD      (IX-32),255
    219                      switch(set_what)
   \   0366  DD5EDC            LD      E,(IX-36)
   \   0369  CD0000            CALL    LWRD ?C_S_SWITCH_L06
   \   036C  01                DEFB    1
   \   036D  0600              DEFW    6
   \   036F  2404              DEFW    ?0076
   \   0371  7D03              DEFW    ?0048
   \   0373  A203              DEFW    ?0052
   \   0375  B403              DEFW    ?0056
   \   0377  EE03              DEFW    ?0064
   \   0379  0004              DEFW    ?0068
   \   037B  1204              DEFW    ?0072
   \   037D            ?0048:
    220                      {
    221                      case 1:    //year
    222                          if(date.year < 2098) date.year++;
   \   037D  013208            LD      BC,2098
   \   0380  DD6ED4            LD      L,(IX-44)
   \   0383  DD66D5            LD      H,(IX-43)
   \   0386  A7                AND     A
   \   0387  ED42              SBC     HL,BC
   \   0389  300C              JR      NC,?0050
   \   038B            ?0049:
   \   038B  DD34D4            INC     (IX-44)
   \   038E  C22804            JP      NZ,?0047
   \   0391  DD34D5            INC     (IX-43)
   \   0394  C32804            JP      LWRD ?0047
   \   0397            ?0050:
    223                          else date.year = 2000;
   \   0397  DD36D4D0          LD      (IX-44),208
   \   039B  DD36D507          LD      (IX-43),7
   \   039F            ?0051:
    224                          break;
   \   039F  C32804            JP      LWRD ?0047
   \   03A2            ?0052:
    225                      case 2:    //month
    226                          if(date.month < 12) date.month++;
   \   03A2  DD7ED6            LD      A,(IX-42)
   \   03A5  FE0C              CP      12
   \   03A7  3005              JR      NC,?0054
   \   03A9            ?0053:
   \   03A9  DD34D6            INC     (IX-42)
   \   03AC  187A              JR      ?0047
   \   03AE            ?0054:
    227                          else date.month = 1;
   \   03AE  DD36D601          LD      (IX-42),1
   \   03B2            ?0055:
    228                          break;
   \   03B2  1874              JR      ?0047
   \   03B4            ?0056:
    229                      case 3:    //day
    230                          days = month_days[date.month-1];    //本月天数
   \   03B4  DD4ED6            LD      C,(IX-42)
   \   03B7  0600              LD      B,0
   \   03B9  210300            LD      HL,month_days-1
   \   03BC  09                ADD     HL,BC
   \   03BD  46                LD      B,(HL)
   \   03BE  DD70DE            LD      (IX-34),B
    231                          if((date.year % 4 == 0) && (date.month == 2)) days++;    //闰年+1
   \   03C1  DD6ED4            LD      L,(IX-44)
   \   03C4  DD66D5            LD      H,(IX-43)
   \   03C7  7D                LD      A,L
   \   03C8  E603              AND     3
   \   03CA  6F                LD      L,A
   \   03CB  2600              LD      H,0
   \   03CD  7D                LD      A,L
   \   03CE  B4                OR      H
   \   03CF  200A              JR      NZ,?0058
   \   03D1  DD46D6            LD      B,(IX-42)
   \   03D4  05                DEC     B
   \   03D5  05                DEC     B
   \   03D6  2003              JR      NZ,?0058
   \   03D8            ?0060:
   \   03D8            ?0059:
   \   03D8            ?0057:
   \   03D8  DD34DE            INC     (IX-34)
   \   03DB            ?0058:
    232                          if(date.day < days ) date.day++;
   \   03DB  DD7ED7            LD      A,(IX-41)
   \   03DE  DDBEDE            CP      (IX-34)
   \   03E1  3005              JR      NC,?0062
   \   03E3            ?0061:
   \   03E3  DD34D7            INC     (IX-41)
   \   03E6  1840              JR      ?0047
   \   03E8            ?0062:
    233                          else date.day = 1;
   \   03E8  DD36D701          LD      (IX-41),1
   \   03EC            ?0063:
    234                          break;
   \   03EC  183A              JR      ?0047
   \   03EE            ?0064:
    235                      case 4:    //hour
    236                          if(time.hour < 23) time.hour++;
   \   03EE  DD7ED8            LD      A,(IX-40)
   \   03F1  FE17              CP      23
   \   03F3  3005              JR      NC,?0066
   \   03F5            ?0065:
   \   03F5  DD34D8            INC     (IX-40)
   \   03F8  182E              JR      ?0047
   \   03FA            ?0066:
    237                          else time.hour = 0;
   \   03FA  DD36D800          LD      (IX-40),0
   \   03FE            ?0067:
    238                          break;
   \   03FE  1828              JR      ?0047
   \   0400            ?0068:
    239                      case 5:    //min
    240                          if(time.minute < 59) time.minute++;
   \   0400  DD7ED9            LD      A,(IX-39)
   \   0403  FE3B              CP      59
   \   0405  3005              JR      NC,?0070
   \   0407            ?0069:
   \   0407  DD34D9            INC     (IX-39)
   \   040A  181C              JR      ?0047
   \   040C            ?0070:
    241                          else time.minute = 0;
   \   040C  DD36D900          LD      (IX-39),0
   \   0410            ?0071:
    242                          break;
   \   0410  1816              JR      ?0047
   \   0412            ?0072:
    243                      case 6:    //sec
    244                          if(time.second< 59) time.second++;
   \   0412  DD7EDA            LD      A,(IX-38)
   \   0415  FE3B              CP      59
   \   0417  3005              JR      NC,?0074
   \   0419            ?0073:
   \   0419  DD34DA            INC     (IX-38)
   \   041C  180A              JR      ?0047
   \   041E            ?0074:
    245                          else time.second= 0;
   \   041E  DD36DA00          LD      (IX-38),0
   \   0422            ?0075:
    246                          break;
   \   0422  1804              JR      ?0047
   \   0424            ?0076:
    247                      default:    //no in setting
    248                          bSettime=0;
   \   0424  DD36E000          LD      (IX-32),0
    249                          break;
   \   0428            ?0047:
   \   0428            ?0079:
    250                      }    //set_what
    251          
    252                      //clear the key buffer
    253                      do
    254                      {
    255                          key = ap_get_message();
   \   0428  CD0000            CALL    LWRD ap_get_message
   \   042B  DD77DD            LD      (IX-35),A
    256                          if(key == (AP_KEY_NEXT | AP_KEY_UP))
   \   042E  FE26              CP      38
   \   0430  2006              JR      NZ,?0081
   \   0432            ?0080:
    257                          {
    258                              adjusting = FALSE;
   \   0432  DD36E100          LD      (IX-31),0
    259                              break;
   \   0436  1806              JR      ?0077
   \   0438            ?0081:
    260                          }
    261                      }
    262                      while(key != 0);
   \   0438  AF                XOR     A
   \   0439  DDB6DD            OR      (IX-35)
   \   043C  20EA              JR      NZ,?0047
   \   043E            ?0077:
    263          
    264                      need_draw = TRUE;
   \   043E  DD36DF01          LD      (IX-33),1
    265          
    266                      break;
   \   0442  C36205            JP      LWRD ?0126
   \   0445            ?0082:
    267          
    268          
    269                  case AP_KEY_PREV:    //in setting clock
    270                  case AP_KEY_PREV | AP_KEY_HOLD:
    271                      adjusting = TRUE;
   \   0445  DD36E101          LD      (IX-31),1
    272                      bSettime=0xff;
   \   0449  DD36E0FF          LD      (IX-32),255
    273                      switch(set_what)
   \   044D  DD5EDC            LD      E,(IX-36)
   \   0450  CD0000            CALL    LWRD ?C_S_SWITCH_L06
   \   0453  01                DEFB    1
   \   0454  0600              DEFW    6
   \   0456  0D05              DEFW    ?0112
   \   0458  6404              DEFW    ?0084
   \   045A  8D04              DEFW    ?0088
   \   045C  9F04              DEFW    ?0092
   \   045E  DA04              DEFW    ?0100
   \   0460  EB04              DEFW    ?0104
   \   0462  FC04              DEFW    ?0108
   \   0464            ?0084:
    274                          {
    275                          case 1:    //year
    276                              if(date.year > 2000) date.year--;
   \   0464  DD4ED4            LD      C,(IX-44)
   \   0467  DD46D5            LD      B,(IX-43)
   \   046A  21D007            LD      HL,2000
   \   046D  A7                AND     A
   \   046E  ED42              SBC     HL,BC
   \   0470  3010              JR      NC,?0086
   \   0472            ?0085:
   \   0472  DD6ED4            LD      L,(IX-44)
   \   0475  DD66D5            LD      H,(IX-43)
   \   0478  2B                DEC     HL
   \   0479  DD75D4            LD      (IX-44),L
   \   047C  DD74D5            LD      (IX-43),H
   \   047F  C31105            JP      LWRD ?0083
   \   0482            ?0086:
    277                              else date.year = 2098;
   \   0482  DD36D432          LD      (IX-44),50
   \   0486  DD36D508          LD      (IX-43),8
   \   048A            ?0087:
    278                              break;
   \   048A  C31105            JP      LWRD ?0083
   \   048D            ?0088:
    279                          case 2:    //month
    280                              if(date.month > 1) date.month--;
   \   048D  3E01              LD      A,1
   \   048F  DDBED6            CP      (IX-42)
   \   0492  3005              JR      NC,?0090
   \   0494            ?0089:
   \   0494  DD35D6            DEC     (IX-42)
   \   0497  1878              JR      ?0083
   \   0499            ?0090:
    281                              else date.month = 12;
   \   0499  DD36D60C          LD      (IX-42),12
   \   049D            ?0091:
    282                              break;
   \   049D  1872              JR      ?0083
   \   049F            ?0092:
    283                          case 3:    //day
    284                              days = month_days[date.month-1];    //本月天数
   \   049F  DD4ED6            LD      C,(IX-42)
   \   04A2  0600              LD      B,0
   \   04A4  210300            LD      HL,month_days-1
   \   04A7  09                ADD     HL,BC
   \   04A8  46                LD      B,(HL)
   \   04A9  DD70DE            LD      (IX-34),B
    285                              if((date.year % 4 == 0) && (date.month == 2)) days++;    //闰年+1
   \   04AC  DD6ED4            LD      L,(IX-44)
   \   04AF  DD66D5            LD      H,(IX-43)
   \   04B2  7D                LD      A,L
   \   04B3  E603              AND     3
   \   04B5  6F                LD      L,A
   \   04B6  2600              LD      H,0
   \   04B8  7D                LD      A,L
   \   04B9  B4                OR      H
   \   04BA  200A              JR      NZ,?0094
   \   04BC  DD46D6            LD      B,(IX-42)
   \   04BF  05                DEC     B
   \   04C0  05                DEC     B
   \   04C1  2003              JR      NZ,?0094
   \   04C3            ?0096:
   \   04C3            ?0095:
   \   04C3            ?0093:
   \   04C3  DD34DE            INC     (IX-34)
   \   04C6            ?0094:
    286                              if(date.day > 1 ) date.day--;
   \   04C6  3E01              LD      A,1
   \   04C8  DDBED7            CP      (IX-41)
   \   04CB  3005              JR      NC,?0098
   \   04CD            ?0097:
   \   04CD  DD35D7            DEC     (IX-41)
   \   04D0  183F              JR      ?0083
   \   04D2            ?0098:
    287                              else date.day = days;

⌨️ 快捷键说明

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