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

📄 ui_directory_rec.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   0228  FDE1              POP     IY
   \   022A            ?0054:
    176                                      DecodeOnePage(top,bottom,type,string_id);
   \   022A  DD6E08            LD      L,(IX+8)
   \   022D  E5                PUSH    HL
   \   022E  DD6EFE            LD      L,(IX-2)
   \   0231  E5                PUSH    HL
   \   0232  CD2204            CALL    LWRD ?0124
   \   0235  E1                POP     HL
   \   0236  E1                POP     HL
    177                                      ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
   \   0237  DD6EF8            LD      L,(IX-8)
   \   023A  E5                PUSH    HL
   \   023B  DD6E08            LD      L,(IX+8)
   \   023E  E5                PUSH    HL
   \   023F  3A0000            LD      A,(list_active)
   \   0242  4F                LD      C,A
   \   0243  C5                PUSH    BC
   \   0244            ?0118:
   \   0244  4F                LD      C,A
   \   0245  C5                PUSH    BC
   \   0246  CD3304            CALL    LWRD ?0125
   \   0249  E1                POP     HL
   \   024A  E1                POP     HL
   \   024B  E1                POP     HL
   \   024C  E1                POP     HL
   \   024D            ?0052:
   \   024D            ?0056:
    178                              }
    179                          while(ap_get_message() != 0);
   \   024D  CD0000            CALL    LWRD ap_get_message
   \   0250  B7                OR      A
   \   0251  CAFF00            JP      Z,?0023
   \   0254            ?0057:
    180                          break;
   \   0254  18F7              JR      ?0052
   \   0256            ?0055:
   \   0256            ?0058:
   \   0256            ?0060:
    181          
    182          
    183                      case AP_KEY_PREV | AP_KEY_UP:
    184                          while(ap_get_message() != 0);
   \   0256  CD0000            CALL    LWRD ap_get_message
   \   0259  B7                OR      A
   \   025A  CAFF00            JP      Z,?0023
   \   025D            ?0061:
    185                          break;
   \   025D  18F7              JR      ?0058
   \   025F            ?0059:
   \   025F            ?0062:
    186          
    187                      case AP_KEY_PLAY | AP_KEY_UP:
    188                              fselSetLocationC(location);
    189                          return RESULT_IGNORE;
    190                      break;
   \   025F            ?0063:
    191          
    192                      case AP_KEY_MODE | AP_KEY_LONG:
    193                              key = RESULT_NULL;
   \   025F  DD36F900          LD      (IX-7),0
   \   0263            ?0064:
    194          LongTime:
    195                              output8(0x4e,input8(0x4e) | 0x08);
    196                              TransOneRecord(&temp_record,(OnePageRecord+list_active%GroupDefine));
   \   0263  CD9104            CALL    LWRD ?0128
    197                              fselDirLayer=temp_record.dirlayer;        //目录层次 0--根目录
    198                              fselDirNo[fselDirLayer]=temp_record.dirno[fselDirLayer];                //目录序号
   \   0266  C5                PUSH    BC
   \   0267  0600              LD      B,0
   \   0269  210000            LD      HL,fselDirNo
   \   026C  09                ADD     HL,BC
   \   026D  C1                POP     BC
   \   026E  70                LD      (HL),B
    199                              fselFileNo=0;//temp_record.fileno;        //文件序号
   \   026F  210000            LD      HL,0
   \   0272  220000            LD      (fselFileNo),HL
    200                             fselExtNo=temp_record.fselExtNo;
   \   0275  3A0C00            LD      A,(temp_record+12)
   \   0278  320000            LD      (fselExtNo),A
    201          
    202                              if(temp_record.name[0] == '\\')    //当前所处子目录首,需要返回父目录
   \   027B  3A0D00            LD      A,(temp_record+13)
   \   027E  FE5C              CP      92
   \   0280  2019              JR      NZ,?0066
   \   0282            ?0065:
    203                              {
    204                                          if(fselDirLayer==0)
   \   0282  3A0000            LD      A,(fselDirLayer)
   \   0285  B7                OR      A
   \   0286  2009              JR      NZ,?0068
   \   0288            ?0067:
    205                                              fselDirNo[fselDirLayer] = 0;
   \   0288  4F                LD      C,A
   \   0289  41                LD      B,C
   \   028A  210000            LD      HL,fselDirNo
   \   028D  09                ADD     HL,BC
   \   028E  70                LD      (HL),B
    206                                          else
   \   028F  1804              JR      ?0069
   \   0291            ?0068:
    207                                              fselDirLayer--;
   \   0291  210000            LD      HL,fselDirLayer
   \   0294  35                DEC     (HL)
   \   0295            ?0069:
    208                              key=RESULT_NULL;
   \   0295  DD36F900          LD      (IX-7),0
    209                              }
    210                              else    //当前所处可能是子目录或文件,需要分别处理
   \   0299  1815              JR      ?0075
   \   029B            ?0066:
    211                              {
    212                                  if(temp_record.filetype==TYPE_DIR)
   \   029B  3A0000            LD      A,(temp_record)
   \   029E  B7                OR      A
   \   029F  200F              JR      NZ,?0075
   \   02A1            ?0071:
    213                                  {
    214                                          if (fselDirLayer <= 7)
   \   02A1  3A0000            LD      A,(fselDirLayer)
   \   02A4  47                LD      B,A
   \   02A5  3E07              LD      A,7
   \   02A7  B8                CP      B
   \   02A8  3806              JR      C,?0075
   \   02AA            ?0073:
    215                                          {
    216                                              if(FS_CD(temp_record.name))
   \   02AA  110D00            LD      DE,temp_record+13
   \   02AD  CD0000            CALL    LWRD FS_CD
   \   02B0            ?0075:
   \   02B0            ?0076:
   \   02B0            ?0074:
    217                                              {
    218                                              }
    219                                          }
    220                                  }
    221                                  else
   \   02B0            ?0072:
   \   02B0            ?0077:
   \   02B0            ?0070:
    222                                  {
    223                                  }
    224                              }
    225                             fselGetLocation(location);    //更新location
   \   02B0  DD5EFC            LD      E,(IX-4)
   \   02B3  DD56FD            LD      D,(IX-3)
   \   02B6  3E00              LD      A,BYTE3 fselGetLocation
   \   02B8  210000            LD      HL,LWRD fselGetLocation
   \   02BB  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    226                                return key;
   \   02BE  DD6EF9            LD      L,(IX-7)
   \   02C1  2600              LD      H,0
    227                      case AP_KEY_MODE | AP_KEY_UP:
   \   02C3  C30F04            JP      LWRD ?0112
   \   02C6            ?0078:
    228                              output8(0x4e,input8(0x4e) | 0x08);
    229                              TransOneRecord(&temp_record,(OnePageRecord+list_active%GroupDefine));
   \   02C6  CD9104            CALL    LWRD ?0128
    230                              fselDirLayer=temp_record.dirlayer;        //目录层次 0--根目录
    231                              fselDirNo[fselDirLayer]=temp_record.dirno[fselDirLayer];                //目录序号
   \   02C9  C5                PUSH    BC
   \   02CA  0600              LD      B,0
   \   02CC  210000            LD      HL,fselDirNo
   \   02CF  09                ADD     HL,BC
   \   02D0  C1                POP     BC
   \   02D1  70                LD      (HL),B
    232                              fselFileNo=temp_record.fileno;        //文件序号
   \   02D2  2A0900            LD      HL,(temp_record+9)
   \   02D5  220000            LD      (fselFileNo),HL
    233                              fselExtNo=temp_record.fselExtNo;
   \   02D8  3A0C00            LD      A,(temp_record+12)
   \   02DB  320000            LD      (fselExtNo),A
    234          
    235                              if(temp_record.name[0] == '\\')    //当前所处子目录首,需要返回父目录
   \   02DE  3A0D00            LD      A,(temp_record+13)
   \   02E1  FE5C              CP      92
   \   02E3  2041              JR      NZ,?0080
   \   02E5            ?0079:
    236                              {
    237                                      if ( FS_CD("\\"))
   \   02E5  110200            LD      DE,?0083
   \   02E8  CD0000            CALL    LWRD FS_CD
   \   02EB  B7                OR      A
   \   02EC  CAAD03            JP      Z,?0098
   \   02EF            ?0081:
    238                                      {
    239                                          fselDirLayer--;
   \   02EF  210000            LD      HL,fselDirLayer
   \   02F2  35                DEC     (HL)
    240                                          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
    241          
    242                                          list_active=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  4E                LD      C,(HL)
   \   0306  ED430000          LD      (list_active),BC
    243                                          cur_group=list_active/GroupDefine;
   \   030A  0E06              LD      C,6
   \   030C  ED5B0000          LD      DE,(list_active)
   \   0310  CD7604            CALL    LWRD ?0127
    244                                          top=(list_active/GroupDefine)*GroupDefine; ; //顶的序号
    245                                          bottom=top+GroupDefine-1;                  //底的序号
    246                                          if(bottom>(list_total_num-1))
   \   0313  21FFFF            LD      HL,65535
   \   0316  ED4B0000          LD      BC,(list_total_num)
   \   031A  09                ADD     HL,BC
   \   031B  FDE5              PUSH    IY
   \   031D  C1                POP     BC
   \   031E  A7                AND     A
   \   031F  ED42              SBC     HL,BC
   \   0321  D2AD03            JP      NC,?0098
   \   0324            ?0084:
    247                                              bottom=list_total_num-1;
   \   0324  185A              JR      ?0121
   \   0326            ?0085:
    248          
    249                                      }
    250                                      else
   \   0326            ?0082:
   \   0326            ?0086:
    251                                      {
    252                                      }
    253                              }
    254                              else    //当前所处可能是子目录或文件,需要分别处理
   \   0326            ?0080:
    255                              {
    256                                  if(temp_record.filetype==TYPE_DIR)
   \   0326  3A0000            LD      A,(temp_record)
   \   0329  B7                OR      A
   \   032A  3A0000            LD      A,(fselDirLayer)
   \   032D  205E              JR      NZ,?0089
   \   032F            ?0088:
    257                                  {
    258                                          if (fselDirLayer >= 7)         //需实验看看是7还是8?
   \   032F  FE07              CP      7
   \   0331  D2FF00            JP      NC,?0023
   \   0334            ?0090:
    259                                          {
    260                                              break;
   \   0334            ?0091:
    261                                          }
    262                                          if (fselDirNo[fselDirLayer] > 0)
   \   0334  4F                LD      C,A
   \   0335  0600              LD      B,0
   \   0337  210000            LD      HL,fselDirNo
   \   033A  09                ADD     HL,BC
   \   033B  7E                LD      A,(HL)
   \   033C  B7                OR      A
   \   033D  286E              JR      Z,?0098
   \   033F            ?0092:
    263                                          {
    264          
    265                                          if(FS_CD(temp_record.name))
   \   033F  110D00            LD      DE,temp_record+13
   \   0342  CD0000            CALL    LWRD FS_CD
   \   0345  B7                OR      A
   \   0346  2865              JR      Z,?0098
   \   0348            ?0094:
    266                                          {
    267          
    268                                          fselDirLayer++;
   \   0348  210000            LD      HL,fselDirLayer
   \   034B  34                INC     (HL)
    269                                          fselDirNo[fselDirLayer] = 0;
   \   034C  ED4B0000          LD      BC,(fselDirLayer)
   \   0350  0600              LD      B,0
   \   0352  210000            LD      HL,fselDirNo
   \   0355  09                ADD     HL,BC
   \   0356  70                LD      (HL),B
    270          

⌨️ 快捷键说明

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