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

📄 ui_directory.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   00D8  E1                POP     HL
   \   00D9  E1                POP     HL
     96              ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
   \   00DA  DD6EEA            LD      L,(IX-22)
   \   00DD  E5                PUSH    HL
   \   00DE  DD6E08            LD      L,(IX+8)
   \   00E1  E5                PUSH    HL
   \   00E2  2A0000            LD      HL,(list_active)
   \   00E5  E5                PUSH    HL
   \   00E6  E5                PUSH    HL
   \   00E7  CD1604            CALL    LWRD ?0121
   \   00EA  E1                POP     HL
   \   00EB  E1                POP     HL
   \   00EC  E1                POP     HL
   \   00ED  E1                POP     HL
   \   00EE            ?0022:
     97          
     98              while(ap_get_message()!=0) {;}
   \   00EE  CD0000            CALL    LWRD ap_get_message
   \   00F1  B7                OR      A
   \   00F2  20FA              JR      NZ,?0022
   \   00F4            ?0023:
   \   00F4            ?0021:
     99          
    100              ap_message_init(NULL);
   \   00F4  5F                LD      E,A
   \   00F5  57                LD      D,A
   \   00F6  3E00              LD      A,BYTE3 ap_message_init
   \   00F8  210000            LD      HL,LWRD ap_message_init
   \   00FB  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00FE            ?0025:
    101          
    102              while(1)
    103              {
    104                  //handle msg
    105                  key = ap_get_message();
   \   00FE  CD0000            CALL    LWRD ap_get_message
    106                  switch(key)
   \   0101  5F                LD      E,A
   \   0102  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   0105  0A00              DEFW    10
   \   0107  05                DEFB    5
   \   0108  06                DEFB    6
   \   0109  1E                DEFB    30
   \   010A  21                DEFB    33
   \   010B  30                DEFB    48
   \   010C  37                DEFB    55
   \   010D  38                DEFB    56
   \   010E  45                DEFB    69
   \   010F  46                DEFB    70
   \   0110  90                DEFB    144
   \   0111  F603              DEFW    ?0101
   \   0113  4502              DEFW    ?0057
   \   0115  2701              DEFW    ?0028
   \   0117  C301              DEFW    ?0042
   \   0119  FE00              DEFW    ?0025
   \   011B  E503              DEFW    ?0097
   \   011D  B602              DEFW    ?0075
   \   011F  D203              DEFW    ?0096
   \   0121  D203              DEFW    ?0096
   \   0123  2701              DEFW    ?0028
   \   0125  C301              DEFW    ?0042
   \   0127            ?0028:
    107                  {
    108          
    109                      case AP_KEY_NEXT:
    110                      case AP_KEY_NEXT | AP_KEY_HOLD:
    111                              if(list_active < list_total_num - 1)
   \   0127  21FFFF            LD      HL,65535
   \   012A  ED4B0000          LD      BC,(list_total_num)
   \   012E  09                ADD     HL,BC
   \   012F  4D                LD      C,L
   \   0130  44                LD      B,H
   \   0131  2A0000            LD      HL,(list_active)
   \   0134  A7                AND     A
   \   0135  ED42              SBC     HL,BC
   \   0137  3036              JR      NC,?0030
   \   0139            ?0029:
    112                              {
    113                                  list_active++;
   \   0139  2A0000            LD      HL,(list_active)
   \   013C  23                INC     HL
   \   013D  220000            LD      (list_active),HL
    114                                  if(list_active/GroupDefine==cur_group)
   \   0140  010600            LD      BC,6
   \   0143  EB                EX      DE,HL
   \   0144  CD0000            CALL    LWRD ?US_DIV_L02
   \   0147  2A0000            LD      HL,(cur_group)
   \   014A  A7                AND     A
   \   014B  ED52              SBC     HL,DE
   \   014D  2016              JR      NZ,?0032
   \   014F            ?0031:
    115                                  {
    116                                          ShowDirectory(top,bottom,list_active-1,list_active,string_id,DiskFlag);       //zxs change
   \   014F  DD6EEA            LD      L,(IX-22)
   \   0152  E5                PUSH    HL
   \   0153  DD6E08            LD      L,(IX+8)
   \   0156  E5                PUSH    HL
   \   0157  2A0000            LD      HL,(list_active)
   \   015A  E5                PUSH    HL
   \   015B  21FFFF            LD      HL,65535
   \   015E  ED4B0000          LD      BC,(list_active)
   \   0162  09                ADD     HL,BC
   \   0163  184D              JR      ?0111
    117                                   }
    118                                      else
   \   0165            ?0032:
    119                                      {
    120                                              cur_group=cur_group+1;
   \   0165  210100            LD      HL,1
    121          
    122                                              top=(list_active/GroupDefine)*GroupDefine; //顶的序号
   \   0168  CD3804            CALL    LWRD ?0124
    123                                              bottom=top+GroupDefine-1;                  //底的序号
    124                                              if(bottom>(list_total_num-1))
   \   016B  302C              JR      NC,?0038
   \   016D            ?0034:
    125                                                  bottom=list_total_num-1;
   \   016D  181F              JR      ?0119
   \   016F            ?0035:
    126          
    127                                              DecodeOnePage(top,bottom,type,string_id);
    128                                              ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
   \   016F            ?0033:
    129                                      }
    130                              }
    131                              else
   \   016F            ?0030:
    132                              {
    133                                      list_active = 0;
   \   016F  210000            LD      HL,0
   \   0172  220000            LD      (list_active),HL
    134                                      cur_group=0;
   \   0175  220000            LD      (cur_group),HL
    135                                      top=0; //顶的序号
    136                                      bottom=top+GroupDefine-1;                  //底的序号
   \   0178  FD210500          LD      IY,5
    137                                      if(bottom>(list_total_num-1))
   \   017C  AF                XOR     A
   \   017D  DD77E8            LD      (IX-24),A
   \   0180  DD77E9            LD      (IX-23),A
   \   0183  2B                DEC     HL
   \   0184  03                INC     BC
   \   0185  09                ADD     HL,BC
   \   0186  FDE5              PUSH    IY
   \   0188  C1                POP     BC
   \   0189  A7                AND     A
   \   018A  ED42              SBC     HL,BC
   \   018C  300B              JR      NC,?0038
   \   018E            ?0037:
    138                                          bottom=list_total_num-1;
   \   018E            ?0119:
   \   018E  21FFFF            LD      HL,65535
   \   0191  ED4B0000          LD      BC,(list_total_num)
   \   0195  09                ADD     HL,BC
   \   0196  E5                PUSH    HL
   \   0197  FDE1              POP     IY
   \   0199            ?0038:
    139                                      DecodeOnePage(top,bottom,type,string_id);
   \   0199  DD6E08            LD      L,(IX+8)
   \   019C  E5                PUSH    HL
   \   019D  DD6EFE            LD      L,(IX-2)
   \   01A0  E5                PUSH    HL
   \   01A1  CD2704            CALL    LWRD ?0123
   \   01A4  E1                POP     HL
   \   01A5  E1                POP     HL
    140                                      ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
   \   01A6  DD6EEA            LD      L,(IX-22)
   \   01A9  E5                PUSH    HL
   \   01AA  DD6E08            LD      L,(IX+8)
   \   01AD  E5                PUSH    HL
   \   01AE  2A0000            LD      HL,(list_active)
   \   01B1  E5                PUSH    HL
   \   01B2            ?0111:
   \   01B2  E5                PUSH    HL
   \   01B3  CD1604            CALL    LWRD ?0121
   \   01B6  E1                POP     HL
   \   01B7  E1                POP     HL
   \   01B8  E1                POP     HL
   \   01B9  E1                POP     HL
   \   01BA            ?0036:
   \   01BA            ?0040:
    141                              }
    142                          while(ap_get_message() != 0);
   \   01BA  CD0000            CALL    LWRD ap_get_message
   \   01BD  B7                OR      A
   \   01BE  CAFE00            JP      Z,?0025
   \   01C1            ?0041:
    143          
    144          
    145                         break;
   \   01C1  18F7              JR      ?0036
   \   01C3            ?0039:
   \   01C3            ?0042:
    146          
    147                      case AP_KEY_PREV:
    148                      case AP_KEY_PREV | AP_KEY_HOLD :
    149                          if(list_active >0)
   \   01C3  2A0000            LD      HL,(list_active)
   \   01C6  7D                LD      A,L
   \   01C7  B4                OR      H
   \   01C8  282B              JR      Z,?0044
   \   01CA            ?0043:
    150                              {
    151                                  list_active--;
   \   01CA  2B                DEC     HL
   \   01CB  220000            LD      (list_active),HL
    152                                  if(list_active/GroupDefine==cur_group)
   \   01CE  010600            LD      BC,6
   \   01D1  EB                EX      DE,HL
   \   01D2  CD0000            CALL    LWRD ?US_DIV_L02
   \   01D5  2A0000            LD      HL,(cur_group)
   \   01D8  ED52              SBC     HL,DE
   \   01DA  200F              JR      NZ,?0046
   \   01DC            ?0045:
    153                                  {
    154                                          ShowDirectory(top,bottom,list_active+1,list_active,string_id,DiskFlag);
   \   01DC  DD6EEA            LD      L,(IX-22)
   \   01DF  E5                PUSH    HL
   \   01E0  DD6E08            LD      L,(IX+8)
   \   01E3  E5                PUSH    HL
   \   01E4  2A0000            LD      HL,(list_active)
   \   01E7  E5                PUSH    HL
   \   01E8  23                INC     HL
   \   01E9  1849              JR      ?0112
    155                                      }
    156                                      else
   \   01EB            ?0046:
    157                                      {
    158                                              cur_group=cur_group-1;
   \   01EB  21FFFF            LD      HL,65535
    159          
    160                                              top=(list_active/GroupDefine)*GroupDefine; //顶的序号
   \   01EE  CD3804            CALL    LWRD ?0124
    161                                              bottom=top+GroupDefine-1;                  //底的序号
    162                                              if(bottom>(list_total_num-1))
   \   01F1  3028              JR      NC,?0052
   \   01F3            ?0048:
    163                                                  bottom=list_total_num-1;
   \   01F3  181B              JR      ?0120
   \   01F5            ?0049:
    164          
    165                                              DecodeOnePage(top,bottom,type,string_id);
    166                                              ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
   \   01F5            ?0047:
    167                                      }
    168                              }
    169                              else
   \   01F5            ?0044:
    170                              {
    171                                      list_active= list_total_num - 1;
   \   01F5  21FFFF            LD      HL,65535
   \   01F8  ED4B0000          LD      BC,(list_total_num)
   \   01FC  09                ADD     HL,BC
   \   01FD  220000            LD      (list_active),HL
    172                                      cur_group=(list_total_num - 1)/GroupDefine;
   \   0200  010600            LD      BC,6
   \   0203  CD6C04            CALL    LWRD ?0125
    173                                      top=(list_active/GroupDefine)*GroupDefine; //顶的序号
    174                                      bottom=top+GroupDefine-1;                  //底的序号
    175                                      if(bottom>(list_total_num-1))
   \   0206  4D                LD      C,L
   \   0207  44                LD      B,H
   \   0208  2A0000            LD      HL,(list_active)
   \   020B  A7                AND     A
   \   020C  ED42              SBC     HL,BC
   \   020E  300B              JR      NC,?0052
   \   0210            ?0051:
    176                                          bottom=list_total_num-1;
   \   0210            ?0120:
   \   0210  21FFFF            LD      HL,65535
   \   0213  ED4B0000          LD      BC,(list_total_num)

⌨️ 快捷键说明

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