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

📄 sub_function1.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 3 页
字号:
   \   01F5            ?0068:
    254                  if (FSELGetNext(g_voice_vars.location.filename) != 0)
   \   01F5  CDCB02            CALL    LWRD ?0194
   \   01F8  2C                INC     L
   \   01F9  2D                DEC     L
   \   01FA  C2AD02            JP      NZ,?0186
   \   01FD            ?0069:
    255                  {
    256                      return 1;
    257                  }
   \   01FD            ?0070:
    258          
    259                  if (FSELGetErrID() == 0)
   \   01FD  CD1401            CALL    LWRD ?0196
   \   0200  2C                INC     L
   \   0201  2D                DEC     L
   \   0202  CAC102            JP      Z,?0106
   \   0205            ?0071:
    260                  {
    261                      return 0;//非法
    262                  }
   \   0205            ?0072:
    263          
    264                  if (g_voice_vars.location.disk == 'H')
   \   0205  3A0600            LD      A,(g_voice_vars+6)
   \   0208  FE48              CP      72
   \   020A  2839              JR      Z,?0187
   \   020C            ?0073:
    265                  {
    266                      DisplayErrInfor(CFILEOUT);//显示卡无文件
    267                      return 0; //因为前面已从 'C' 查到 'H' 了,已查完,未找到文件
    268                  }
   \   020C            ?0074:
    269                  else //还在 'C'
    270                  {
    271                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   020C  CD1C01            CALL    LWRD ?0198
    272          
    273                      //检测 sd 卡是否存在
    274                  if ((DRV_DetectUD(1) == 0x20)&&((g_DiskStateFlag & SetCardOKFlag_def)!=0))
   \   020F  1E01              LD      E,1
   \   0211  CD0000            CALL    LWRD DRV_DetectUD
   \   0214  FE20              CP      32
   \   0216  C2C102            JP      NZ,?0106
   \   0219  3A0000            LD      A,(g_DiskStateFlag)
   \   021C  CB5F              BIT     3,A
   \   021E  CAC102            JP      Z,?0106
   \   0221            ?0078:
   \   0221            ?0077:
   \   0221            ?0075:
    275                      {//有卡
    276                          g_voice_vars.location.disk = 'H';
   \   0221  3E48              LD      A,72
   \   0223  320600            LD      (g_voice_vars+6),A
    277                          if (FSELInit(FSEL_TYPE_VOICE, FSEL_ALL_SEQUENCE,  FSEL_TYPE_COMMONDIR, 'H'))
   \   0226  4F                LD      C,A
   \   0227  C5                PUSH    BC
   \   0228  0E00              LD      C,0
   \   022A  C5                PUSH    BC
   \   022B  CD0A01            CALL    LWRD ?0195
   \   022E  F1                POP     AF
   \   022F  F1                POP     AF
   \   0230  2C                INC     L
   \   0231  2D                DEC     L
   \   0232  2807              JR      Z,?0082
   \   0234            ?0079:
    278                          {
    279                              if (FSELGetNext(g_voice_vars.location.filename) != 0)
   \   0234  CDCB02            CALL    LWRD ?0194
   \   0237  2C                INC     L
   \   0238  2D                DEC     L
   \   0239  2072              JR      NZ,?0186
   \   023B            ?0081:
    280                              {
    281                                  return 1;
    282                              }
   \   023B            ?0082:
   \   023B            ?0080:
    283                          }
    284                          result = FSELGetErrID();
   \   023B  CD1401            CALL    LWRD ?0196
    285                          if (FSELGetErrID() != 0)
   \   023E  CD1401            CALL    LWRD ?0196
   \   0241  2C                INC     L
   \   0242  2D                DEC     L
   \   0243  287C              JR      Z,?0106
   \   0245            ?0083:
    286                          {
    287                              DisplayErrInfor(CFILEOUT);//显示卡无文件
   \   0245            ?0187:
   \   0245  117502            LD      DE,629
   \   0248  1848              JR      ?0191
    288                              return 0;
    289                          }
   \   024A            ?0084:
    290                          return 0;//非法
    291                      }
   \   024A            ?0076:
    292                      else
    293                      {
    294                          return 0;//没卡退出
    295                      }
    296                  }
    297                  return 0;
    298              }
   \   024A            ?0062:
    299              else //g_voice_vars.location.disk == 'H'
    300              {
    301                  if (FSELGetNext(g_voice_vars.location.filename) != 0)
   \   024A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   024D  2C                INC     L
   \   024E  2D                DEC     L
   \   024F  205C              JR      NZ,?0186
   \   0251            ?0085:
    302                  {
    303                      return 1;//找到文件
    304                  }
   \   0251            ?0086:
    305          
    306                  if (FSELGetErrID() == 0)
   \   0251  CD1401            CALL    LWRD ?0196
   \   0254  2C                INC     L
   \   0255  2D                DEC     L
   \   0256  2869              JR      Z,?0106
   \   0258            ?0087:
    307                  {
    308                      return 0;//非法
    309                  }
   \   0258            ?0088:
    310          
    311                  //再查一次,因为可能这目录前面还有文件(虽然后面已无文件)
    312                  if (InitFileSelector() == 0)
   \   0258  3E00              LD      A,BYTE3 InitFileSelector
   \   025A  212C00            LD      HL,LWRD InitFileSelector
   \   025D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0260  7D                LD      A,L
   \   0261  B4                OR      H
   \   0262  285D              JR      Z,?0106
   \   0264            ?0089:
    313                  {
    314                      return 0;
    315                  }
   \   0264            ?0090:
    316          
    317                  if (FSELGetNext(g_voice_vars.location.filename) != 0)
   \   0264  CDCB02            CALL    LWRD ?0194
   \   0267  2C                INC     L
   \   0268  2D                DEC     L
   \   0269  2042              JR      NZ,?0186
   \   026B            ?0091:
    318                  {
    319                      return 1;//找到文件
    320                  }
   \   026B            ?0092:
    321          
    322                  if (FSELGetErrID() == 0)
   \   026B  CD1401            CALL    LWRD ?0196
   \   026E  2C                INC     L
   \   026F  2D                DEC     L
   \   0270  284F              JR      Z,?0106
   \   0272            ?0093:
    323                  {
    324                      return 0;//非法
    325                  }
   \   0272            ?0094:
    326          
    327                  if (g_voice_vars.location.disk == 'C')
   \   0272  3A0600            LD      A,(g_voice_vars+6)
   \   0275  FE43              CP      67
   \   0277  2816              JR      Z,?0193
   \   0279            ?0095:
    328                  {
    329                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
    330                      return 0; //因为前面已从 'H' 查到 'C' 了,已查完,未找到文件
    331                  }
   \   0279            ?0096:
    332                  DisplayErrInfor(CFILEOUT);//显示卡无文件
   \   0279  117502            LD      DE,629
   \   027C  CD1F01            CALL    LWRD ?0197
    333          
    334                  g_voice_vars.location.disk = 'C';
   \   027F  3E43              LD      A,67
   \   0281  320600            LD      (g_voice_vars+6),A
    335                  if ((g_DiskStateFlag & SetDiskOKFlag_def) == 0)
   \   0284  3A0000            LD      A,(g_DiskStateFlag)
   \   0287  CB7F              BIT     7,A
   \   0289  2836              JR      Z,?0106
   \   028B            ?0097:
    336                  {
    337                      return 0;
    338                  }
   \   028B            ?0098:
    339          
    340                  if ((g_DiskStateFlag & SetDiskNoFile_def) != 0)
   \   028B  CB77              BIT     6,A
   \   028D  2808              JR      Z,?0100
   \   028F            ?0099:
    341                  {
    342                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   028F            ?0193:
   \   028F  117402            LD      DE,628
   \   0292            ?0191:
   \   0292  CD1F01            CALL    LWRD ?0197
    343                      return 0;
   \   0295  182A              JR      ?0106
    344                  }
   \   0297            ?0100:
    345          
    346                  if (FSELInit(FSEL_TYPE_VOICE, FSEL_ALL_SEQUENCE,  FSEL_TYPE_COMMONDIR, 'C'))
   \   0297  0E43              LD      C,67
   \   0299  C5                PUSH    BC
   \   029A  0E00              LD      C,0
   \   029C  C5                PUSH    BC
   \   029D  CD0A01            CALL    LWRD ?0195
   \   02A0  F1                POP     AF
   \   02A1  F1                POP     AF
   \   02A2  2C                INC     L
   \   02A3  2D                DEC     L
   \   02A4  280C              JR      Z,?0104
   \   02A6            ?0101:
    347                  {
    348                      if (FSELGetNext(g_voice_vars.location.filename) != 0)
   \   02A6  CDCB02            CALL    LWRD ?0194
   \   02A9  2C                INC     L
   \   02AA  2D                DEC     L
   \   02AB  2805              JR      Z,?0104
   \   02AD            ?0103:
    349                      {
    350                          return 1;//找到文件
   \   02AD            ?0186:
   \   02AD  210100            LD      HL,1
    351                      }
   \   02B0  1812              JR      ?0107
   \   02B2            ?0104:
   \   02B2            ?0102:
    352                  }
    353                  result = FSELGetErrID();
   \   02B2  CD1401            CALL    LWRD ?0196
    354          
    355                  if (result != 0)
   \   02B5  7D                LD      A,L
   \   02B6  B7                OR      A
   \   02B7  2808              JR      Z,?0106
   \   02B9            ?0105:
    356                  {
    357                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   02B9  CD1C01            CALL    LWRD ?0198
    358                      g_DiskStateFlag |= SetDiskNoFile_def;//标志磁盘无文件
   \   02BC  210000            LD      HL,g_DiskStateFlag
   \   02BF  CBF6              SET     6,(HL)
    359                      return 0;//
    360                  }
   \   02C1            ?0106:
    361                  return 0;
   \   02C1  210000            LD      HL,0
    362              }
   \   02C4            ?0107:
   \   02C4  DDE1              POP     IX
   \   02C6  D1                POP     DE
   \   02C7  C1                POP     BC
   \   02C8  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   02CB            ?0194:
   \   02CB  112000            LD      DE,g_voice_vars+32
   \   02CE  3E00              LD      A,BYTE3 fselGetNextFile
   \   02D0  210000            LD      HL,LWRD fselGetNextFile
   \   02D3  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
    363          }
    364          
    365          
    366          /*
    367          // error information defines in file selector
    368          #define FSEL_ERR_OUTOF          1
    369          #define FSEL_ERR_EMPTY          2
    370          #define FSEL_ERR_SETDIR         3
    371          #define FSEL_ERR_SETFILE        4
    372          #define FSEL_ERR_EXCEPTION      5
    373          
    374          
    375          #define FSEL_ERR_FS             20
    376          #define FSEL_ERR_FAIL           21
    377          #define FSEL_ERR_DISK           22
    378          #define FSEL_ERR_PLAYLIST       23
    379          */
    380          
    381          /*
    382          //error information display
    383          1) 磁盘错  : 在 main.c 中已报
    384          2) 卡错    : 在 main.c 中已报
    385          
    386          3) 磁盘无文件
    387          4) 卡无文件
    388          
    389          5) 空间满    :在 ui_follow.c 文件中已报
    390          7) 目录已满     :在 ui_follow.c 文件中已报
    391          
    392          6) 电量不足!:
    393          8) 格式错误
    394          9) 卡已拔出
    395          
    396          */
   \   02D6                    END

Errors: none
Warnings: none
Code size: 726
Constant size: 0
Static variable size: Data(0) Iram(0)

⌨️ 快捷键说明

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