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

📄 select_music_list.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 2 页
字号:
     70             FS_Restore(Backbuf,FS_RESTORE_DIRINFO,0);//目录项恢复    
   \   005D  210000            LD      HL,0
   \   0060  E5                PUSH    HL
   \   0061  CD0601            CALL    LWRD ?0036
   \   0064  E1                POP     HL
     71             return RESULT_LIST_ERR;   
   \   0065  216A00            LD      HL,106
     72            }
   \   0068  C30101            JP      LWRD ?0023
   \   006B            ?0010:
     73            
     74            if(Direct==Music_Next)
   \   006B  DD7E02            LD      A,(IX+2)
   \   006E  FE03              CP      3
   \   0070  201A              JR      NZ,?0012
   \   0072            ?0011:
     75            {
     76                if(g_music_vars.file_list_num==g_file_list_total-1)
   \   0072  2A5A00            LD      HL,(g_music_vars+90)
   \   0075  E5                PUSH    HL
   \   0076  21FFFF            LD      HL,65535
   \   0079  ED4B0000          LD      BC,(g_file_list_total)
   \   007D  09                ADD     HL,BC
   \   007E  4D                LD      C,L
   \   007F  44                LD      B,H
   \   0080  E1                POP     HL
   \   0081  A7                AND     A
   \   0082  ED42              SBC     HL,BC
   \   0084  281C              JR      Z,?0028
   \   0086            ?0013:
     77                 g_music_vars.file_list_num = 0;                               //最后一个文件读头
     78                else 
   \   0086            ?0014:
     79               g_music_vars.file_list_num++;         
   \   0086  2A5A00            LD      HL,(g_music_vars+90)
   \   0089  23                INC     HL
   \   008A  1816              JR      ?0028
   \   008C            ?0015:
   \   008C            ?0012:
     80            }
     81            
     82            else if(Direct==Music_Prev) 
   \   008C  FE04              CP      4
   \   008E  2017              JR      NZ,?0018
   \   0090            ?0017:
     83            {
     84                if(g_music_vars.file_list_num==0)
   \   0090  2A5A00            LD      HL,(g_music_vars+90)
   \   0093  7D                LD      A,L
   \   0094  B4                OR      H
   \   0095  200A              JR      NZ,?0020
   \   0097            ?0019:
     85                  g_music_vars.file_list_num = g_file_list_total-1; //从头跳到最后  
   \   0097  21FFFF            LD      HL,65535
   \   009A  ED4B0000          LD      BC,(g_file_list_total)
   \   009E  09                ADD     HL,BC
   \   009F  1801              JR      ?0028
     86                else
   \   00A1            ?0020:
     87                 g_music_vars.file_list_num--;                            
   \   00A1  2B                DEC     HL
   \   00A2            ?0028:
   \   00A2  225A00            LD      (g_music_vars+90),HL
   \   00A5            ?0021:
     88             }
     89             else                                                 //只有在选择上一首和下一首歌时才需要选择读列表文件
   \   00A5  1813              JR      ?0022
   \   00A7            ?0018:
     90             {
     91          
     92               FS_FClose(list_fp); 
   \   00A7  FDE5              PUSH    IY
   \   00A9  D1                POP     DE
   \   00AA  CD0000            CALL    LWRD FS_FClose
     93               FS_Restore(Backbuf,FS_RESTORE_DIRINFO,0);//目录项恢复     
   \   00AD  210000            LD      HL,0
   \   00B0  E5                PUSH    HL
   \   00B1  CD0601            CALL    LWRD ?0036
   \   00B4  E1                POP     HL
     94               return FALSE;   
   \   00B5  210000            LD      HL,0
     95             }
   \   00B8  1847              JR      ?0023
   \   00BA            ?0022:
   \   00BA            ?0016:
     96          //  ListTotalSector =  FS_GetFileLen(list_fp) ;   //列表文件总扇区数;
     97              CurrentSeekNum  = (long) (g_music_vars.file_list_num/7);  //取下一个列表文件偏移
   \   00BA  5D                LD      E,L
   \   00BB  54                LD      D,H
   \   00BC  010700            LD      BC,7
   \   00BF  CD0000            CALL    LWRD ?US_DIV_L02
   \   00C2  EB                EX      DE,HL
   \   00C3  48                LD      C,B
     98            FS_FSeek( CurrentSeekNum, SEEK_SET, list_fp);   //Seek 到要取文件的位置
   \   00C4  FDE5              PUSH    IY
   \   00C6  58                LD      E,B
   \   00C7  D5                PUSH    DE
   \   00C8  EB                EX      DE,HL
   \   00C9  CD0000            CALL    LWRD FS_FSeek
   \   00CC  E1                POP     HL
   \   00CD  E1                POP     HL
     99            FS_FRead(SelectListBuffer,1,list_fp); 
   \   00CE  FDE5              PUSH    IY
   \   00D0  0E01              LD      C,1
   \   00D2  110000            LD      DE,SelectListBuffer
   \   00D5  CD0000            CALL    LWRD FS_FRead
   \   00D8  E1                POP     HL
    100            list_num = g_music_vars.file_list_num%7;                  //取文件在列表中的偏移
   \   00D9  ED5B5A00          LD      DE,(g_music_vars+90)
   \   00DD  010700            LD      BC,7
   \   00E0  CD0000            CALL    LWRD ?US_MOD_L02
    101            memcpy(&g_music_vars.location,&SelectListBuffer[list_num*71+30],OneLocationBYTE); 
   \   00E3  211E00            LD      HL,SelectListBuffer+30
   \   00E6  0E47              LD      C,71
   \   00E8  CD0000            CALL    LWRD ?S_MUL_L02
   \   00EB  19                ADD     HL,DE
   \   00EC  110700            LD      DE,g_music_vars+7
   \   00EF  0E29              LD      C,41
   \   00F1  EDB0              LDIR
    102            FS_FClose(list_fp); 
   \   00F3  FDE5              PUSH    IY
   \   00F5  D1                POP     DE
   \   00F6  CD0000            CALL    LWRD FS_FClose
    103            FS_Restore(Backbuf,FS_RESTORE_DIRINFO,0);//目录项恢复  
   \   00F9  C5                PUSH    BC
   \   00FA  CD0601            CALL    LWRD ?0036
   \   00FD  E1                POP     HL
    104            return TRUE;         
   \   00FE  210100            LD      HL,1
    105                               
    106          }
   \   0101            ?0023:
   \   0101  FDE1              POP     IY
   \   0103  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0106            ?0036:
   \   0106  0E02              LD      C,2
   \   0108  110002            LD      DE,Backbuf
   \   010B  C30000            JP      LWRD FS_Restore
   \   0000                    RSEG    CSTR
   \   0000            ?0002:
   \   0000  3A                DEFB    ':'
   \   0001  00                DEFB    0
   \   0000                    RSEG    APC_SELECT_LIST
   \   0000            TIT2FileName2:
   \   0000  54495432          DEFB    'TIT2    BIN'
   \   0004  20202020
   \   0008  42494E
   \   000B  00                DEFB    0
   \   000C            TPE1FileName2:
   \   000C  54504531          DEFB    'TPE1    BIN'
   \   0010  20202020
   \   0014  42494E
   \   0017  00                DEFB    0
   \   0018            TALBFileName2:
   \   0018  54414C42          DEFB    'TALB    BIN'
   \   001C  20202020
   \   0020  42494E
   \   0023  00                DEFB    0
   \   0024            FILENAMELSIT2:
   \   0024  46494C45          DEFB    'FILENAMEBIN'
   \   0028  4E414D45
   \   002C  42494E
   \   002F  00                DEFB    0
   \   0000                    RSEG    APD_SELECT_LIST
   \   0000            SelectListBuffer:
   \   0200                    DEFS    512
   \   0200            Backbuf:
   \   0220                    DEFS    32
   \   0220                    END

Errors: none
Warnings: none
Code size: 270
Constant size: 50
Static variable size: Data(544) Iram(0)

⌨️ 快捷键说明

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