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

📄 sort_store_list.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00E6  2171FE            LD      HL,65137
   \   00E9  DD4EEC            LD      C,(IX-20)
   \   00EC  DD46ED            LD      B,(IX-19)
   \   00EF  09                ADD     HL,BC
   \   00F0  4D                LD      C,L
   \   00F1  44                LD      B,H
   \   00F2  112900            LD      DE,41
   \   00F5            ?0050:
   \   00F5  CD0000            CALL    LWRD ?S_MUL_L02
   \   00F8  DD6EFC            LD      L,(IX-4)
   \   00FB  DD66FD            LD      H,(IX-3)
   \   00FE  19                ADD     HL,DE
   \   00FF  DD75F8            LD      (IX-8),L
   \   0102  DD74F9            LD      (IX-7),H
   \   0105            ?0018:
     57                  }                                                                  
     58                 memcpy(&WritrVMBuffer[30+71*j],store_location,OneLocationBYTE);
   \   0105  211E00            LD      HL,WritrVMBuffer+30
   \   0108  114700            LD      DE,71
   \   010B  FDE5              PUSH    IY
   \   010D  C1                POP     BC
   \   010E  CD0000            CALL    LWRD ?S_MUL_L02
   \   0111  19                ADD     HL,DE
   \   0112  EB                EX      DE,HL
   \   0113  DD6EF8            LD      L,(IX-8)
   \   0116  DD66F9            LD      H,(IX-7)
   \   0119  012900            LD      BC,41
   \   011C  EDB0              LDIR
     59                 output8(0x05,BakIO05); 
   \   011E  DD7EFB            LD      A,(IX-5)
   \   0121  D305              OUT     (5),A
     60                 }       
     61                file_counter++;      
   \   0123  DD34EE            INC     (IX-18)
   \   0126  2003              JR      NZ,?0045
   \   0128  DD34EF            INC     (IX-17)
   \   012B            ?0045:
     62          //////////////////////test      
     63                if(file_counter==390)
   \   012B  218601            LD      HL,390
   \   012E  DD4EEE            LD      C,(IX-18)
   \   0131  DD46EF            LD      B,(IX-17)
   \   0134  A7                AND     A
   \   0135  ED42              SBC     HL,BC
   \   0137  2006              JR      NZ,?0020
   \   0139            ?0019:
     64                  output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);       
   \   0139  DB4E              IN      A,(78)
   \   013B  CBDF              SET     3,A
   \   013D  D34E              OUT     (78),A
   \   013F            ?0020:
     65          //////////////////////test              
     66                if(file_counter>g_file_total)          //总的存储项
   \   013F  2A0000            LD      HL,(g_file_total)
   \   0142  A7                AND     A
   \   0143  ED42              SBC     HL,BC
   \   0145  3805              JR      C,?0012
   \   0147            ?0021:
     67                 break;
   \   0147            ?0022:
   \   0147  FD23              INC     IY
   \   0149  C36D00            JP      LWRD ?0013
   \   014C            ?0012:
     68              }                                     
     69              output8(0x05,IO05bak);                    //05 端口恢复,否则可能和文件系统冲突
   \   014C  DD7EFA            LD      A,(IX-6)
   \   014F  D305              OUT     (5),A
     70              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08); 
   \   0151  DB4E              IN      A,(78)
   \   0153  CBDF              SET     3,A
   \   0155  D34E              OUT     (78),A
     71              FS_FWrite(WritrVMBuffer,1,listhandle);                                                            //
   \   0157  DD6E08            LD      L,(IX+8)
   \   015A  DD6609            LD      H,(IX+9)
   \   015D  E5                PUSH    HL
   \   015E  0E01              LD      C,1
   \   0160  110000            LD      DE,WritrVMBuffer
   \   0163  CD0000            CALL    LWRD FS_FWrite
   \   0166  E1                POP     HL
   \   0167  DD34F0            INC     (IX-16)
   \   016A  C22900            JP      NZ,?0003
   \   016D  DD34F1            INC     (IX-15)
   \   0170  C32900            JP      LWRD ?0003
   \   0173            ?0002:
     72            } 
     73            FS_FClose(listhandle);                                   //写文件结束    
   \   0173  DD5E08            LD      E,(IX+8)
   \   0176  DD5609            LD      D,(IX+9)
   \   0179  CD0000            CALL    LWRD FS_FClose
     74          }
   \   017C            ?0064:
   \   017C  DDF9              LD      SP,IX
   \   017E  DDE1              POP     IX
   \   0180  FDE1              POP     IY
   \   0182  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0185            StoreList:
     75           
     76          void  StoreList(char *listaddress,int pagenum,char listtype)
     77          {
   \   0185  FDE5              PUSH    IY
   \   0187  DDE5              PUSH    IX
   \   0189  D5                PUSH    DE
   \   018A  C5                PUSH    BC
   \   018B  FDE1              POP     IY
     78             handle TempFileHandle;
     79             FS_CD(":");                               //回根目录创建列表文件
   \   018D  110000            LD      DE,?0023
   \   0190  CD0000            CALL    LWRD FS_CD
     80             switch(listtype)
   \   0193  210A00            LD      HL,10
   \   0196  39                ADD     HL,SP
   \   0197  5E                LD      E,(HL)
   \   0198  CD0000            CALL    LWRD ?C_S_SWITCH_L06
   \   019B  00                DEFB    0
   \   019C  0400              DEFW    4
   \   019E  ED01              DEFW    ?0040
   \   01A0  A801              DEFW    ?0025
   \   01A2  B401              DEFW    ?0029
   \   01A4  C001              DEFW    ?0033
   \   01A6  CC01              DEFW    ?0037
   \   01A8            ?0025:
     81             {
     82             case 0: 
     83             //FS_FRemove(TIT2FileName);    //删除原来列表                         
     84             TempFileHandle = FS_FCreate(TIT2FileName);  
   \   01A8  110200            LD      DE,?0026
   \   01AB  CDF501            CALL    LWRD ?0065
     85             if(TempFileHandle!=NULL)  
   \   01AE  283D              JR      Z,?0040
   \   01B0            ?0027:
     86             WriteVmData(listaddress,pagenum,TempFileHandle,0);        
   \   01B0  0E00              LD      C,0
   \   01B2  1822              JR      ?0057
   \   01B4            ?0028:
     87             break;
   \   01B4            ?0029:
     88             
     89             case  1:                    //删除原来列表
     90             //FS_FRemove(TPE1FileName);    //删除原来                       
     91             TempFileHandle = FS_FCreate(TPE1FileName);  
   \   01B4  110E00            LD      DE,?0030
   \   01B7  CDF501            CALL    LWRD ?0065
     92             if(NULL!= TempFileHandle) 
   \   01BA  2831              JR      Z,?0040
   \   01BC            ?0031:
     93             WriteVmData(listaddress,pagenum,TempFileHandle,1);      
   \   01BC  0E01              LD      C,1
   \   01BE  1816              JR      ?0057
   \   01C0            ?0032:
     94             break;
   \   01C0            ?0033:
     95             
     96             case 2:
     97             //FS_FRemove(TALBFileName);    //删除原来列表                  
     98             TempFileHandle = FS_FCreate(TALBFileName);  
   \   01C0  111A00            LD      DE,?0034
   \   01C3  CDF501            CALL    LWRD ?0065
     99             if(NULL!= TempFileHandle)  
   \   01C6  2825              JR      Z,?0040
   \   01C8            ?0035:
    100             WriteVmData(listaddress,pagenum,TempFileHandle,2);       
   \   01C8  0E02              LD      C,2
   \   01CA  180A              JR      ?0057
   \   01CC            ?0036:
    101             break;
   \   01CC            ?0037:
    102             
    103             case 3:
    104             //FS_FRemove(FILENAMELSIT);    //删除原来列表                         
    105             TempFileHandle = FS_FCreate(FILENAMELSIT); 
   \   01CC  112600            LD      DE,?0038
   \   01CF  CDF501            CALL    LWRD ?0065
    106             if(NULL!= TempFileHandle) 
   \   01D2  2819              JR      Z,?0040
   \   01D4            ?0039:
    107             WriteVmData(listaddress,pagenum,TempFileHandle,3);      
   \   01D4  0E03              LD      C,3
   \   01D6            ?0057:
   \   01D6  C5                PUSH    BC
   \   01D7  DDE5              PUSH    IX
   \   01D9  FDE5              PUSH    IY
   \   01DB  C1                POP     BC
   \   01DC  210400            LD      HL,4
   \   01DF  39                ADD     HL,SP
   \   01E0  5E                LD      E,(HL)
   \   01E1  23                INC     HL
   \   01E2  56                LD      D,(HL)
   \   01E3  3E00              LD      A,BYTE3 WriteVmData
   \   01E5  210000            LD      HL,LWRD WriteVmData
   \   01E8  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   01EB  E1                POP     HL
   \   01EC  E1                POP     HL
   \   01ED            ?0040:
    108             break;
   \   01ED            ?0041:
    109             
    110             default:
    111             break;                      
   \   01ED            ?0024:
    112             }    
    113          }
   \   01ED  E1                POP     HL
   \   01EE  DDE1              POP     IX
   \   01F0  FDE1              POP     IY
   \   01F2  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   01F5            ?0065:
   \   01F5  CD0000            CALL    LWRD FS_FCreate
   \   01F8  E5                PUSH    HL
   \   01F9  DDE1              POP     IX
   \   01FB  7D                LD      A,L
   \   01FC  B4                OR      H
   \   01FD  C9                RET
   \   01FE            SortStoreListToFile:
    114          void SortStoreListToFile(char *liststart,int file_num)
    115          {
   \   01FE  FDE5              PUSH    IY
   \   0200  DDE5              PUSH    IX
   \   0202  DD210000          LD      IX,0
   \   0206  DD39              ADD     IX,SP
   \   0208  C5                PUSH    BC
   \   0209  F5                PUSH    AF
   \   020A  F5                PUSH    AF
   \   020B  D5                PUSH    DE
   \   020C  FDE1              POP     IY
    116            char   IO05bak = input8(0x05);  
   \   020E  DB05              IN      A,(5)
   \   0210  DD77FC            LD      (IX-4),A
    117            int  pagenum = file_num/Pagelist;  //VM 的每一页存储7个列表

⌨️ 快捷键说明

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