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

📄 ui_directory2_scroll.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
    107          {
   \   008D  FDE5              PUSH    IY
   \   008F  DDE5              PUSH    IX
   \   0091  F5                PUSH    AF
   \   0092  C5                PUSH    BC
   \   0093  DDE1              POP     IX
   \   0095  D5                PUSH    DE
   \   0096  FDE1              POP     IY
    108              byte status;
    109              status = input8(0x05);
   \   0098  DB05              IN      A,(5)
   \   009A  210000            LD      HL,0
   \   009D  39                ADD     HL,SP
   \   009E  77                LD      (HL),A
    110              output8(0x05, 0xf6);
   \   009F  3EF6              LD      A,246
   \   00A1  D305              OUT     (5),A
    111          
    112              target->filetype=source_record->filetype;           //文件类型 0-- 目录  1  文件
   \   00A3  0A                LD      A,(BC)
   \   00A4  EB                EX      DE,HL
   \   00A5  77                LD      (HL),A
    113              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
    114              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
    115              target->fselExtNo=source_record->fselExtNo;    //当前后缀名
   \   00BF  DD460C            LD      B,(IX+12)
   \   00C2  FD700C            LD      (IY+12),B
    116              target->dirlayer=source_record->dirlayer;        //目录层次 0--根目录
   \   00C5  DD460B            LD      B,(IX+11)
   \   00C8  FD700B            LD      (IY+11),B
    117              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
    118              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
    119          
    120              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
    121          }
   \   00F9  C36100            JP      LWRD ?0105
   \   00FC            ShowDirectory:
    122          
    123          
    124          /********************************************************************************
    125          * Description : show the directory.
    126          *
    127          * Arguments  :
    128          *            location: get thedisk type
    129          *            Invpath: the "\" or name
    130          *            Namebuf:the string you will display
    131          *            type : show file kind
    132          *            string_id: language type
    133          * Returns     :
    134          *            other:    Successful
    135          *            0:    Fail, detail information in fselError
    136          * Notes       :  only display the valid directory or file
    137          *
    138          ********************************************************************************/
    139          
    140           void ShowDirectory(WORD top,WORD bottom,WORD Old_active,WORD active,BYTE string_id,BYTE Disk)
    141          {
   \   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  F5                PUSH    AF
   \   0109  F5                PUSH    AF
    142              WORD i,tmp;
    143              BYTE DisplayBytes;    
    144              region_scroll.x=explorer_str_x_def;
   \   010A  3E20              LD      A,32
   \   010C  320000            LD      (region_scroll),A
    145              region_scroll.width=160;
   \   010F  3EA0              LD      A,160
   \   0111  320200            LD      (region_scroll+2),A
    146              region_scroll.height=16; 
   \   0114  3E10              LD      A,16
   \   0116  320300            LD      (region_scroll+3),A
    147              if(ScrollFlag)   
   \   0119  3A0000            LD      A,(ScrollFlag)
   \   011C  B7                OR      A
   \   011D  2825              JR      Z,?0006
   \   011F            ?0005:
    148              {
    149                  SetTextOutMode(0);
   \   011F  1E00              LD      E,0
   \   0121  CD0000            CALL    LWRD SetTextOutMode
    150                  SetBackgdColor(Color_BULE_Scroll_def);        
   \   0124  010000            LD      BC,0
   \   0127  111F00            LD      DE,31
   \   012A  CD0000            CALL    LWRD SetBackgdColor
    151                  ScrollString(scroll_buf, FALSE,string_id,&region_scroll);
   \   012D  210000            LD      HL,region_scroll
   \   0130  E5                PUSH    HL
   \   0131  DD6E0C            LD      L,(IX+12)
   \   0134  E5                PUSH    HL
   \   0135  0E00              LD      C,0
   \   0137  CD4E04            CALL    LWRD ?0106
   \   013A  E1                POP     HL
   \   013B  E1                POP     HL
    152                  SetTextOutMode(1);  
   \   013C  1E01              LD      E,1
   \   013E  CD0000            CALL    LWRD SetTextOutMode
    153              } 
    154              else
   \   0141  C34304            JP      LWRD ?0045
   \   0144            ?0006:
    155              {   
    156               SetTextOutMode(1);
   \   0144  1E01              LD      E,1
   \   0146  CD0000            CALL    LWRD SetTextOutMode
    157               SetPenColor(Color_WHITE_def);
   \   0149  010000            LD      BC,0
   \   014C  11FFFF            LD      DE,65535
   \   014F  CD0000            CALL    LWRD SetPenColor
    158               if(Old_active!=active)
   \   0152  DD6E0A            LD      L,(IX+10)
   \   0155  DD660B            LD      H,(IX+11)
   \   0158  DD4E08            LD      C,(IX+8)
   \   015B  DD4609            LD      B,(IX+9)
   \   015E  A7                AND     A
   \   015F  ED42              SBC     HL,BC
   \   0161  CAA602            JP      Z,?0009
   \   0164            ?0008:
    159               {
    160          
    161          //清除旧的活动菜单项
    162                 tmp = Old_active%row_count_def;
   \   0164  010600            LD      BC,6
   \   0167  DD5E08            LD      E,(IX+8)
   \   016A  DD5609            LD      D,(IX+9)
   \   016D  CD0000            CALL    LWRD ?US_MOD_L02
   \   0170  DD73F8            LD      (IX-8),E
   \   0173  DD72F9            LD      (IX-7),D
    163                  ResShowPic(menulist_bck_pic[tmp], menu_bck_x_def, menu_pos_list[tmp]-4);
   \   0176  210000            LD      HL,menu_pos_list
   \   0179  19                ADD     HL,DE
   \   017A  7E                LD      A,(HL)
   \   017B  C6FC              ADD     A,252
   \   017D  4F                LD      C,A
   \   017E  C5                PUSH    BC
   \   017F  0E09              LD      C,9
   \   0181  EB                EX      DE,HL
   \   0182  29                ADD     HL,HL
   \   0183  110000            LD      DE,menulist_bck_pic
   \   0186  19                ADD     HL,DE
   \   0187  5E                LD      E,(HL)
   \   0188  23                INC     HL
   \   0189  56                LD      D,(HL)
   \   018A  CD5E04            CALL    LWRD ?0108
   \   018D  F1                POP     AF
    164                  ResShowPic(DHT,194,8);
   \   018E  0E08              LD      C,8
   \   0190  C5                PUSH    BC
   \   0191  CD5904            CALL    LWRD ?0109
   \   0194  F1                POP     AF
    165           //重新显示旧的活动菜单
    166                TransOneRecord(&temp_record,&OnePageRecord[tmp]);    //将idm中记录数据读取到temp_record中
   \   0195  014B00            LD      BC,75
   \   0198  DD5EF8            LD      E,(IX-8)
   \   019B  DD56F9            LD      D,(IX-7)
   \   019E  CD6604            CALL    LWRD ?0110
    167                if(temp_record.filetype==TYPE_FILE)
   \   01A1  3A0000            LD      A,(temp_record)
   \   01A4  3D                DEC     A
   \   01A5  2016              JR      NZ,?0011
   \   01A7            ?0010:
    168                ResShowPic(MFILE,13,menu_pos_list[tmp]-1);
   \   01A7  210000            LD      HL,menu_pos_list
   \   01AA  DD4EF8            LD      C,(IX-8)
   \   01AD  DD46F9            LD      B,(IX-7)
   \   01B0  09                ADD     HL,BC
   \   01B1  7E                LD      A,(HL)
   \   01B2  C6FF              ADD     A,255
   \   01B4  4F                LD      C,A
   \   01B5  C5                PUSH    BC
   \   01B6  0E0D              LD      C,13
   \   01B8  11C600            LD      DE,198
   \   01BB  181A              JR      ?0088
   \   01BD            ?0011:
    169                else if(temp_record.filetype==TYPE_DIR)
   \   01BD  3A0000            LD      A,(temp_record)
   \   01C0  B7                OR      A
   \   01C1  2018              JR      NZ,?0014
   \   01C3            ?0013:
    170                {
    171                      ResShowPic(MDIR,10,menu_pos_list[tmp]-4);
   \   01C3  210000            LD      HL,menu_pos_list
   \   01C6  DD4EF8            LD      C,(IX-8)
   \   01C9  DD46F9            LD      B,(IX-7)
   \   01CC  09                ADD     HL,BC
   \   01CD  7E                LD      A,(HL)
   \   01CE  C6FC              ADD     A,252
   \   01D0  4F                LD      C,A
   \   01D1  C5                PUSH    BC
   \   01D2  0E0A              LD      C,10
   \   01D4  11AF00            LD      DE,175
   \   01D7            ?0088:
   \   01D7  CD5E04            CALL    LWRD ?0108
   \   01DA  F1                POP     AF
   \   01DB            ?0014:
   \   01DB            ?0012:
    172                }
    173                //SetPenColor(Color_WHITE_def);
    174                SetTextPos(explorer_str_x_def, menu_pos_list[tmp]-2);
   \   01DB  210000            LD      HL,menu_pos_list
   \   01DE  DD4EF8            LD      C,(IX-8)
   \   01E1  DD46F9            LD      B,(IX-7)
   \   01E4  CD7B04            CALL    LWRD ?0111
    175                DisplayBytes =Count_Byte(temp_record.longname,string_id);                  
    176                PutS(temp_record.longname,DisplayBytes);      
    177                 
    178          //显示新的活动菜单
    179                 tmp = active%row_count_def;
   \   01E7  010600            LD      BC,6
   \   01EA  DD5E0A            LD      E,(IX+10)
   \   01ED  DD560B            LD      D,(IX+11)
   \   01F0  CD0000            CALL    LWRD ?US_MOD_L02
   \   01F3  DD73F8            LD      (IX-8),E
   \   01F6  DD72F9            LD      (IX-7),D
    180                 TransOneRecord(&temp_record,&OnePageRecord[tmp]);    //将idm中记录数据读取到temp_record中
   \   01F9  0E4B              LD      C,75
   \   01FB  CD6604            CALL    LWRD ?0110
    181                 ResShowPic(FILEBCK,  explorer_str_x_def-1, menu_pos_list[tmp]-4);
   \   01FE  210000            LD      HL,menu_pos_list
   \   0201  DD4EF8            LD      C,(IX-8)
   \   0204  DD46F9            LD      B,(IX-7)
   \   0207  09                ADD     HL,BC
   \   0208  7E                LD      A,(HL)
   \   0209  C6FC              ADD     A,252
   \   020B  4F                LD      C,A
   \   020C  C5                PUSH    BC
   \   020D  0E1F              LD      C,31
   \   020F  112C00            LD      DE,44
   \   0212  CD5E04            CALL    LWRD ?0108
   \   0215  F1                POP     AF
    182                 if(temp_record.filetype==TYPE_FILE)

⌨️ 快捷键说明

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