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

📄 ui_director2.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 5 页
字号:
    325                  {
    326                      file[0] = '\\';
   \   04EF  DD36005C          LD      (IX+0),92
    327                      file[1] = 0;
   \   04F3  DD360100          LD      (IX+1),0
   \   04F7            ?0058:
    328                  }
    329                  fselDirNo[fselDirLayer]=0;
   \   04F7  ED4B0000          LD      BC,(fselDirLayer)
   \   04FB  0600              LD      B,0
   \   04FD  210000            LD      HL,fselDirNo
   \   0500  09                ADD     HL,BC
   \   0501  70                LD      (HL),B
    330                  return 1;
   \   0502  185C              JR      ?0061
    331          
    332             }
   \   0504            ?0055:
    333             else
    334             {
    335                  tmp=0;
    336                  tmp = Getdirbuf(num);
   \   0504  59                LD      E,C
   \   0505  50                LD      D,B
   \   0506  3E00              LD      A,BYTE3 Getdirbuf
   \   0508  210000            LD      HL,LWRD Getdirbuf
   \   050B  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   050E  E5                PUSH    HL
   \   050F  FDE1              POP     IY
    337          
    338              fselDirNo[fselDirLayer]=tmp;
   \   0511  ED4B0000          LD      BC,(fselDirLayer)
   \   0515  0600              LD      B,0
   \   0517  210000            LD      HL,fselDirNo
   \   051A  09                ADD     HL,BC
   \   051B  FDE5              PUSH    IY
   \   051D  C1                POP     BC
   \   051E  71                LD      (HL),C
    339          
    340                  if(tmp > 0)
   \   051F  FDE5              PUSH    IY
   \   0521  E1                POP     HL
   \   0522  7D                LD      A,L
   \   0523  B4                OR      H
   \   0524  283A              JR      Z,?0061
   \   0526            ?0059:
    341                  {
    342                      FS_Dir(file,  Ui_IgnoreExt, FS_DIR_DIR);
   \   0526  0E81              LD      C,129
   \   0528  C5                PUSH    BC
   \   0529  010000            LD      BC,Ui_IgnoreExt
   \   052C  DDE5              PUSH    IX
   \   052E  D1                POP     DE
   \   052F  CD0000            CALL    LWRD FS_Dir
   \   0532  E1                POP     HL
    343                      for(m = 2; m <= tmp; m++)
   \   0533  210000            LD      HL,0
   \   0536  39                ADD     HL,SP
   \   0537  3602              LD      (HL),2
   \   0539  23                INC     HL
   \   053A  3600              LD      (HL),0
   \   053C            ?0062:
   \   053C  2B                DEC     HL
   \   053D  4E                LD      C,(HL)
   \   053E  23                INC     HL
   \   053F  46                LD      B,(HL)
   \   0540  FDE5              PUSH    IY
   \   0542  E1                POP     HL
   \   0543  A7                AND     A
   \   0544  ED42              SBC     HL,BC
   \   0546  3818              JR      C,?0061
   \   0548            ?0063:
    344                        FS_Dir(file,  Ui_IgnoreExt, FS_DIR_DIR_CONT);
   \   0548  0E01              LD      C,1
   \   054A  C5                PUSH    BC
   \   054B  010000            LD      BC,Ui_IgnoreExt
   \   054E  DDE5              PUSH    IX
   \   0550  D1                POP     DE
   \   0551  CD0000            CALL    LWRD FS_Dir
   \   0554  E1                POP     HL
   \   0555  210000            LD      HL,0
   \   0558  39                ADD     HL,SP
   \   0559  34                INC     (HL)
   \   055A  23                INC     HL
   \   055B  20DF              JR      NZ,?0062
   \   055D  34                INC     (HL)
    345                  }
   \   055E  18DC              JR      ?0062
   \   0560            ?0061:
   \   0560            ?0060:
    346                  return 1;
   \   0560  2E01              LD      L,1
    347              }
   \   0562            ?0065:
   \   0562  F1                POP     AF
   \   0563  F1                POP     AF
   \   0564  DDE1              POP     IX
   \   0566  FDE1              POP     IY
   \   0568  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
    348          }
   \   056B            DecodeOnePage:
    349          
    350          /********************************************************************************
    351          * Description : decode onepage file record .
    352          *
    353          * Arguments  :
    354          *            top:first record
    355          *         bottom:last record
    356          *            type : show file kind
    357          *            string_id: language type
    358          * Returns     :
    359          *
    360          **type=  DIRECTORY_MUSIC/DIRECTORY_VOICE/...
    361          *
    362          ********************************************************************************/
    363          void DecodeOnePage(WORD top,WORD bottom,BYTE type, BYTE string_id)
    364          {
   \   056B  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   056E  CEFF              DEFW    -50
   \   0570  FDE5              PUSH    IY
    365              WORD i,NameNum,temp;
    366              char Longnamebuf[50];
    367              temp=fselTotal;
   \   0572  FD2A0000          LD      IY,(fselTotal)
    368              fselTotal=GetFileTotalCur(FALSE);
   \   0576  1E00              LD      E,0
   \   0578  3E00              LD      A,BYTE3 GetFileTotalCur
   \   057A  210000            LD      HL,LWRD GetFileTotalCur
   \   057D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0580  220000            LD      (fselTotal),HL
    369              for(i = top; i <= bottom; i++)
   \   0583  DD5E02            LD      E,(IX+2)
   \   0586  DD5603            LD      D,(IX+3)
   \   0589            ?0067:
   \   0589  DD6E04            LD      L,(IX+4)
   \   058C  DD6605            LD      H,(IX+5)
   \   058F  A7                AND     A
   \   0590  ED52              SBC     HL,DE
   \   0592  3873              JR      C,?0066
   \   0594            ?0068:
    370              {
    371                   if(i>dir_total_num)    //文件
   \   0594  2A4B00            LD      HL,(dir_total_num)
   \   0597  ED52              SBC     HL,DE
   \   0599  D5                PUSH    DE
   \   059A  301A              JR      NC,?0071
   \   059C            ?0070:
    372                   {
    373                      fselGetByNO(file_name, (i - dir_total_num ));
   \   059C  ED4B4B00          LD      BC,(dir_total_num)
   \   05A0  EB                EX      DE,HL
   \   05A1  A7                AND     A
   \   05A2  ED42              SBC     HL,BC
   \   05A4  4D                LD      C,L
   \   05A5  44                LD      B,H
   \   05A6  110000            LD      DE,file_name
   \   05A9  3E00              LD      A,BYTE3 fselGetByNO
   \   05AB  210000            LD      HL,LWRD fselGetByNO
   \   05AE  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   05B1  D1                POP     DE
    374                      temp_record.filetype= TYPE_FILE;
   \   05B2  3E01              LD      A,1
   \   05B4  180F              JR      ?0085
    375                   }
    376                   else            //目录
   \   05B6            ?0071:
    377                   {
    378                      get_dir_name(file_name, i );
   \   05B6  4B                LD      C,E
   \   05B7  42                LD      B,D
   \   05B8  110000            LD      DE,file_name
   \   05BB  3E00              LD      A,BYTE3 get_dir_name
   \   05BD  21BA04            LD      HL,LWRD get_dir_name
   \   05C0  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   05C3  D1                POP     DE
    379                      temp_record.filetype= TYPE_DIR;
   \   05C4  AF                XOR     A
   \   05C5            ?0085:
   \   05C5  320000            LD      (temp_record),A
   \   05C8            ?0072:
    380                   }
    381                  GetLongNameAndSave(file_name,Longnamebuf,string_id);    //保存长,短名字到 temp_record
   \   05C8  D5                PUSH    DE
   \   05C9  DD6E0C            LD      L,(IX+12)
   \   05CC  E5                PUSH    HL
   \   05CD  210600            LD      HL,6
   \   05D0  39                ADD     HL,SP
   \   05D1  4D                LD      C,L
   \   05D2  44                LD      B,H
   \   05D3  110000            LD      DE,file_name
   \   05D6  3E00              LD      A,BYTE3 GetLongNameAndSave
   \   05D8  210000            LD      HL,LWRD GetLongNameAndSave
   \   05DB  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   05DE  E1                POP     HL
   \   05DF  D1                POP     DE
    382                  SaveOtherPara();                //保存其他目录结构相关参数到 temp_record
   \   05E0  3E00              LD      A,BYTE3 SaveOtherPara
   \   05E2  216900            LD      HL,LWRD SaveOtherPara
   \   05E5  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    383          
    384                  TransOneRecord(OnePageRecord+i-top,&temp_record);    //将temp_record的记录数据保存到idm中
   \   05E8  D5                PUSH    DE
   \   05E9  DD4E02            LD      C,(IX+2)
   \   05EC  DD4603            LD      B,(IX+3)
   \   05EF  EB                EX      DE,HL
   \   05F0  CD8203            CALL    LWRD ?0093
   \   05F3  210000            LD      HL,OnePageRecord
   \   05F6  19                ADD     HL,DE
   \   05F7  EB                EX      DE,HL
   \   05F8  3E00              LD      A,BYTE3 TransOneRecord
   \   05FA  218D00            LD      HL,LWRD TransOneRecord
   \   05FD  010000            LD      BC,temp_record
   \   0600  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0603  D1                POP     DE
   \   0604  13                INC     DE
   \   0605  1882              JR      ?0067
   \   0607            ?0066:
    385               }
    386               fselTotal=temp;
   \   0607  FD220000          LD      (fselTotal),IY
    387          }
   \   060B  FDE1              POP     IY
   \   060D  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0000                    RSEG    CSTR
   \   0000            ?0047:
   \   0000  5C00              DEFB    92,0
   \   0000                    RSEG    CONST
   \   0000            file_pos:
   \   0000  77                DEFB    'w'
   \   0001  62                DEFB    'b'
   \   0002  4D                DEFB    'M'
   \   0003  38                DEFB    '8'
   \   0004  23                DEFB    '#'
   \   0005  0E                DEFB    14
   \   0006            file_bck_pic:
   \   0006  6A00              DEFW    106
   \   0008  6900              DEFW    105
   \   000A  6800              DEFW    104
   \   000C  6700              DEFW    103
   \   000E  6600              DEFW    102
   \   0010  6500              DEFW    101
   \   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: 1552
Constant size: 24
Static variable size: Data(660) Iram(0)

⌨️ 快捷键说明

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