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

📄 ui_director2.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  16:58:54 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\common\ui_director2.c             #
#       List file     =  d:\case_i_d90f\ap\ap_amv\list\ui_director2.lst      #
#       Object file   =  d:\case_i_d90f\ap\ap_amv\obj\ui_director2.r01       #
#       ASM file      =  d:\case_i_d90f\ap\ap_amv\list\ui_director2.s01      #
#       Command line  =  -v0 -mb -OD:\case_i_d90f\ap\ap_amv\Obj\ -e -K -w    #
#                        -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT         #
#                        -LD:\case_i_d90f\ap\ap_amv\List\ -q -t8             #
#                        -AD:\case_i_d90f\ap\ap_amv\List\                    #
#                        -ND:\case_i_d90f\ap\ap_amv\List\ -X                 #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        D:\CASE_I_D90F\AP\COMMON\ui_director2.c             #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_director2(17)
   \   0000                    RSEG    DEC_COM_FSL_C(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    RSEG    CONST(0)
   \   0000                    RSEG    DEC_COM_FSL_D(0)
   \   0000                    RSEG    IDM_COM_FSL_D(0)
   \   0000                    RSEG    DEC_COM_FSL_R(0)
   \   0000                    PUBLIC  DecodeOnePage
   \   0000                    EXTERN  FS_Backup
   \   0000                    EXTERN  FS_CD
   \   0000                    EXTERN  FS_Dir
   \   0000                    EXTERN  FS_GetName
   \   0000                    EXTERN  FS_Restore
   \   0000                    EXTERN  GetDCStatus
   \   0000                    EXTERN  GetFileTotal
   \   0000                    EXTERN  GetFileTotalCur
   \   0000                    PUBLIC  GetLongNameAndSave
   \   0000                    EXTERN  Getdirbuf
   \   0000                    EXTERN  Initdirbuf
   \   0000                    PUBLIC  OnePageRecord
   \   0000                    EXTERN  PutS
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  ResShowPic
   \   0000                    PUBLIC  SaveOtherPara
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  SetTextOutMode
   \   0000                    EXTERN  SetTextPos
   \   0000                    EXTERN  Setdirbuf
   \   0000                    PUBLIC  ShowDirectory
   \   0000                    EXTERN  ToDirEntry
   \   0000                    PUBLIC  TransOneRecord
   \   0000                    PUBLIC  Ui_IgnoreExt
   \   0000                    EXTERN  count_dir_num
   \   0000                    PUBLIC  cur_group
   \   0000                    PUBLIC  dir_total_num
   \   0000                    PUBLIC  dirbuf
   \   0000                    PUBLIC  file_bck_pic
   \   0000                    EXTERN  file_name
   \   0000                    PUBLIC  file_pos
   \   0000                    PUBLIC  file_total_num
   \   0000                    EXTERN  fselDirLayer
   \   0000                    EXTERN  fselDirNo
   \   0000                    EXTERN  fselExtNo
   \   0000                    EXTERN  fselFileNo
   \   0000                    EXTERN  fselGetByNO
   \   0000                    EXTERN  fselTotal
   \   0000                    PUBLIC  get_dir_name
   \   0000                    PUBLIC  init_dir_buf
   \   0000                    PUBLIC  list_active
   \   0000                    PUBLIC  list_total_num
   \   0000                    PUBLIC  temp_record
   \   0000                    EXTERN  unitochar
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?UC_MOD_L01
   \   0000                    EXTERN  ?S_MUL_L02
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    DEC_COM_FSL_C
   \   0000            GetLongNameAndSave:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        ap common lib, directory control file
      5          *
      6          *        (c) Copyright, Actions Co,Ld.
      7          *             All Right Reserved
      8          *
      9          * File: ui_director2.c
     10          * By  : jmzhang
     11          * Version: v1.00     first version     2005-9-22 19:35
     12          *******************************************************************************
     13          */
     14          #pragma codeseg(DEC_COM_FSL_C)
     15          
     16          #include "ap_common.h"
     17          #include "enhanced.h"
     18          #include "actos.h"
     19          #include "filesys.h"
     20          #include "directory.h"
     21          
     22          
     23           
     24          const char file_pos[6] = { POSITION_MENU6, POSITION_MENU5,POSITION_MENU4,POSITION_MENU3,POSITION_MENU2,POSITION_MENU1};    //zxs add
     25          const WORD file_bck_pic[6]={ MENUBCK6,MENUBCK5,MENUBCK4,MENUBCK3,MENUBCK2,MENUBCK1 };
     26          void GetLongNameAndSave(char *Namebuf,char *LongNamebuf,BYTE string_id);
     27          void SaveOtherPara(void);
     28          void TransOneRecord(file_record *target,file_record *source_record);
     29          void ShowDirectory(BYTE top,BYTE bottom,BYTE Old_active,BYTE active,BYTE string_id,BYTE Disk);
     30          
     31          extern WORD count_dir_num(void);
     32          extern void Initdirbuf(void);
     33          extern void Setdirbuf(WORD n);
     34          extern WORD Getdirbuf(WORD n);
     35          
     36          #pragma memory=dataseg(DEC_COM_FSL_D)   
     37          file_record temp_record;
     38          WORD dir_total_num,file_total_num,list_total_num,list_active,cur_group;    //目录总数,文件总数和浏览项数,浏览活动项
     39          
     40          #pragma memory=dataseg(IDM_COM_FSL_D)
     41          file_record OnePageRecord[row_count_def];
     42          char dirbuf[125];
     43          
     44          #pragma memory=constseg(DEC_COM_FSL_R)
     45          const char Ui_IgnoreExt[4] = {"*  "};
     46          
     47          
     48          
     49          #pragma memory=default
     50          
     51          /********************************************************************************
     52          * Description :GetLongNameAndSave和SaveOtherPara用于保存
     53          *        读取记录的参数到全局的temp_record中
     54          *
     55          ** Arguments  :
     56          *
     57          * Returns     :
     58          *
     59          * Notes       :
     60          *
     61          ********************************************************************************/
     62          void GetLongNameAndSave(char *Namebuf,char *LongNamebuf,BYTE string_id)
     63          {
   \   0000  FDE5              PUSH    IY
   \   0002  DDE5              PUSH    IX
   \   0004  F5                PUSH    AF
   \   0005  C5                PUSH    BC
   \   0006  DDE1              POP     IX
   \   0008  D5                PUSH    DE
   \   0009  FDE1              POP     IY
     64                  BYTE NameNum;
     65                  memcpy(LongNamebuf,Namebuf,11);
   \   000B  010B00            LD      BC,11
   \   000E  DDE5              PUSH    IX
   \   0010  D1                POP     DE
   \   0011  FDE5              PUSH    IY
   \   0013  E1                POP     HL
   \   0014  EDB0              LDIR
     66                  memcpy(temp_record.name,Namebuf,12);
   \   0016  0E0C              LD      C,12
   \   0018  110D00            LD      DE,temp_record+13
   \   001B  FDE5              PUSH    IY
   \   001D  E1                POP     HL
   \   001E  EDB0              LDIR
     67                  NameNum=FS_GetName(LongNamebuf,24);
   \   0020  0E18              LD      C,24
   \   0022  DDE5              PUSH    IX
   \   0024  D1                POP     DE
   \   0025  CD0000            CALL    LWRD FS_GetName
   \   0028  210000            LD      HL,0
   \   002B  39                ADD     HL,SP
   \   002C  77                LD      (HL),A
     68                  if(NameNum!=0)
   \   002D  AF                XOR     A
   \   002E  B6                OR      (HL)
   \   002F  2825              JR      Z,?0003
   \   0031            ?0002:
     69                  {
     70                      unitochar(LongNamebuf,NameNum*2+2,string_id);
   \   0031  210A00            LD      HL,10
   \   0034  39                ADD     HL,SP
   \   0035  4E                LD      C,(HL)
   \   0036  C5                PUSH    BC
   \   0037  6F                LD      L,A
   \   0038  2600              LD      H,0
   \   003A  29                ADD     HL,HL
   \   003B  4D                LD      C,L
   \   003C  44                LD      B,H
   \   003D  03                INC     BC
   \   003E  03                INC     BC
   \   003F  DDE5              PUSH    IX
   \   0041  D1                POP     DE
   \   0042  3E00              LD      A,BYTE3 unitochar
   \   0044  210000            LD      HL,LWRD unitochar
   \   0047  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   004A  F1                POP     AF
     71                      memcpy(temp_record.longname,LongNamebuf,50);    //get one usful record
   \   004B  013200            LD      BC,50
   \   004E  111900            LD      DE,temp_record+25
   \   0051  DDE5              PUSH    IX
   \   0053  E1                POP     HL
   \   0054  1809              JR      ?0074
     72                  }
     73                  else
   \   0056            ?0003:
     74                      memcpy(temp_record.longname,Namebuf,12);    //get one usful record
   \   0056  010C00            LD      BC,12
   \   0059  111900            LD      DE,temp_record+25
   \   005C  FDE5              PUSH    IY
   \   005E  E1                POP     HL
   \   005F            ?0074:
   \   005F  EDB0              LDIR
   \   0061            ?0004:
     75          }
   \   0061            ?0087:
   \   0061  E1                POP     HL
   \   0062  DDE1              POP     IX
   \   0064  FDE1              POP     IY
   \   0066  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0069            SaveOtherPara:
     76          
     77          /********************************************************************************
     78          * Description :保存目录结构有关参数到全局结构temp_record中
     79          *
     80          ** Arguments  :
     81          *
     82          * Returns     :
     83          *
     84          * Notes       :
     85          *
     86          ********************************************************************************/
     87          void SaveOtherPara(void)
     88          {
   \   0069  C5                PUSH    BC
   \   006A  D5                PUSH    DE
     89              memcpy(temp_record.dirno,fselDirNo,8);    //目录序号
   \   006B  010800            LD      BC,8
   \   006E  110100            LD      DE,temp_record+1
   \   0071  210000            LD      HL,fselDirNo
   \   0074  EDB0              LDIR
     90              temp_record.fileno=fselFileNo;        //文件序号
   \   0076  2A0000            LD      HL,(fselFileNo)
   \   0079  220900            LD      (temp_record+9),HL
     91              temp_record.fselExtNo=fselExtNo;    //当前后缀名
   \   007C  3A0000            LD      A,(fselExtNo)
   \   007F  320C00            LD      (temp_record+12),A
     92              temp_record.dirlayer=fselDirLayer;        //目录层次 0--根目录
   \   0082  3A0000            LD      A,(fselDirLayer)
   \   0085  320B00            LD      (temp_record+11),A
     93          }
   \   0088  D1                POP     DE
   \   0089  C1                POP     BC
   \   008A  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   008D            TransOneRecord:
     94          
     95          /********************************************************************************
     96          * Description :用于从idm读记录或写入记录到idm
     97          *
     98          ** Arguments  :
     99          *
    100          * Returns     :
    101          *
    102          * Notes       :
    103          *
    104          ********************************************************************************/
    105          void TransOneRecord(file_record *target,file_record *source_record)
    106          {
   \   008D  FDE5              PUSH    IY
   \   008F  DDE5              PUSH    IX
   \   0091  F5                PUSH    AF
   \   0092  C5                PUSH    BC
   \   0093  DDE1              POP     IX

⌨️ 快捷键说明

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