ui_directory.lst

来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,139 行 · 第 1/4 页

LST
1,139
字号
     97          
     98              while(ap_get_message()!=0) {;}
   \   00E8  CD0000            CALL    LWRD ap_get_message
   \   00EB  B7                OR      A
   \   00EC  20FA              JR      NZ,?0022
   \   00EE            ?0023:
   \   00EE            ?0021:
     99          
    100              ap_message_init(NULL);
   \   00EE  5F                LD      E,A
   \   00EF  57                LD      D,A
   \   00F0  3E00              LD      A,BYTE3 ap_message_init
   \   00F2  210000            LD      HL,LWRD ap_message_init
   \   00F5  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00F8            ?0025:
    101          
    102              while(1)
    103              {
    104                  //handle msg
    105                  key = ap_get_message();
   \   00F8  CD0000            CALL    LWRD ap_get_message
    106                  switch(key)
   \   00FB  5F                LD      E,A
   \   00FC  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   00FF  0A00              DEFW    10
   \   0101  05                DEFB    5
   \   0102  06                DEFB    6
   \   0103  1E                DEFB    30
   \   0104  21                DEFB    33
   \   0105  30                DEFB    48
   \   0106  37                DEFB    55
   \   0107  38                DEFB    56
   \   0108  45                DEFB    69
   \   0109  46                DEFB    70
   \   010A  90                DEFB    144
   \   010B  5A04              DEFW    ?0101
   \   010D  A802              DEFW    ?0057
   \   010F  2101              DEFW    ?0028
   \   0111  F401              DEFW    ?0042
   \   0113  F800              DEFW    ?0025
   \   0115  4A04              DEFW    ?0097
   \   0117  1903              DEFW    ?0075
   \   0119  4204              DEFW    ?0096
   \   011B  4204              DEFW    ?0096
   \   011D  2101              DEFW    ?0028
   \   011F  F401              DEFW    ?0042
   \   0121            ?0028:
    107                  {
    108          
    109                      case AP_KEY_NEXT:
    110                      case AP_KEY_NEXT | AP_KEY_HOLD:
    111                              if(list_active < list_total_num - 1)
   \   0121  21FFFF            LD      HL,65535
   \   0124  ED4B0000          LD      BC,(list_total_num)
   \   0128  09                ADD     HL,BC
   \   0129  4D                LD      C,L
   \   012A  44                LD      B,H
   \   012B  2A0000            LD      HL,(list_active)
   \   012E  A7                AND     A
   \   012F  ED42              SBC     HL,BC
   \   0131  305A              JR      NC,?0030
   \   0133            ?0029:
    112                              {
    113                                  list_active++;
   \   0133  2A0000            LD      HL,(list_active)
   \   0136  23                INC     HL
   \   0137  220000            LD      (list_active),HL
    114                                  if(list_active/GroupDefine==cur_group)
   \   013A  010600            LD      BC,6
   \   013D  EB                EX      DE,HL
   \   013E  CD0000            CALL    LWRD ?US_DIV_L02
   \   0141  2A0000            LD      HL,(cur_group)
   \   0144  A7                AND     A
   \   0145  ED52              SBC     HL,DE
   \   0147  2016              JR      NZ,?0032
   \   0149            ?0031:
    115                                  {
    116                                          ShowDirectory(top,bottom,list_active-1,list_active,string_id,DiskFlag);       //zxs change
   \   0149  DD6EEE            LD      L,(IX-18)
   \   014C  E5                PUSH    HL
   \   014D  DD6E0A            LD      L,(IX+10)
   \   0150  E5                PUSH    HL
   \   0151  2A0000            LD      HL,(list_active)
   \   0154  E5                PUSH    HL
   \   0155  21FFFF            LD      HL,65535
   \   0158  ED4B0000          LD      BC,(list_active)
   \   015C  09                ADD     HL,BC
   \   015D  182C              JR      ?0107
    117                                   }
    118                                      else
   \   015F            ?0032:
    119                                      {
    120                                              cur_group=cur_group+1;
   \   015F  210100            LD      HL,1
    121          
    122                                              top=(list_active/GroupDefine)*GroupDefine; //顶的序号
   \   0162  CD9D04            CALL    LWRD ?0120
    123                                              bottom=top+GroupDefine-1;                  //底的序号
    124                                              if(bottom>(list_total_num-1))
   \   0165  300B              JR      NC,?0035
   \   0167            ?0034:
    125                                                  bottom=list_total_num-1;
   \   0167  21FFFF            LD      HL,65535
   \   016A  ED4B0000          LD      BC,(list_total_num)
   \   016E  09                ADD     HL,BC
   \   016F  E5                PUSH    HL
   \   0170  FDE1              POP     IY
   \   0172            ?0035:
    126          
    127                                              DecodeOnePage(top,bottom,type,string_id);
   \   0172  DD6E0A            LD      L,(IX+10)
   \   0175  E5                PUSH    HL
   \   0176  DD6E04            LD      L,(IX+4)
   \   0179  E5                PUSH    HL
   \   017A  CD8C04            CALL    LWRD ?0119
   \   017D  E1                POP     HL
   \   017E  E1                POP     HL
    128                                              ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
   \   017F  DD6EEE            LD      L,(IX-18)
   \   0182  E5                PUSH    HL
   \   0183  DD6E0A            LD      L,(IX+10)
   \   0186  E5                PUSH    HL
   \   0187  2A0000            LD      HL,(list_active)
   \   018A  E5                PUSH    HL
   \   018B            ?0107:
   \   018B  1848              JR      ?0111
   \   018D            ?0033:
    129                                      }
    130                              }
    131                              else
   \   018D            ?0030:
    132                              {
    133                                      list_active = 0;
   \   018D  210000            LD      HL,0
   \   0190  220000            LD      (list_active),HL
    134                                      cur_group=0;
   \   0193  220000            LD      (cur_group),HL
    135                                      top=0; //顶的序号
    136                                      bottom=top+GroupDefine-1;                  //底的序号
   \   0196  FD210500          LD      IY,5
    137                                      if(bottom>(list_total_num-1))
   \   019A  AF                XOR     A
   \   019B  DD77EC            LD      (IX-20),A
   \   019E  DD77ED            LD      (IX-19),A
   \   01A1  2B                DEC     HL
   \   01A2  03                INC     BC
   \   01A3  09                ADD     HL,BC
   \   01A4  FDE5              PUSH    IY
   \   01A6  C1                POP     BC
   \   01A7  A7                AND     A
   \   01A8  ED42              SBC     HL,BC
   \   01AA  300B              JR      NC,?0038
   \   01AC            ?0037:
    138                                          bottom=list_total_num-1;
   \   01AC  21FFFF            LD      HL,65535
   \   01AF  ED4B0000          LD      BC,(list_total_num)
   \   01B3  09                ADD     HL,BC
   \   01B4  E5                PUSH    HL
   \   01B5  FDE1              POP     IY
   \   01B7            ?0038:
    139                                      DecodeOnePage(top,bottom,type,string_id);
   \   01B7  DD6E0A            LD      L,(IX+10)
   \   01BA  E5                PUSH    HL
   \   01BB  DD6E04            LD      L,(IX+4)
   \   01BE  E5                PUSH    HL
   \   01BF  FDE5              PUSH    IY
   \   01C1  C1                POP     BC
   \   01C2  5F                LD      E,A
   \   01C3  53                LD      D,E
   \   01C4  CD9504            CALL    LWRD ?0118
   \   01C7  E1                POP     HL
   \   01C8  E1                POP     HL
    140                                      ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
   \   01C9  DD6EEE            LD      L,(IX-18)
   \   01CC  E5                PUSH    HL
   \   01CD  DD6E0A            LD      L,(IX+10)
   \   01D0  E5                PUSH    HL
   \   01D1  2A0000            LD      HL,(list_active)
   \   01D4  E5                PUSH    HL
   \   01D5            ?0111:
   \   01D5  E5                PUSH    HL
   \   01D6  FDE5              PUSH    IY
   \   01D8  C1                POP     BC
   \   01D9  DD5EEC            LD      E,(IX-20)
   \   01DC  DD56ED            LD      D,(IX-19)
   \   01DF  3E00              LD      A,BYTE3 ShowDirectory
   \   01E1  210000            LD      HL,LWRD ShowDirectory
   \   01E4  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   01E7  E1                POP     HL
   \   01E8  E1                POP     HL
   \   01E9  E1                POP     HL
   \   01EA  E1                POP     HL
   \   01EB            ?0036:
   \   01EB            ?0040:
    141                              }
    142                          while(ap_get_message() != 0);
   \   01EB  CD0000            CALL    LWRD ap_get_message
   \   01EE  B7                OR      A
   \   01EF  20FA              JR      NZ,?0036
   \   01F1            ?0041:
    143          
    144          
    145                         break;
   \   01F1            ?0039:
   \   01F1  C3F800            JP      LWRD ?0025
   \   01F4            ?0042:
    146          
    147                      case AP_KEY_PREV:
    148                      case AP_KEY_PREV | AP_KEY_HOLD :
    149                          if(list_active >0)
   \   01F4  2A0000            LD      HL,(list_active)
   \   01F7  7D                LD      A,L
   \   01F8  B4                OR      H
   \   01F9  284F              JR      Z,?0044
   \   01FB            ?0043:
    150                              {
    151                                  list_active--;
   \   01FB  2B                DEC     HL
   \   01FC  220000            LD      (list_active),HL
    152                                  if(list_active/GroupDefine==cur_group)
   \   01FF  010600            LD      BC,6
   \   0202  EB                EX      DE,HL
   \   0203  CD0000            CALL    LWRD ?US_DIV_L02
   \   0206  2A0000            LD      HL,(cur_group)
   \   0209  ED52              SBC     HL,DE
   \   020B  200F              JR      NZ,?0046
   \   020D            ?0045:
    153                                  {
    154                                          ShowDirectory(top,bottom,list_active+1,list_active,string_id,DiskFlag);
   \   020D  DD6EEE            LD      L,(IX-18)
   \   0210  E5                PUSH    HL
   \   0211  DD6E0A            LD      L,(IX+10)
   \   0214  E5                PUSH    HL
   \   0215  2A0000            LD      HL,(list_active)
   \   0218  E5                PUSH    HL
   \   0219  23                INC     HL
   \   021A  182C              JR      ?0108
    155                                      }
    156                                      else
   \   021C            ?0046:
    157                                      {
    158                                              cur_group=cur_group-1;
   \   021C  21FFFF            LD      HL,65535
    159          
    160                                              top=(list_active/GroupDefine)*GroupDefine; //顶的序号
   \   021F  CD9D04            CALL    LWRD ?0120
    161                                              bottom=top+GroupDefine-1;                  //底的序号
    162                                              if(bottom>(list_total_num-1))
   \   0222  300B              JR      NC,?0049
   \   0224            ?0048:
    163                                                  bottom=list_total_num-1;
   \   0224  21FFFF            LD      HL,65535
   \   0227  ED4B0000          LD      BC,(list_total_num)
   \   022B  09                ADD     HL,BC
   \   022C  E5                PUSH    HL
   \   022D  FDE1              POP     IY
   \   022F            ?0049:
    164          
    165                                              DecodeOnePage(top,bottom,type,string_id);
   \   022F  DD6E0A            LD      L,(IX+10)
   \   0232  E5                PUSH    HL
   \   0233  DD6E04            LD      L,(IX+4)
   \   0236  E5                PUSH    HL
   \   0237  CD8C04            CALL    LWRD ?0119
   \   023A  E1                POP     HL
   \   023B  E1                POP     HL
    166                                              ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
   \   023C  DD6EEE            LD      L,(IX-18)
   \   023F  E5                PUSH    HL
   \   0240  DD6E0A            LD      L,(IX+10)
   \   0243  E5                PUSH    HL
   \   0244  2A0000            LD      HL,(list_active)
   \   0247  E5                PUSH    HL
   \   0248            ?0108:
   \   0248  183F              JR      ?0112
   \   024A            ?0047:
    167                                      }
    168                              }
    169                              else
   \   024A            ?0044:
    170                              {
    171                                      list_active= list_total_num - 1;
   \   024A  21FFFF            LD      HL,65535
   \   024D  ED4B0000          LD      BC,(list_total_num)
   \   0251  09                ADD     HL,BC

⌨️ 快捷键说明

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