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

📄 ui_director_rec2.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   00B3  EDB0              LDIR
    114              temp_record.fileno=fselFileNo;        //文件序号
   \   00B5  2A0000            LD      HL,(fselFileNo)
   \   00B8  220900            LD      (temp_record+9),HL
    115              temp_record.fselExtNo=fselExtNo;    //当前后缀名
   \   00BB  3A0000            LD      A,(fselExtNo)
   \   00BE  320C00            LD      (temp_record+12),A
    116              temp_record.dirlayer=fselDirLayer;        //目录层次 0--根目录
   \   00C1  3A0000            LD      A,(fselDirLayer)
   \   00C4  320B00            LD      (temp_record+11),A
    117          }
   \   00C7  D1                POP     DE
   \   00C8  C1                POP     BC
   \   00C9  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   00CC            TransOneRecord:
    118          
    119          /********************************************************************************
    120          * Description :用于从idm读记录或写入记录到idm
    121          *
    122          ** Arguments  :
    123          *
    124          * Returns     :
    125          *
    126          * Notes       :
    127          *
    128          ********************************************************************************/
    129          void TransOneRecord(file_record *target,file_record *source_record)
    130          {
   \   00CC  FDE5              PUSH    IY
   \   00CE  DDE5              PUSH    IX
   \   00D0  F5                PUSH    AF
   \   00D1  C5                PUSH    BC
   \   00D2  DDE1              POP     IX
   \   00D4  D5                PUSH    DE
   \   00D5  FDE1              POP     IY
    131              byte status;
    132              status = input8(0x05);
   \   00D7  DB05              IN      A,(5)
   \   00D9  210000            LD      HL,0
   \   00DC  39                ADD     HL,SP
   \   00DD  77                LD      (HL),A
    133              output8(0x05, 0xf6);
   \   00DE  3EF6              LD      A,246
   \   00E0  D305              OUT     (5),A
    134          
    135              target->filetype=source_record->filetype;           //文件类型 0-- 目录  1  文件
   \   00E2  0A                LD      A,(BC)
   \   00E3  EB                EX      DE,HL
   \   00E4  77                LD      (HL),A
    136              memcpy(target->dirno,source_record->dirno,8);    //目录序号
   \   00E5  010800            LD      BC,8
   \   00E8  FDE5              PUSH    IY
   \   00EA  D1                POP     DE
   \   00EB  13                INC     DE
   \   00EC  DDE5              PUSH    IX
   \   00EE  E1                POP     HL
   \   00EF  23                INC     HL
   \   00F0  EDB0              LDIR
    137              target->fileno=source_record->fileno;        //文件序号
   \   00F2  DD6E09            LD      L,(IX+9)
   \   00F5  FD7509            LD      (IY+9),L
   \   00F8  DD660A            LD      H,(IX+10)
   \   00FB  FD740A            LD      (IY+10),H
    138              target->fselExtNo=source_record->fselExtNo;    //当前后缀名
   \   00FE  DD460C            LD      B,(IX+12)
   \   0101  FD700C            LD      (IY+12),B
    139              target->dirlayer=source_record->dirlayer;        //目录层次 0--根目录
   \   0104  DD460B            LD      B,(IX+11)
   \   0107  FD700B            LD      (IY+11),B
    140              memcpy(target->name,source_record->name,12);
   \   010A  210D00            LD      HL,13
   \   010D  FDE5              PUSH    IY
   \   010F  D1                POP     DE
   \   0110  19                ADD     HL,DE
   \   0111  EB                EX      DE,HL
   \   0112  210D00            LD      HL,13
   \   0115  DDE5              PUSH    IX
   \   0117  C1                POP     BC
   \   0118  09                ADD     HL,BC
   \   0119  010C00            LD      BC,12
   \   011C  EDB0              LDIR
    141              memcpy(target->longname,source_record->longname,50);
   \   011E  211900            LD      HL,25
   \   0121  FDE5              PUSH    IY
   \   0123  D1                POP     DE
   \   0124  19                ADD     HL,DE
   \   0125  EB                EX      DE,HL
   \   0126  211900            LD      HL,25
   \   0129  DDE5              PUSH    IX
   \   012B  C1                POP     BC
   \   012C  09                ADD     HL,BC
   \   012D  013200            LD      BC,50
   \   0130  EDB0              LDIR
    142          
    143              output8(0x05, status);
   \   0132  69                LD      L,C
   \   0133  60                LD      H,B
   \   0134  39                ADD     HL,SP
   \   0135  7E                LD      A,(HL)
   \   0136  D305              OUT     (5),A
    144          }
   \   0138  C3A000            JP      LWRD ?0066
   \   013B            ShowDirectory:
    145          
    146          
    147          /********************************************************************************
    148          * Description : show the directory.
    149          *
    150          * Arguments  :
    151          *            location: get thedisk type
    152          *            Invpath: the "\" or name
    153          *            Namebuf:the string you will display
    154          *            type : show file kind
    155          *            string_id: language type
    156          * Returns     :
    157          *            other:    Successful
    158          *            0:    Fail, detail information in fselError
    159          * Notes       :  only display the valid directory or file
    160          *
    161          ********************************************************************************/
    162          void   ShowDirectory(BYTE top,BYTE bottom,BYTE Old_active,BYTE active,BYTE string_id,BYTE Disk)
    163          {
   \   013B  DDE5              PUSH    IX
   \   013D  DD210000          LD      IX,0
   \   0141  DD39              ADD     IX,SP
   \   0143  C5                PUSH    BC
   \   0144  D5                PUSH    DE
   \   0145  F5                PUSH    AF
    164              BYTE i,tmp;
    165              
    166              ///-SetTextOutMode(1);
    167              ///-SetPenColor(Color_BLACK_def);
    168              if(Old_active!=active)
   \   0146  DD7E06            LD      A,(IX+6)
   \   0149  DDBE08            CP      (IX+8)
   \   014C  CA1C02            JP      Z,?0011
   \   014F            ?0010:
    169              {
    170          
    171                                                                  //清除旧的活动菜单项
    172                        tmp = Old_active%row_count_def;
   \   014F  0606              LD      B,6
   \   0151  CD0000            CALL    LWRD ?UC_MOD_L01
    173                        ResShowPic(FILEBCK1, 12, menu_pos[tmp]-1);            //分段刷新背景
   \   0154  4F                LD      C,A
   \   0155  0600              LD      B,0
   \   0157  210000            LD      HL,menu_pos
   \   015A  09                ADD     HL,BC
   \   015B  7E                LD      A,(HL)
   \   015C  C6FF              ADD     A,255
   \   015E  4F                LD      C,A
   \   015F  C5                PUSH    BC
   \   0160  0E0C              LD      C,12
   \   0162  112D00            LD      DE,45
   \   0165  CD6003            CALL    LWRD ?0068
   \   0168  F1                POP     AF
    174                        
    175                                                                  //显示新的活动菜单
    176                        tmp = active%row_count_def;
   \   0169  0606              LD      B,6
   \   016B  DD7E08            LD      A,(IX+8)
   \   016E  CD3603            CALL    LWRD ?0067
    177                                                                          TransOneRecord(&temp_record,&OnePageRecord[tmp]);    //将idm中记录数据读取到temp_record中
    178                        if(temp_record.filetype==TYPE_FILE)
   \   0171  2013              JR      NZ,?0013
   \   0173            ?0012:
    179                                                                          ResShowPic(MFILE,0,menu_pos[tmp]+2);
   \   0173  DD4EFA            LD      C,(IX-6)
   \   0176  47                LD      B,A
   \   0177  210000            LD      HL,menu_pos
   \   017A  09                ADD     HL,BC
   \   017B  7E                LD      A,(HL)
   \   017C  C602              ADD     A,2
   \   017E  4F                LD      C,A
   \   017F  C5                PUSH    BC
   \   0180  48                LD      C,B
   \   0181  11C600            LD      DE,198
   \   0184  1814              JR      ?0058
   \   0186            ?0013:
    180                                                                  else if(temp_record.filetype==TYPE_DIR)
   \   0186  3A0000            LD      A,(temp_record)
   \   0189  B7                OR      A
   \   018A  2012              JR      NZ,?0016
   \   018C            ?0015:
    181                                                                  {
    182                                                                          ResShowPic(MDIR,0,menu_pos[tmp]);
   \   018C  DD4EFA            LD      C,(IX-6)
   \   018F  47                LD      B,A
   \   0190  210000            LD      HL,menu_pos
   \   0193  09                ADD     HL,BC
   \   0194  4E                LD      C,(HL)
   \   0195  C5                PUSH    BC
   \   0196  48                LD      C,B
   \   0197  11AF00            LD      DE,175
   \   019A            ?0058:
   \   019A  CD6003            CALL    LWRD ?0068
   \   019D  F1                POP     AF
   \   019E            ?0016:
   \   019E            ?0014:
    183                                                                  }
    184          
    185                             ResShowPic(FILEBCK,  12, menu_pos[tmp]-1);
   \   019E  DD4EFA            LD      C,(IX-6)
   \   01A1  0600              LD      B,0
   \   01A3  210000            LD      HL,menu_pos
   \   01A6  09                ADD     HL,BC
   \   01A7  7E                LD      A,(HL)
   \   01A8  C6FF              ADD     A,255
   \   01AA  4F                LD      C,A
   \   01AB  C5                PUSH    BC
   \   01AC  CD5B03            CALL    LWRD ?0069
   \   01AF  F1                POP     AF
    186          
    187                             SetTextPos(12, menu_pos[tmp]);
   \   01B0  DD4EFA            LD      C,(IX-6)
   \   01B3  0600              LD      B,0
   \   01B5  210000            LD      HL,menu_pos
   \   01B8  09                ADD     HL,BC
   \   01B9  4E                LD      C,(HL)
   \   01BA  1E0C              LD      E,12
   \   01BC  CD0000            CALL    LWRD SetTextPos
    188                             SetPenColor(Color_WHITE_def);
   \   01BF  CD6803            CALL    LWRD ?0070
    189                                                                                   SetBackgdColor(0x00003358);
   \   01C2  CD0000            CALL    LWRD SetBackgdColor
    190                             PutS(temp_record.longname,-1);
   \   01C5  CD7F03            CALL    LWRD ?0071
    191          
    192                                                                          //重新显示旧的活动菜单
    193                          tmp = Old_active%row_count_def;
   \   01C8  0606              LD      B,6
   \   01CA  DD7E06            LD      A,(IX+6)
   \   01CD  CD3603            CALL    LWRD ?0067
    194                          TransOneRecord(&temp_record,&OnePageRecord[tmp]);    //将idm中记录数据读取到temp_record中
    195                          if(temp_record.filetype==TYPE_FILE)
   \   01D0  2013              JR      NZ,?0018
   \   01D2            ?0017:
    196                             ResShowPic(MFILE,0,menu_pos[tmp]+2);
   \   01D2  DD4EFA            LD      C,(IX-6)
   \   01D5  47                LD      B,A
   \   01D6  210000            LD      HL,menu_pos
   \   01D9  09                ADD     HL,BC
   \   01DA  7E                LD      A,(HL)
   \   01DB  C602              ADD     A,2
   \   01DD  4F                LD      C,A
   \   01DE  C5                PUSH    BC
   \   01DF  48                LD      C,B
   \   01E0  11C600            LD      DE,198
   \   01E3  1814              JR      ?0059
   \   01E5            ?0018:
    197                          else if(temp_record.filetype==TYPE_DIR)
   \   01E5  3A0000            LD      A,(temp_record)
   \   01E8  B7                OR      A
   \   01E9  2012              JR      NZ,?0021
   \   01EB            ?0020:
    198                          {
    199                             ResShowPic(MDIR,0,menu_pos[tmp]);
   \   01EB  DD4EFA            LD      C,(IX-6)
   \   01EE  47                LD      B,A
   \   01EF  210000            LD      HL,menu_pos
   \   01F2  09                ADD     HL,BC
   \   01F3  4E                LD      C,(HL)
   \   01F4  C5                PUSH    BC
   \   01F5  48                LD      C,B
   \   01F6  11AF00            LD      DE,175
   \   01F9            ?0059:
   \   01F9  CD6003            CALL    LWRD ?0068
   \   01FC  F1                POP     AF
   \   01FD            ?0021:
   \   01FD            ?0019:
    200                          }
    201                          SetPenColor(Color_BLACK_def);
   \   01FD  010000            LD      BC,0
   \   0200  59                LD      E,C
   \   0201  50                LD      D,B
   \   0202  CD0000            CALL    LWRD SetPenColor
    202                                                  SetBackgdColor(Color_MENU_def);
   \   0205  010000            LD      BC,0
   \   0208  11FFFF            LD      DE,65535
   \   020B  CD0000            CALL    LWRD SetBackgdColor
    203                          SetTextPos(12, menu_pos[tmp]);
   \   020E  DD4EFA            LD      C,(IX-6)
   \   0211  0600              LD      B,0
   \   0213  210000            LD      HL,menu_pos
    204                          PutS(temp_record.longname,-1);
   \   0216  CD7803            CALL    LWRD ?0072
    205                  }
    206                  else    //if(Old_active==active)        //新旧活动项相同表示是新的一屏数据,需要全部刷新
   \   0219  C32703            JP      LWRD ?0026
   \   021C            ?0011:
    207                  {

⌨️ 快捷键说明

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