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

📄 ui_director2.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   009E  77                LD      (HL),A
    105              output8(0x05, 0xf6);
   \   009F  3EF6              LD      A,246
   \   00A1  D305              OUT     (5),A
    106          
    107              target->filetype=source_record->filetype;           //文件类型 0-- 目录  1  文件
   \   00A3  0A                LD      A,(BC)
   \   00A4  EB                EX      DE,HL
   \   00A5  77                LD      (HL),A
    108              memcpy(target->dirno,source_record->dirno,8);    //目录序号
   \   00A6  010800            LD      BC,8
   \   00A9  FDE5              PUSH    IY
   \   00AB  D1                POP     DE
   \   00AC  13                INC     DE
   \   00AD  DDE5              PUSH    IX
   \   00AF  E1                POP     HL
   \   00B0  23                INC     HL
   \   00B1  EDB0              LDIR
    109              target->fileno=source_record->fileno;        //文件序号
   \   00B3  DD6E09            LD      L,(IX+9)
   \   00B6  FD7509            LD      (IY+9),L
   \   00B9  DD660A            LD      H,(IX+10)
   \   00BC  FD740A            LD      (IY+10),H
    110              target->fselExtNo=source_record->fselExtNo;    //当前后缀名
   \   00BF  DD460C            LD      B,(IX+12)
   \   00C2  FD700C            LD      (IY+12),B
    111              target->dirlayer=source_record->dirlayer;        //目录层次 0--根目录
   \   00C5  DD460B            LD      B,(IX+11)
   \   00C8  FD700B            LD      (IY+11),B
    112              memcpy(target->name,source_record->name,12);
   \   00CB  210D00            LD      HL,13
   \   00CE  FDE5              PUSH    IY
   \   00D0  D1                POP     DE
   \   00D1  19                ADD     HL,DE
   \   00D2  EB                EX      DE,HL
   \   00D3  210D00            LD      HL,13
   \   00D6  DDE5              PUSH    IX
   \   00D8  C1                POP     BC
   \   00D9  09                ADD     HL,BC
   \   00DA  010C00            LD      BC,12
   \   00DD  EDB0              LDIR
    113              memcpy(target->longname,source_record->longname,50);
   \   00DF  211900            LD      HL,25
   \   00E2  FDE5              PUSH    IY
   \   00E4  D1                POP     DE
   \   00E5  19                ADD     HL,DE
   \   00E6  EB                EX      DE,HL
   \   00E7  211900            LD      HL,25
   \   00EA  DDE5              PUSH    IX
   \   00EC  C1                POP     BC
   \   00ED  09                ADD     HL,BC
   \   00EE  013200            LD      BC,50
   \   00F1  EDB0              LDIR
    114          
    115              output8(0x05, status);
   \   00F3  69                LD      L,C
   \   00F4  60                LD      H,B
   \   00F5  39                ADD     HL,SP
   \   00F6  7E                LD      A,(HL)
   \   00F7  D305              OUT     (5),A
    116          }
   \   00F9  C36100            JP      LWRD ?0087
   \   00FC            ShowDirectory:
    117          
    118          
    119          /********************************************************************************
    120          * Description : show the directory.
    121          *
    122          * Arguments  :
    123          *            location: get thedisk type
    124          *            Invpath: the "\" or name
    125          *            Namebuf:the string you will display
    126          *            type : show file kind
    127          *            string_id: language type
    128          * Returns     :
    129          *            other:    Successful
    130          *            0:    Fail, detail information in fselError
    131          * Notes       :  only display the valid directory or file
    132          *
    133          ********************************************************************************/
    134          
    135           void ShowDirectory(WORD top,WORD bottom,WORD Old_active,WORD active,BYTE string_id,BYTE Disk)
    136          {
   \   00FC  FDE5              PUSH    IY
   \   00FE  DDE5              PUSH    IX
   \   0100  DD210000          LD      IX,0
   \   0104  DD39              ADD     IX,SP
   \   0106  C5                PUSH    BC
   \   0107  D5                PUSH    DE
   \   0108  21F6FF            LD      HL,65526
   \   010B  39                ADD     HL,SP
   \   010C  F9                LD      SP,HL
    137              WORD i,tmp;
    138             // region_t region;
    139              DC  oldDC_sav;
    140              GetDCStatus(&oldDC_sav);
   \   010D  23                INC     HL
   \   010E  23                INC     HL
   \   010F  EB                EX      DE,HL
   \   0110  CD0000            CALL    LWRD GetDCStatus
    141          
    142              ///-SetTextOutMode(1);
    143              ///-SetPenColor(Color_BLACK_def);
    144              if(Old_active!=active)
   \   0113  DD6E0A            LD      L,(IX+10)
   \   0116  DD660B            LD      H,(IX+11)
   \   0119  DD5E08            LD      E,(IX+8)
   \   011C  DD5609            LD      D,(IX+9)
   \   011F  A7                AND     A
   \   0120  ED52              SBC     HL,DE
   \   0122  CAFC01            JP      Z,?0006
   \   0125            ?0005:
    145              {
    146                  //清除旧的活动菜单项
    147                  tmp = Old_active%row_count_def;
   \   0125  010600            LD      BC,6
   \   0128  CD0000            CALL    LWRD ?US_MOD_L02
    148                  ResShowPic(FILEBCK1, 12, menu_pos_list[tmp]-1);
   \   012B  210000            LD      HL,menu_pos_list
   \   012E  19                ADD     HL,DE
   \   012F  7E                LD      A,(HL)
   \   0130  C6FF              ADD     A,255
   \   0132  4F                LD      C,A
   \   0133  C5                PUSH    BC
   \   0134  0E0C              LD      C,12
   \   0136  112D00            LD      DE,45
   \   0139  CD6B03            CALL    LWRD ?0089
   \   013C  F1                POP     AF
    149          
    150                  //显示新的活动菜单
    151                  tmp = active%row_count_def;
   \   013D  010600            LD      BC,6
   \   0140  DD5E0A            LD      E,(IX+10)
   \   0143  DD560B            LD      D,(IX+11)
   \   0146  CD4203            CALL    LWRD ?0088
    152                  TransOneRecord(&temp_record,&OnePageRecord[tmp]);    //将idm中记录数据读取到temp_record中
    153                  if(temp_record.filetype==TYPE_FILE)
   \   0149  2016              JR      NZ,?0008
   \   014B            ?0007:
    154                      ResShowPic(MFILE,0,menu_pos_list[tmp]+2);
   \   014B  210000            LD      HL,menu_pos_list
   \   014E  DD4EF2            LD      C,(IX-14)
   \   0151  DD46F3            LD      B,(IX-13)
   \   0154  09                ADD     HL,BC
   \   0155  7E                LD      A,(HL)
   \   0156  C602              ADD     A,2
   \   0158  4F                LD      C,A
   \   0159  C5                PUSH    BC
   \   015A  0E00              LD      C,0
   \   015C  11C600            LD      DE,198
   \   015F  1816              JR      ?0075
   \   0161            ?0008:
    155          //        if(temp_record.filetype==TYPE_FILE)
    156          //        ResShowPic(MFILE, 0, (LCD_HEIGHT-16*(tmp+1)));
    157                  else if(temp_record.filetype==TYPE_DIR)
   \   0161  3A0000            LD      A,(temp_record)
   \   0164  B7                OR      A
   \   0165  2014              JR      NZ,?0011
   \   0167            ?0010:
    158                  {
    159                      ResShowPic(MDIR,0,menu_pos_list[tmp]);
   \   0167  210000            LD      HL,menu_pos_list
   \   016A  DD4EF2            LD      C,(IX-14)
   \   016D  DD46F3            LD      B,(IX-13)
   \   0170  09                ADD     HL,BC
   \   0171  4E                LD      C,(HL)
   \   0172  C5                PUSH    BC
   \   0173  4F                LD      C,A
   \   0174  11AF00            LD      DE,175
   \   0177            ?0075:
   \   0177  CD6B03            CALL    LWRD ?0089
   \   017A  F1                POP     AF
   \   017B            ?0011:
   \   017B            ?0009:
    160                  }
    161          
    162                  ResShowPic(FILEBCK,  12, menu_pos_list[tmp]-1);
   \   017B  210000            LD      HL,menu_pos_list
   \   017E  DD4EF2            LD      C,(IX-14)
   \   0181  DD46F3            LD      B,(IX-13)
   \   0184  09                ADD     HL,BC
   \   0185  7E                LD      A,(HL)
   \   0186  C6FF              ADD     A,255
   \   0188  5F                LD      E,A
   \   0189  D5                PUSH    DE
   \   018A  CD6603            CALL    LWRD ?0090
   \   018D  F1                POP     AF
    163          
    164                  SetTextPos(12, menu_pos_list[tmp]);
   \   018E  CD7303            CALL    LWRD ?0091
    165                  SetPenColor(Color_WHITE_def);
   \   0191  CD8303            CALL    LWRD ?0093
    166                  SetBackgdColor(0x00003358);
   \   0194  CD0000            CALL    LWRD SetBackgdColor
    167                  PutS(temp_record.longname,-1);
   \   0197  0EFF              LD      C,255
   \   0199  111900            LD      DE,temp_record+25
   \   019C  CD0000            CALL    LWRD PutS
    168           
    169                  //重新显示旧的活动菜单
    170                  tmp = Old_active%row_count_def;
   \   019F  010600            LD      BC,6
   \   01A2  DD5E08            LD      E,(IX+8)
   \   01A5  DD5609            LD      D,(IX+9)
   \   01A8  CD4203            CALL    LWRD ?0088
    171                  TransOneRecord(&temp_record,&OnePageRecord[tmp]);    //将idm中记录数据读取到temp_record中
    172                  if(temp_record.filetype==TYPE_FILE)
   \   01AB  2016              JR      NZ,?0013
   \   01AD            ?0012:
    173                      ResShowPic(MFILE,0,menu_pos_list[tmp]+2);
   \   01AD  210000            LD      HL,menu_pos_list
   \   01B0  DD4EF2            LD      C,(IX-14)
   \   01B3  DD46F3            LD      B,(IX-13)
   \   01B6  09                ADD     HL,BC
   \   01B7  7E                LD      A,(HL)
   \   01B8  C602              ADD     A,2
   \   01BA  4F                LD      C,A
   \   01BB  C5                PUSH    BC
   \   01BC  0E00              LD      C,0
   \   01BE  11C600            LD      DE,198
   \   01C1  1816              JR      ?0076
   \   01C3            ?0013:
    174                  else if(temp_record.filetype==TYPE_DIR)
   \   01C3  3A0000            LD      A,(temp_record)
   \   01C6  B7                OR      A
   \   01C7  2014              JR      NZ,?0016
   \   01C9            ?0015:
    175                  {
    176                      ResShowPic(MDIR,0,menu_pos_list[tmp]);
   \   01C9  210000            LD      HL,menu_pos_list
   \   01CC  DD4EF2            LD      C,(IX-14)
   \   01CF  DD46F3            LD      B,(IX-13)
   \   01D2  09                ADD     HL,BC
   \   01D3  4E                LD      C,(HL)
   \   01D4  C5                PUSH    BC
   \   01D5  4F                LD      C,A
   \   01D6  11AF00            LD      DE,175
   \   01D9            ?0076:
   \   01D9  CD6B03            CALL    LWRD ?0089
   \   01DC  F1                POP     AF
   \   01DD            ?0016:
   \   01DD            ?0014:
    177                  }
    178                  SetPenColor(Color_BLACK_def);
   \   01DD  010000            LD      BC,0
   \   01E0  59                LD      E,C
   \   01E1  50                LD      D,B
   \   01E2  CD0000            CALL    LWRD SetPenColor
    179                  SetBackgdColor(Color_MENU_def);
   \   01E5  010000            LD      BC,0
   \   01E8  11FFFF            LD      DE,65535
   \   01EB  CD0000            CALL    LWRD SetBackgdColor
    180                  SetTextPos(12, menu_pos_list[tmp]);
   \   01EE  CD7303            CALL    LWRD ?0091
    181                  PutS(temp_record.longname,-1);   
   \   01F1  0EFF              LD      C,255
   \   01F3  111900            LD      DE,temp_record+25
   \   01F6  CD0000            CALL    LWRD PutS
    182              }
    183              else    //if(Old_active==active)        //新旧活动项相同表示是新的一屏数据,需要全部刷新
   \   01F9  C31C03            JP      LWRD ?0021
   \   01FC            ?0006:
    184              {
    185                  //ClearScreen(NULL);
    186                  ///-SetTextOutMode(1);
    187                  SetBackgdColor(0x0000df1c);
   \   01FC  4D                LD      C,L
   \   01FD  44                LD      B,H
   \   01FE  111CDF            LD      DE,57116
   \   0201  CD0000            CALL    LWRD SetBackgdColor
    188                  ResShowPic(MENUTWO1,0,0);
   \   0204  0E00              LD      C,0
   \   0206  C5                PUSH    BC
   \   0207  11C400            LD      DE,196
   \   020A  CD6B03            CALL    LWRD ?0089

⌨️ 快捷键说明

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