navi.lst

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

LST
963
字号
   \   03C6  C5                PUSH    BC
   \   03C7  2E06              LD      L,6
   \   03C9  E5                PUSH    HL
   \   03CA  DD4EF0            LD      C,(IX-16)
   \   03CD  DD46F1            LD      B,(IX-15)
   \   03D0  DD6EEE            LD      L,(IX-18)
   \   03D3  DD66EF            LD      H,(IX-17)
   \   03D6  CD0000            CALL    LWRD ?SL_DIV_L03
   \   03D9  C5                PUSH    BC
   \   03DA  E5                PUSH    HL
   \   03DB  010000            LD      BC,0
   \   03DE  210600            LD      HL,6
   \   03E1  CD0000            CALL    LWRD ?L_MUL_L03
   \   03E4  CDE804            CALL    LWRD ?0073
   \   03E7  C5                PUSH    BC
   \   03E8  E5                PUSH    HL
   \   03E9  2A0000            LD      HL,(CurListoffset)
   \   03EC  C1                POP     BC
   \   03ED  09                ADD     HL,BC
   \   03EE  EB                EX      DE,HL
   \   03EF  2A0200            LD      HL,(CurListoffset+2)
   \   03F2  C1                POP     BC
   \   03F3  ED4A              ADC     HL,BC
   \   03F5  4D                LD      C,L
   \   03F6  44                LD      B,H
   \   03F7  EB                EX      DE,HL
   \   03F8  220400            LD      (Navfileoffset),HL
   \   03FB  ED430600          LD      (Navfileoffset+2),BC
    178                              head= 1;
   \   03FF  DD36F901          LD      (IX-7),1
    179                            }
    180                            else
   \   0403  1845              JR      ?0051
   \   0405            ?0049:
    181                            {
    182                             head =0; 
    183                             Navfileoffset = CurListoffset;
   \   0405  ED4B0200          LD      BC,(CurListoffset+2)
   \   0409  2A0000            LD      HL,(CurListoffset)
   \   040C  220400            LD      (Navfileoffset),HL
   \   040F  ED430600          LD      (Navfileoffset+2),BC
   \   0413  DD36F900          LD      (IX-7),0
   \   0417            ?0050:
    184                            }
    185                          }
    186                          else
   \   0417  1831              JR      ?0051
   \   0419            ?0047:
    187                          {
    188                            save_list = g_active_list;
    189                            save_active = active_list;
    190                            Navfileoffset = CurListoffset;
    191                            g_active_list = 0;
   \   0419  DD4EF0            LD      C,(IX-16)
   \   041C  DD46F1            LD      B,(IX-15)
   \   041F  DD6EEE            LD      L,(IX-18)
   \   0422  DD66EF            LD      H,(IX-17)
   \   0425  DD75F2            LD      (IX-14),L
   \   0428  DD74F3            LD      (IX-13),H
   \   042B  DD71F4            LD      (IX-12),C
   \   042E  DD70F5            LD      (IX-11),B
    192                            active_list = 0;
   \   0431  DD46F8            LD      B,(IX-8)
   \   0434  DD70FF            LD      (IX-1),B
    193                            head = 0;
   \   0437  AF                XOR     A
   \   0438  DD77EE            LD      (IX-18),A
   \   043B  DD77EF            LD      (IX-17),A
   \   043E  DD77F0            LD      (IX-16),A
   \   0441  DD77F1            LD      (IX-15),A
   \   0444  DD77F8            LD      (IX-8),A
   \   0447  DD77F9            LD      (IX-7),A
   \   044A            ?0051:
    194                          }          
    195                          old_list=active_list;   
    196                          need_draw = TRUE;       
    197                          direct=0;  
    198                          need_read = TRUE;  
   \   044A  DD46F8            LD      B,(IX-8)
   \   044D  DD36FB01          LD      (IX-5),1
   \   0451  DD36FC00          LD      (IX-4),0
   \   0455  DD36FD01          LD      (IX-3),1
    199                          continue;          
   \   0459  C35800            JP      LWRD ?0005
   \   045C            ?0045:
    200                      }
    201                       else //是文件
    202                       {
    203                           return (check_file_type( g_active_list));
   \   045C  DD4EF0            LD      C,(IX-16)
   \   045F  DD46F1            LD      B,(IX-15)
   \   0462  DD5EEE            LD      E,(IX-18)
   \   0465  DD56EF            LD      D,(IX-17)
   \   0468  3E00              LD      A,BYTE3 check_file_type
   \   046A  210000            LD      HL,LWRD check_file_type
   \   046D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    204                       }
   \   0470  184B              JR      ?0064
    205                   //    while(ap_get_message() != 0);
    206                       break;
   \   0472            ?0052:
    207                    case AP_KEY_MODE | AP_KEY_LONG:    //确认退出      
    208                        break;
   \   0472            ?0053:
    209                                     
    210                    case AP_MSG_WAIT_TIMEOUT:
    211                      result = RESULT_IGNORE;   
   \   0472  FD213400          LD      IY,52
    212                      break;
   \   0476  183E              JR      ?0061
   \   0478            ?0054:
    213                                         
    214                    default:
    215                       key = ap_handle_hotkey(key);
   \   0478  CD0000            CALL    LWRD ap_handle_hotkey
   \   047B  DD77FE            LD      (IX-2),A
    216                       if(key == RESULT_REDRAW) 
   \   047E  FE32              CP      50
   \   0480  2006              JR      NZ,?0056
   \   0482            ?0055:
    217                         need_draw = TRUE;
   \   0482  DD36FB01          LD      (IX-5),1
    218                       else 
   \   0486  180C              JR      ?0059
   \   0488            ?0056:
    219                        if(key != 0)
   \   0488  AF                XOR     A
   \   0489  DDB6FE            OR      (IX-2)
   \   048C  2806              JR      Z,?0059
   \   048E            ?0058:
    220                        {
    221                          result = key;
   \   048E  4F                LD      C,A
   \   048F  0600              LD      B,0
   \   0491  C5                PUSH    BC
   \   0492  FDE1              POP     IY
   \   0494            ?0059:
   \   0494            ?0057:
    222                        }                                
    223                        if(ScrollFlag)     
   \   0494  3A0000            LD      A,(ScrollFlag)
   \   0497  B7                OR      A
   \   0498  281C              JR      Z,?0061
   \   049A            ?0060:
    224                         ui_Navi_list(active_list,old_list,g_active_list, direct,1); //滚动屏幕       
   \   049A  0E01              LD      C,1
   \   049C  C5                PUSH    BC
   \   049D  DD6EFC            LD      L,(IX-4)
   \   04A0  E5                PUSH    HL
   \   04A1  DD6EF0            LD      L,(IX-16)
   \   04A4  DD66F1            LD      H,(IX-15)
   \   04A7  E5                PUSH    HL
   \   04A8  DD6EEE            LD      L,(IX-18)
   \   04AB  DD66EF            LD      H,(IX-17)
   \   04AE  E5                PUSH    HL
   \   04AF  CDD504            CALL    LWRD ?0070
   \   04B2  E1                POP     HL
   \   04B3  E1                POP     HL
   \   04B4  E1                POP     HL
   \   04B5  E1                POP     HL
   \   04B6            ?0061:
    225                        break;
   \   04B6            ?0011:
    226                    }    //switch
    227                   
    228                  if(result!=0) 
   \   04B6  FDE5              PUSH    IY
   \   04B8  E1                POP     HL
   \   04B9  7D                LD      A,L
   \   04BA  B4                OR      H
   \   04BB  2805              JR      Z,?0063
   \   04BD            ?0062:
    229                  {
    230                    //output8(0x27,IO27Bak&0xfe);     
    231                    //FS_FClose(Navifp); 
    232                   // output8(0x27,IO27Bak);     
    233                    return result;        
    234                  }   
   \   04BD            ?0064:
   \   04BD  FDE1              POP     IY
   \   04BF  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   04C2            ?0063:
    235              }//while 
    236          }
   \   04C2  C35800            JP      LWRD ?0005
   \   04C5            ?0068:
   \   04C5  ED4B0600          LD      BC,(Navfileoffset+2)
   \   04C9  ED5B0400          LD      DE,(Navfileoffset)
   \   04CD            ?0067:
   \   04CD  3E00              LD      A,BYTE3 Navi_read_head
   \   04CF  210000            LD      HL,LWRD Navi_read_head
   \   04D2  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   04D5            ?0070:
   \   04D5  DD4EFA            LD      C,(IX-6)
   \   04D8            ?0071:
   \   04D8  DD5EF8            LD      E,(IX-8)
   \   04DB            ?0069:
   \   04DB  3E00              LD      A,BYTE3 ui_Navi_list
   \   04DD  210000            LD      HL,LWRD ui_Navi_list
   \   04E0  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   04E3            ?0072:
   \   04E3  ED4A              ADC     HL,BC
   \   04E5  4D                LD      C,L
   \   04E6  44                LD      B,H
   \   04E7  EB                EX      DE,HL
   \   04E8            ?0073:
   \   04E8  3E06              LD      A,6
   \   04EA  C30000            JP      LWRD ?L_LSH_L03
   \   04ED            ?0074:
   \   04ED  DD6EEE            LD      L,(IX-18)
   \   04F0  DD66EF            LD      H,(IX-17)
   \   04F3  DD4EF0            LD      C,(IX-16)
   \   04F6  DD46F1            LD      B,(IX-15)
   \   04F9  CD0000            CALL    LWRD ?L_DEC_L03
   \   04FC  DD75EE            LD      (IX-18),L
   \   04FF  DD74EF            LD      (IX-17),H
   \   0502  DD71F0            LD      (IX-16),C
   \   0505  DD70F1            LD      (IX-15),B
   \   0508  C9                RET
   \   0000                    RSEG    UDATA0
   \   0000            CurListoffset:
   \   0004                    DEFS    4
   \   0004            Navfileoffset:
   \   0008                    DEFS    4
   \   0008            CurTotalNum:
   \   000C                    DEFS    4
   \   0000                    RSEG    APD_NAVI
   \   0000            navi_buff:
   \   00B4                    DEFS    180
   \   00B4            buffer:
   \   02B4                    DEFS    512
   \   02B4                    END

Errors: none
Warnings: none
Code size: 1289
Constant size: 0
Static variable size: Data(704) Iram(0)

⌨️ 快捷键说明

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