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

📄 ui_directory2_scroll.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   0546  E5                PUSH    HL
   \   0547  FDE1              POP     IY
    282                      FS_CD(file_name);
   \   0549  110000            LD      DE,file_name
   \   054C  CD0000            CALL    LWRD FS_CD
    283                      if (ToDirEntry(file_name,1))
   \   054F  010100            LD      BC,1
   \   0552  110000            LD      DE,file_name
   \   0555  3E00              LD      A,BYTE3 ToDirEntry
   \   0557  210000            LD      HL,LWRD ToDirEntry
   \   055A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   055D  2C                INC     L
   \   055E  2D                DEC     L
   \   055F  210200            LD      HL,2
   \   0562  39                ADD     HL,SP
   \   0563  DD23              INC     IX
   \   0565  2804              JR      Z,?0058
   \   0567            ?0057:
    284                      {
    285                          direxist=1;
   \   0567  3601              LD      (HL),1
    286                      }
    287                      else
   \   0569  1802              JR      ?0059
   \   056B            ?0058:
    288                      {
    289                          direxist=0;
   \   056B  3600              LD      (HL),0
   \   056D            ?0059:
    290                      }
    291                      output8(0x4e,input8(0x4e)|0x8);
   \   056D  DB4E              IN      A,(78)
   \   056F  CBDF              SET     3,A
   \   0571  D34E              OUT     (78),A
    292                      FS_CD("\\");
   \   0573  110000            LD      DE,?0060
   \   0576  CD0000            CALL    LWRD FS_CD
    293          
    294                      FS_Restore(Backbuf,FS_RESTORE_DIRINFO,0);//目录项恢复
   \   0579  210000            LD      HL,0
   \   057C  E5                PUSH    HL
   \   057D  0E02              LD      C,2
   \   057F  2E06              LD      L,6
   \   0581  39                ADD     HL,SP
   \   0582  EB                EX      DE,HL
   \   0583  CD0000            CALL    LWRD FS_Restore
   \   0586  E1                POP     HL
    295                      output8(0x4e,input8(0x4e)|0x08);        //清WATCH DOG
   \   0587  DB4E              IN      A,(78)
   \   0589  CBDF              SET     3,A
   \   058B  D34E              OUT     (78),A
    296                      if((total != 0)||(direxist))
   \   058D  FDE5              PUSH    IY
   \   058F  E1                POP     HL
   \   0590  7D                LD      A,L
   \   0591  B4                OR      H
   \   0592  2008              JR      NZ,?0063
   \   0594  210200            LD      HL,2
   \   0597  39                ADD     HL,SP
   \   0598  B6                OR      (HL)
   \   0599  CAFD04            JP      Z,?0048
   \   059C            ?0063:
   \   059C            ?0064:
   \   059C            ?0061:
    297                      {
    298                              break;
   \   059C            ?0062:
   \   059C            ?0050:
    299                      }
    300                  }
    301                  Setdirbuf( tmp - 1 );
   \   059C  21FFFF            LD      HL,65535
   \   059F  DDE5              PUSH    IX
   \   05A1  C1                POP     BC
   \   05A2  09                ADD     HL,BC
   \   05A3  EB                EX      DE,HL
   \   05A4  3E00              LD      A,BYTE3 Setdirbuf
   \   05A6  210000            LD      HL,LWRD Setdirbuf
   \   05A9  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   05AC  210000            LD      HL,0
   \   05AF  39                ADD     HL,SP
   \   05B0  34                INC     (HL)
   \   05B1  23                INC     HL
   \   05B2  C2F004            JP      NZ,?0047
   \   05B5  34                INC     (HL)
   \   05B6  C3F004            JP      LWRD ?0047
   \   05B9            ?0046:
    302              }
    303              FS_Restore(Backbuf,FS_RESTORE_DIRINFO,0);//目录项恢复
   \   05B9  210000            LD      HL,0
   \   05BC  E5                PUSH    HL
   \   05BD  0E02              LD      C,2
   \   05BF  2E06              LD      L,6
   \   05C1  39                ADD     HL,SP
   \   05C2  EB                EX      DE,HL
   \   05C3  CD0000            CALL    LWRD FS_Restore
   \   05C6  E1                POP     HL
    304          }
   \   05C7  212400            LD      HL,36
   \   05CA  39                ADD     HL,SP
   \   05CB  F9                LD      SP,HL
   \   05CC  DDE1              POP     IX
   \   05CE  FDE1              POP     IY
   \   05D0  D1                POP     DE
   \   05D1  C1                POP     BC
   \   05D2  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   05D5            get_dir_name:
    305          
    306          /********************************************************************************
    307          * Description : 获取第N个有效的目录
    308          *
    309          * Arguments   :
    310          *
    311          * Returns     :
    312          *
    313          * Notes       :
    314          *
    315          ********************************************************************************
    316          */
    317          bool get_dir_name(char *file, WORD num)
    318          {
   \   05D5  FDE5              PUSH    IY
   \   05D7  DDE5              PUSH    IX
   \   05D9  C5                PUSH    BC
   \   05DA  F5                PUSH    AF
   \   05DB  D5                PUSH    DE
   \   05DC  DDE1              POP     IX
    319          
    320              WORD m, tmp,total_file;
    321              if(num>dir_total_num)
   \   05DE  2A4B00            LD      HL,(dir_total_num)
   \   05E1  A7                AND     A
   \   05E2  ED42              SBC     HL,BC
   \   05E4  3005              JR      NC,?0066
   \   05E6            ?0065:
    322                  return 0;
   \   05E6  2E00              LD      L,0
   \   05E8  C38306            JP      LWRD ?0078
   \   05EB            ?0066:
    323              if(num == 0)    //根目录或目录首
   \   05EB  79                LD      A,C
   \   05EC  B0                OR      B
   \   05ED  2030              JR      NZ,?0068
   \   05EF            ?0067:
    324              {
    325                  if(fselDirLayer==0)
   \   05EF  3A0000            LD      A,(fselDirLayer)
   \   05F2  B7                OR      A
   \   05F3  2015              JR      NZ,?0070
   \   05F5            ?0069:
    326                  {
    327                      file[0] = 'R';
   \   05F5  DD360052          LD      (IX+0),82
    328                      file[1] = 'O';
   \   05F9  DD36014F          LD      (IX+1),79
    329                      file[2] = 'O';
   \   05FD  DD36024F          LD      (IX+2),79
    330                      file[3] = 'T';
   \   0601  DD360354          LD      (IX+3),84
    331                      file[4] = 0;
   \   0605  DD7704            LD      (IX+4),A
    332                  }
    333                  else
   \   0608  1808              JR      ?0071
   \   060A            ?0070:
    334                  {
    335                      file[0] = '\\';
   \   060A  DD36005C          LD      (IX+0),92
    336                      file[1] = 0;
   \   060E  DD360100          LD      (IX+1),0
   \   0612            ?0071:
    337                  }
    338                  fselDirNo[fselDirLayer]=0;
   \   0612  ED4B0000          LD      BC,(fselDirLayer)
   \   0616  0600              LD      B,0
   \   0618  210000            LD      HL,fselDirNo
   \   061B  09                ADD     HL,BC
   \   061C  70                LD      (HL),B
    339                  return 1;
   \   061D  1862              JR      ?0074
    340          
    341             }
   \   061F            ?0068:
    342             else
    343             {
    344                  tmp=0;
    345                  tmp = Getdirbuf(num);
   \   061F  210000            LD      HL,0
   \   0622  39                ADD     HL,SP
   \   0623  E5                PUSH    HL
   \   0624  59                LD      E,C
   \   0625  50                LD      D,B
   \   0626  3E00              LD      A,BYTE3 Getdirbuf
   \   0628  210000            LD      HL,LWRD Getdirbuf
   \   062B  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   062E  4D                LD      C,L
   \   062F  44                LD      B,H
   \   0630  E1                POP     HL
   \   0631  71                LD      (HL),C
   \   0632  23                INC     HL
   \   0633  70                LD      (HL),B
    346          
    347              fselDirNo[fselDirLayer]=tmp;
   \   0634  ED4B0000          LD      BC,(fselDirLayer)
   \   0638  0600              LD      B,0
   \   063A  210000            LD      HL,fselDirNo
   \   063D  09                ADD     HL,BC
   \   063E  E5                PUSH    HL
   \   063F  210200            LD      HL,2
   \   0642  39                ADD     HL,SP
   \   0643  46                LD      B,(HL)
   \   0644  E1                POP     HL
   \   0645  70                LD      (HL),B
    348          
    349                  if(tmp > 0)
   \   0646  210000            LD      HL,0
   \   0649  39                ADD     HL,SP
   \   064A  78                LD      A,B
   \   064B  23                INC     HL
   \   064C  B6                OR      (HL)
   \   064D  2832              JR      Z,?0074
   \   064F            ?0072:
    350                  {
    351                      FS_Dir(file,  Ui_IgnoreExt, FS_DIR_DIR);
   \   064F  0E81              LD      C,129
   \   0651  C5                PUSH    BC
   \   0652  010000            LD      BC,Ui_IgnoreExt
   \   0655  DDE5              PUSH    IX
   \   0657  D1                POP     DE
   \   0658  CD0000            CALL    LWRD FS_Dir
   \   065B  E1                POP     HL
    352                      for(m = 2; m <= tmp; m++)
   \   065C  FD210200          LD      IY,2
   \   0660            ?0075:
   \   0660  FDE5              PUSH    IY
   \   0662  C1                POP     BC
   \   0663  210000            LD      HL,0
   \   0666  39                ADD     HL,SP
   \   0667  56                LD      D,(HL)
   \   0668  23                INC     HL
   \   0669  66                LD      H,(HL)
   \   066A  6A                LD      L,D
   \   066B  A7                AND     A
   \   066C  ED42              SBC     HL,BC
   \   066E  3811              JR      C,?0074
   \   0670            ?0076:
    353                        FS_Dir(file,  Ui_IgnoreExt, FS_DIR_DIR_CONT);
   \   0670  0E01              LD      C,1
   \   0672  C5                PUSH    BC
   \   0673  010000            LD      BC,Ui_IgnoreExt
   \   0676  DDE5              PUSH    IX
   \   0678  D1                POP     DE
   \   0679  CD0000            CALL    LWRD FS_Dir
   \   067C  E1                POP     HL
    354                  }
   \   067D  FD23              INC     IY
   \   067F  18DF              JR      ?0075
   \   0681            ?0074:
   \   0681            ?0073:
    355                  return 1;
   \   0681  2E01              LD      L,1
    356              }
   \   0683            ?0078:
   \   0683  F1                POP     AF
   \   0684  F1                POP     AF
   \   0685  DDE1              POP     IX
   \   0687  FDE1              POP     IY
   \   0689  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
    357          }
   \   068C            DecodeOnePage:
    358          
 

⌨️ 快捷键说明

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