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

📄 ui_directory.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   0217  09                ADD     HL,BC
   \   0218  E5                PUSH    HL
   \   0219  FDE1              POP     IY
   \   021B            ?0052:
    177                                      DecodeOnePage(top,bottom,type,string_id);
   \   021B  DD6E08            LD      L,(IX+8)
   \   021E  E5                PUSH    HL
   \   021F  DD6EFE            LD      L,(IX-2)
   \   0222  E5                PUSH    HL
   \   0223  CD2704            CALL    LWRD ?0123
   \   0226  E1                POP     HL
   \   0227  E1                POP     HL
    178                                      ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
   \   0228  DD6EEA            LD      L,(IX-22)
   \   022B  E5                PUSH    HL
   \   022C  DD6E08            LD      L,(IX+8)
   \   022F  E5                PUSH    HL
   \   0230  2A0000            LD      HL,(list_active)
   \   0233  E5                PUSH    HL
   \   0234            ?0112:
   \   0234  E5                PUSH    HL
   \   0235  CD1604            CALL    LWRD ?0121
   \   0238  E1                POP     HL
   \   0239  E1                POP     HL
   \   023A  E1                POP     HL
   \   023B  E1                POP     HL
   \   023C            ?0050:
   \   023C            ?0054:
    179                              }
    180                        while(ap_get_message() != 0);
   \   023C  CD0000            CALL    LWRD ap_get_message
   \   023F  B7                OR      A
   \   0240  CAFE00            JP      Z,?0025
   \   0243            ?0055:
    181                          break;
   \   0243  18F7              JR      ?0050
   \   0245            ?0053:
   \   0245            ?0056:
    182          
    183          
    184          
    185                      case AP_KEY_PLAY | AP_KEY_UP:
    186                              fselSetLocationC(location);
    187                          return RESULT_IGNORE;
    188                      break;
   \   0245            ?0057:
    189          
    190                      case AP_KEY_MODE | AP_KEY_LONG:
    191                              key = RESULT_NULL;
   \   0245  DD36EB00          LD      (IX-21),0
   \   0249            ?0058:
    192          LongTime:
    193                              output8(0x4e,input8(0x4e) | 0x08);
    194                              TransOneRecord(&temp_record,(OnePageRecord+list_active%GroupDefine));
   \   0249  CD8804            CALL    LWRD ?0126
    195                              fselDirLayer=temp_record.dirlayer;        //目录层次 0--根目录
    196                              fselDirNo[fselDirLayer]=temp_record.dirno[fselDirLayer];                //目录序号
   \   024C  C5                PUSH    BC
   \   024D  0600              LD      B,0
   \   024F  210000            LD      HL,fselDirNo
   \   0252  09                ADD     HL,BC
   \   0253  C1                POP     BC
   \   0254  70                LD      (HL),B
    197                              fselFileNo=temp_record.fileno;        //文件序号
   \   0255  2A0900            LD      HL,(temp_record+9)
   \   0258  220000            LD      (fselFileNo),HL
    198                              fselExtNo=temp_record.fselExtNo;
   \   025B  3A0C00            LD      A,(temp_record+12)
   \   025E  320000            LD      (fselExtNo),A
    199          
    200                              if(temp_record.name[0] == '\\')    //当前所处子目录首,需要返回父目录
   \   0261  3A0D00            LD      A,(temp_record+13)
   \   0264  FE5C              CP      92
   \   0266  2008              JR      NZ,?0060
   \   0268            ?0059:
    201                              {
    202                                          if(fselDirLayer==0)
   \   0268  3A0000            LD      A,(fselDirLayer)
   \   026B  B7                OR      A
   \   026C  202E              JR      NZ,?0073
   \   026E            ?0061:
    203                                              fselDirNo[fselDirLayer] = 0;
   \   026E  1823              JR      ?0115
    204                                          else
   \   0270            ?0062:
    205                                              fselDirLayer--;
   \   0270            ?0063:
    206                                //    key=RESULT_NULL;
    207                              }
    208                              else    //当前所处可能是子目录或文件,需要分别处理
   \   0270            ?0060:
    209                              {
    210                                  if(temp_record.filetype==TYPE_DIR)
   \   0270  3A0000            LD      A,(temp_record)
   \   0273  B7                OR      A
   \   0274  3A0000            LD      A,(fselDirLayer)
   \   0277  2017              JR      NZ,?0066
   \   0279            ?0065:
    211                                  {
    212                                          if (fselDirLayer <= 7)
   \   0279  47                LD      B,A
   \   027A  3E07              LD      A,7
   \   027C  B8                CP      B
   \   027D  3821              JR      C,?0074
   \   027F            ?0067:
    213                                          {
    214                                                 if(fselEntCurrentDir(temp_record.name))
   \   027F  110D00            LD      DE,temp_record+13
   \   0282  3E00              LD      A,BYTE3 fselEntCurrentDir
   \   0284  210000            LD      HL,LWRD fselEntCurrentDir
   \   0287  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   028A  2C                INC     L
   \   028B  2D                DEC     L
   \   028C  2812              JR      Z,?0074
   \   028E            ?0069:
    215                                                     fselDirLayer--;
   \   028E  180C              JR      ?0073
   \   0290            ?0070:
   \   0290            ?0068:
    216                                          }
    217                                  }
    218                                  else
   \   0290            ?0066:
    219                                  {
    220                                          if(fselDirLayer==0)
   \   0290  B7                OR      A
   \   0291  2009              JR      NZ,?0073
   \   0293            ?0072:
    221                                              fselDirNo[fselDirLayer] = 0;
   \   0293            ?0115:
   \   0293  4F                LD      C,A
   \   0294  41                LD      B,C
   \   0295  210000            LD      HL,fselDirNo
   \   0298  09                ADD     HL,BC
   \   0299  70                LD      (HL),B
    222                                          else
   \   029A  1804              JR      ?0074
   \   029C            ?0073:
    223                                              fselDirLayer--;
   \   029C  210000            LD      HL,fselDirLayer
   \   029F  35                DEC     (HL)
   \   02A0            ?0074:
   \   02A0            ?0071:
   \   02A0            ?0064:
    224                                       //   key=RESULT_NULL;
    225                                  }
    226                              }
    227                             fselGetLocation(location);    //更新location
   \   02A0  DD5EFC            LD      E,(IX-4)
   \   02A3  DD56FD            LD      D,(IX-3)
   \   02A6  3E00              LD      A,BYTE3 fselGetLocation
   \   02A8  210000            LD      HL,LWRD fselGetLocation
   \   02AB  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    228                                return key;
   \   02AE  DD6EEB            LD      L,(IX-21)
   \   02B1  2600              LD      H,0
    229                      case AP_KEY_MODE | AP_KEY_UP:
   \   02B3  C30304            JP      LWRD ?0106
   \   02B6            ?0075:
    230                              output8(0x4e,input8(0x4e) | 0x08);
    231                              TransOneRecord(&temp_record,(OnePageRecord+list_active%GroupDefine));
   \   02B6  CD8804            CALL    LWRD ?0126
    232                              fselDirLayer=temp_record.dirlayer;        //目录层次 0--根目录
    233                              fselDirNo[fselDirLayer]=temp_record.dirno[fselDirLayer];                //目录序号
   \   02B9  C5                PUSH    BC
   \   02BA  0600              LD      B,0
   \   02BC  210000            LD      HL,fselDirNo
   \   02BF  09                ADD     HL,BC
   \   02C0  C1                POP     BC
   \   02C1  70                LD      (HL),B
    234                              fselFileNo=temp_record.fileno;        //文件序号
   \   02C2  2A0900            LD      HL,(temp_record+9)
   \   02C5  220000            LD      (fselFileNo),HL
    235                              fselExtNo=temp_record.fselExtNo;
   \   02C8  3A0C00            LD      A,(temp_record+12)
   \   02CB  320000            LD      (fselExtNo),A
    236          
    237                              if(temp_record.name[0] == '\\')    //当前所处子目录首,需要返回父目录
   \   02CE  3A0D00            LD      A,(temp_record+13)
   \   02D1  FE5C              CP      92
   \   02D3  2054              JR      NZ,?0077
   \   02D5            ?0076:
    238                              {
    239                                      if (fselRetParentDir(Strname))
   \   02D5  210800            LD      HL,8
   \   02D8  39                ADD     HL,SP
   \   02D9  EB                EX      DE,HL
   \   02DA  3E00              LD      A,BYTE3 fselRetParentDir
   \   02DC  210000            LD      HL,LWRD fselRetParentDir
   \   02DF  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02E2  2C                INC     L
   \   02E3  2D                DEC     L
   \   02E4  CAA303            JP      Z,?0092
   \   02E7            ?0078:
    240                                      {
    241                                          memcpy(temp_record.name,Strname, 11);
   \   02E7  010B00            LD      BC,11
   \   02EA  110D00            LD      DE,temp_record+13
   \   02ED  210800            LD      HL,8
   \   02F0  39                ADD     HL,SP
   \   02F1  EDB0              LDIR
    242          
    243                                          init_dir_buf();
   \   02F3  3E00              LD      A,BYTE3 init_dir_buf
   \   02F5  210000            LD      HL,LWRD init_dir_buf
   \   02F8  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    244                                          list_active=GetActiveDirFrom(temp_record.dirno[fselDirLayer]);
   \   02FB  210100            LD      HL,temp_record+1
   \   02FE  ED4B0000          LD      BC,(fselDirLayer)
   \   0302  0600              LD      B,0
   \   0304  09                ADD     HL,BC
   \   0305  5E                LD      E,(HL)
   \   0306  50                LD      D,B
   \   0307  3E00              LD      A,BYTE3 GetActiveDirFrom
   \   0309  210000            LD      HL,LWRD GetActiveDirFrom
   \   030C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   030F  220000            LD      (list_active),HL
    245                                          cur_group=list_active/GroupDefine;
   \   0312  0E06              LD      C,6
   \   0314  CD6C04            CALL    LWRD ?0125
    246                                          top=(list_active/GroupDefine)*GroupDefine; ; //顶的序号
    247                                          bottom=top+GroupDefine-1;                  //底的序号
    248                                          if(bottom>(list_total_num-1))
   \   0317  21FFFF            LD      HL,65535
   \   031A  ED4B0000          LD      BC,(list_total_num)
   \   031E  09                ADD     HL,BC
   \   031F  FDE5              PUSH    IY
   \   0321  C1                POP     BC
   \   0322  A7                AND     A
   \   0323  ED42              SBC     HL,BC
   \   0325  307C              JR      NC,?0092
   \   0327            ?0080:
    249                                          bottom=list_total_num-1;
   \   0327  184D              JR      ?0118
   \   0329            ?0081:
    250          
    251                                      }
    252                                      else
   \   0329            ?0079:
   \   0329            ?0082:
    253                                      {
    254                                      }
    255                              }
    256                              else    //当前所处可能是子目录或文件,需要分别处理
   \   0329            ?0077:
    257                              {
    258                                  if(temp_record.filetype==TYPE_DIR)
   \   0329  3A0000            LD      A,(temp_record)
   \   032C  B7                OR      A
   \   032D  3A0000            LD      A,(fselDirLayer)
   \   0330  2051              JR      NZ,?0085
   \   0332            ?0084:
    259                                  {
    260                                          if (fselDirLayer >= 7)         //需实验看看是7还是8?
   \   0332  FE07              CP      7
   \   0334  D2FE00            JP      NC,?0025
   \   0337            ?0086:
    261                                          {
    262                                              break;
   \   0337            ?0087:
    263                                          }
    264                                          if (fselDirNo[fselDirLayer] > 0)
   \   0337  4F                LD      C,A
   \   0338  0600              LD      B,0
   \   033A  210000            LD      HL,fselDirNo
   \   033D  09                ADD     HL,BC
   \   033E  7E                LD      A,(HL)
   \   033F  B7                OR      A
   \   0340  2861              JR      Z,?0092
   \   0342            ?0088:
    265                                          {
    266                                                  fselEntCurrentDir(temp_record.name);

⌨️ 快捷键说明

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