ui_director2.lst

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

LST
1,325
字号
    312                      file[3] = 'T';
   \   04EC  DD360354          LD      (IX+3),84
    313                      file[4] = 0;
   \   04F0  DD7704            LD      (IX+4),A
    314                  }
    315                  else
   \   04F3  1808              JR      ?0058
   \   04F5            ?0057:
    316                  {
    317                      file[0] = '\\';
   \   04F5  DD36005C          LD      (IX+0),92
    318                      file[1] = 0;
   \   04F9  DD360100          LD      (IX+1),0
   \   04FD            ?0058:
    319                  }
    320                  fselDirNo[fselDirLayer]=0;
   \   04FD  ED4B0000          LD      BC,(fselDirLayer)
   \   0501  0600              LD      B,0
   \   0503  210000            LD      HL,fselDirNo
   \   0506  09                ADD     HL,BC
   \   0507  70                LD      (HL),B
    321                  return 1;
   \   0508  185C              JR      ?0061
    322          
    323             }
   \   050A            ?0055:
    324             else
    325             {
    326                  tmp=0;
    327                  tmp = Getdirbuf(num);
   \   050A  59                LD      E,C
   \   050B  50                LD      D,B
   \   050C  3E00              LD      A,BYTE3 Getdirbuf
   \   050E  210000            LD      HL,LWRD Getdirbuf
   \   0511  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0514  E5                PUSH    HL
   \   0515  FDE1              POP     IY
    328          
    329              fselDirNo[fselDirLayer]=tmp;
   \   0517  ED4B0000          LD      BC,(fselDirLayer)
   \   051B  0600              LD      B,0
   \   051D  210000            LD      HL,fselDirNo
   \   0520  09                ADD     HL,BC
   \   0521  FDE5              PUSH    IY
   \   0523  C1                POP     BC
   \   0524  71                LD      (HL),C
    330          
    331                  if(tmp > 0)
   \   0525  FDE5              PUSH    IY
   \   0527  E1                POP     HL
   \   0528  7D                LD      A,L
   \   0529  B4                OR      H
   \   052A  283A              JR      Z,?0061
   \   052C            ?0059:
    332                  {
    333                      FS_Dir(file,  Ui_IgnoreExt, FS_DIR_DIR);
   \   052C  0E81              LD      C,129
   \   052E  C5                PUSH    BC
   \   052F  010000            LD      BC,Ui_IgnoreExt
   \   0532  DDE5              PUSH    IX
   \   0534  D1                POP     DE
   \   0535  CD0000            CALL    LWRD FS_Dir
   \   0538  E1                POP     HL
    334                      for(m = 2; m <= tmp; m++)
   \   0539  210000            LD      HL,0
   \   053C  39                ADD     HL,SP
   \   053D  3602              LD      (HL),2
   \   053F  23                INC     HL
   \   0540  3600              LD      (HL),0
   \   0542            ?0062:
   \   0542  2B                DEC     HL
   \   0543  4E                LD      C,(HL)
   \   0544  23                INC     HL
   \   0545  46                LD      B,(HL)
   \   0546  FDE5              PUSH    IY
   \   0548  E1                POP     HL
   \   0549  A7                AND     A
   \   054A  ED42              SBC     HL,BC
   \   054C  3818              JR      C,?0061
   \   054E            ?0063:
    335                        FS_Dir(file,  Ui_IgnoreExt, FS_DIR_DIR_CONT);
   \   054E  0E01              LD      C,1
   \   0550  C5                PUSH    BC
   \   0551  010000            LD      BC,Ui_IgnoreExt
   \   0554  DDE5              PUSH    IX
   \   0556  D1                POP     DE
   \   0557  CD0000            CALL    LWRD FS_Dir
   \   055A  E1                POP     HL
   \   055B  210000            LD      HL,0
   \   055E  39                ADD     HL,SP
   \   055F  34                INC     (HL)
   \   0560  23                INC     HL
   \   0561  20DF              JR      NZ,?0062
   \   0563  34                INC     (HL)
    336                  }
   \   0564  18DC              JR      ?0062
   \   0566            ?0061:
   \   0566            ?0060:
    337                  return 1;
   \   0566  2E01              LD      L,1
    338              }
   \   0568            ?0065:
   \   0568  F1                POP     AF
   \   0569  F1                POP     AF
   \   056A  DDE1              POP     IX
   \   056C  FDE1              POP     IY
   \   056E  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
    339          }
   \   0571            DecodeOnePage:
    340          
    341          /********************************************************************************
    342          * Description : decode onepage file record .
    343          *
    344          * Arguments  :
    345          *            top:first record
    346          *         bottom:last record
    347          *            type : show file kind
    348          *            string_id: language type
    349          * Returns     :
    350          *
    351          **type=  DIRECTORY_MUSIC/DIRECTORY_VOICE/...
    352          *
    353          ********************************************************************************/
    354          void DecodeOnePage(WORD top,WORD bottom,BYTE type, BYTE string_id)
    355          {
   \   0571  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0574  CEFF              DEFW    -50
   \   0576  FDE5              PUSH    IY
    356              WORD i,NameNum,temp;
    357              char Longnamebuf[50];
    358              temp=fselTotal;
   \   0578  FD2A0000          LD      IY,(fselTotal)
    359              fselTotal=GetFileTotalCur(FALSE);
   \   057C  1E00              LD      E,0
   \   057E  3E00              LD      A,BYTE3 GetFileTotalCur
   \   0580  210000            LD      HL,LWRD GetFileTotalCur
   \   0583  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0586  220000            LD      (fselTotal),HL
    360              for(i = top; i <= bottom; i++)
   \   0589  DD5E02            LD      E,(IX+2)
   \   058C  DD5603            LD      D,(IX+3)
   \   058F            ?0067:
   \   058F  DD6E04            LD      L,(IX+4)
   \   0592  DD6605            LD      H,(IX+5)
   \   0595  A7                AND     A
   \   0596  ED52              SBC     HL,DE
   \   0598  3873              JR      C,?0066
   \   059A            ?0068:
    361              {
    362                   if(i>dir_total_num)    //文件
   \   059A  2A4B00            LD      HL,(dir_total_num)
   \   059D  ED52              SBC     HL,DE
   \   059F  D5                PUSH    DE
   \   05A0  301A              JR      NC,?0071
   \   05A2            ?0070:
    363                   {
    364                      fselGetByNO(file_name, (i - dir_total_num ));
   \   05A2  ED4B4B00          LD      BC,(dir_total_num)
   \   05A6  EB                EX      DE,HL
   \   05A7  A7                AND     A
   \   05A8  ED42              SBC     HL,BC
   \   05AA  4D                LD      C,L
   \   05AB  44                LD      B,H
   \   05AC  110000            LD      DE,file_name
   \   05AF  3E00              LD      A,BYTE3 fselGetByNO
   \   05B1  210000            LD      HL,LWRD fselGetByNO
   \   05B4  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   05B7  D1                POP     DE
    365                      temp_record.filetype= TYPE_FILE;
   \   05B8  3E01              LD      A,1
   \   05BA  180F              JR      ?0086
    366                   }
    367                   else            //目录
   \   05BC            ?0071:
    368                   {
    369                      get_dir_name(file_name, i );
   \   05BC  4B                LD      C,E
   \   05BD  42                LD      B,D
   \   05BE  110000            LD      DE,file_name
   \   05C1  3E00              LD      A,BYTE3 get_dir_name
   \   05C3  21C004            LD      HL,LWRD get_dir_name
   \   05C6  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   05C9  D1                POP     DE
    370                      temp_record.filetype= TYPE_DIR;
   \   05CA  AF                XOR     A
   \   05CB            ?0086:
   \   05CB  320000            LD      (temp_record),A
   \   05CE            ?0072:
    371                   }
    372                  GetLongNameAndSave(file_name,Longnamebuf,string_id);    //保存长,短名字到 temp_record
   \   05CE  D5                PUSH    DE
   \   05CF  DD6E0C            LD      L,(IX+12)
   \   05D2  E5                PUSH    HL
   \   05D3  210600            LD      HL,6
   \   05D6  39                ADD     HL,SP
   \   05D7  4D                LD      C,L
   \   05D8  44                LD      B,H
   \   05D9  110000            LD      DE,file_name
   \   05DC  3E00              LD      A,BYTE3 GetLongNameAndSave
   \   05DE  210000            LD      HL,LWRD GetLongNameAndSave
   \   05E1  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   05E4  E1                POP     HL
   \   05E5  D1                POP     DE
    373                  SaveOtherPara();                //保存其他目录结构相关参数到 temp_record
   \   05E6  3E00              LD      A,BYTE3 SaveOtherPara
   \   05E8  216900            LD      HL,LWRD SaveOtherPara
   \   05EB  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    374          
    375                  TransOneRecord(OnePageRecord+i-top,&temp_record);    //将temp_record的记录数据保存到idm中
   \   05EE  D5                PUSH    DE
   \   05EF  DD4E02            LD      C,(IX+2)
   \   05F2  DD4603            LD      B,(IX+3)
   \   05F5  EB                EX      DE,HL
   \   05F6  CD8803            CALL    LWRD ?0094
   \   05F9  210000            LD      HL,OnePageRecord
   \   05FC  19                ADD     HL,DE
   \   05FD  EB                EX      DE,HL
   \   05FE  3E00              LD      A,BYTE3 TransOneRecord
   \   0600  218D00            LD      HL,LWRD TransOneRecord
   \   0603  010000            LD      BC,temp_record
   \   0606  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0609  D1                POP     DE
   \   060A  13                INC     DE
   \   060B  1882              JR      ?0067
   \   060D            ?0066:
    376               }
    377               fselTotal=temp;
   \   060D  FD220000          LD      (fselTotal),IY
    378          }
   \   0611  FDE1              POP     IY
   \   0613  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0000                    RSEG    CSTR
   \   0000            ?0047:
   \   0000  5C00              DEFB    92,0
   \   0000                    RSEG    DEC_COM_FSL_D
   \   0000            temp_record:
   \   004B                    DEFS    75
   \   004B            dir_total_num:
   \   004D                    DEFS    2
   \   004D            file_total_num:
   \   004F                    DEFS    2
   \   004F            list_total_num:
   \   0051                    DEFS    2
   \   0051            list_active:
   \   0053                    DEFS    2
   \   0053            cur_group:
   \   0055                    DEFS    2
   \   0000                    RSEG    IDM_COM_FSL_D
   \   0000            OnePageRecord:
   \   01C2                    DEFS    450
   \   01C2            dirbuf:
   \   023F                    DEFS    125
   \   0000                    RSEG    DEC_COM_FSL_R
   \   0000            Ui_IgnoreExt:
   \   0000  2A2020            DEFB    '*  '
   \   0003  00                DEFB    0
   \   0004                    END

Errors: none
Warnings: none
Code size: 1558
Constant size: 6
Static variable size: Data(660) Iram(0)

⌨️ 快捷键说明

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