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

📄 bookmarkadd.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 3 页
字号:
    145          }
   \   025D            ?0033:
   \   025D  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0260            ?0065:
   \   0260  4D                LD      C,L
   \   0261  44                LD      B,H
   \   0262  DD5E04            LD      E,(IX+4)
   \   0265  DD5605            LD      D,(IX+5)
   \   0268  3E00              LD      A,BYTE3 GetBMkInforA
   \   026A  216500            LD      HL,LWRD GetBMkInforA
   \   026D  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0270            ?0066:
   \   0270  DD5EFE            LD      E,(IX-2)
   \   0273  DD56FF            LD      D,(IX-1)
   \   0276  7A                LD      A,D
   \   0277  07                RLCA
   \   0278  9F                SBC     A,A
   \   0279  4F                LD      C,A
   \   027A  41                LD      B,C
   \   027B  C30000            JP      LWRD FS_FSeek
   \   027E            ?0067:
   \   027E  ED5B0000          LD      DE,(hBmkFileA)
   \   0282  CD0000            CALL    LWRD FS_FClose
   \   0285  3A0200            LD      A,(BmkIMKA_Reg)
   \   0288  D327              OUT     (39),A
   \   028A  2E01              LD      L,1
   \   028C  C9                RET
   \   028D            ?0068:
   \   028D  ED5B0000          LD      DE,(hBmkFileA)
   \   0291  CD0000            CALL    LWRD FS_FClose
   \   0294  3A0200            LD      A,(BmkIMKA_Reg)
   \   0297  D327              OUT     (39),A
   \   0299  C9                RET
   \   029A            GetBookMark:
    146          
    147          /****************************************************************
    148          *Description: get the Bookmark from BOOKMARK.BMK file by current file
    149          *Arguments:
    150          *            breakpt:bookmark record
    151          *                         curfile:current file
    152          * Returns:
    153          *            TRUE: Successful,
    154          *            FALSE: Fail.
    155          * Notes:
    156          ****************************************************************/
    157          BOOL GetBookMark(STRU_MusicBookMark *bookmark,file_location_t *curfile)
    158          {
   \   029A  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   029D  FEFF              DEFW    65534
    159              int FileBKSecNo;
    160          
    161                  if(!ReadBookMarkHeardA())
   \   029F  3E00              LD      A,BYTE3 ReadBookMarkHeardA
   \   02A1  210000            LD      HL,LWRD ReadBookMarkHeardA
   \   02A4  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02A7  2C                INC     L
   \   02A8  2D                DEC     L
   \   02A9  281D              JR      Z,?0053
   \   02AB            ?0034:
    162                          return FALSE;
   \   02AB            ?0035:
    163          
    164              if(!GetBMkInforA(curfile,&FileBKSecNo))
   \   02AB  210000            LD      HL,0
   \   02AE  39                ADD     HL,SP
   \   02AF  CD6002            CALL    LWRD ?0065
   \   02B2  2C                INC     L
   \   02B3  2D                DEC     L
   \   02B4  280F              JR      Z,?0054
   \   02B6            ?0036:
    165              {
    166                  FS_FClose(hBmkFileA);
    167                  output8(0x27,BmkIMKA_Reg); 
    168                  return FALSE;
    169              }
   \   02B6            ?0037:
    170          
    171              if(!FS_FSeek(FileBKSecNo,FS_SEEK_FFROMSTART,hBmkFileA))
   \   02B6  2A0000            LD      HL,(hBmkFileA)
   \   02B9  E5                PUSH    HL
   \   02BA  0E00              LD      C,0
   \   02BC  C5                PUSH    BC
   \   02BD  CD7002            CALL    LWRD ?0066
   \   02C0  E1                POP     HL
   \   02C1  E1                POP     HL
   \   02C2  B7                OR      A
   \   02C3  2007              JR      NZ,?0039
   \   02C5            ?0038:
    172              {
    173                  FS_FClose(hBmkFileA);
   \   02C5            ?0054:
   \   02C5  CD8D02            CALL    LWRD ?0068
    174                  output8(0x27,BmkIMKA_Reg); 
    175                  return FALSE;
   \   02C8            ?0053:
   \   02C8  2E00              LD      L,0
    176              }        
   \   02CA  181B              JR      ?0040
   \   02CC            ?0039:
    177              FS_FRead(BMKFileDataBuffA,1,hBmkFileA);
   \   02CC  2A0000            LD      HL,(hBmkFileA)
   \   02CF  E5                PUSH    HL
   \   02D0  CD5D00            CALL    LWRD ?0063
   \   02D3  E1                POP     HL
    178              FS_FClose(hBmkFileA);       
   \   02D4  CD8D02            CALL    LWRD ?0068
    179              output8(0x27,BmkIMKA_Reg);
    180          
    181              memcpy(bookmark,BMKFileDataBuffA,sizeof(STRU_MusicBookMark));
   \   02D7  016E01            LD      BC,366
   \   02DA  DD5E02            LD      E,(IX+2)
   \   02DD  DD5603            LD      D,(IX+3)
   \   02E0  210300            LD      HL,BMKFileDataBuffA
   \   02E3  EDB0              LDIR
    182                      
    183              return TRUE;
   \   02E5  2E01              LD      L,1
    184          
    185          }
   \   02E7            ?0040:
   \   02E7  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   02EA            CreateBookMarkFile:
    186          
    187          BOOL CreateBookMarkFile()
    188          {
   \   02EA  C5                PUSH    BC
   \   02EB  D5                PUSH    DE
   \   02EC  DDE5              PUSH    IX
   \   02EE  F5                PUSH    AF
   \   02EF  F5                PUSH    AF
    189                  int SecCount;
    190                  long CurDirBak;
    191                  
    192              BmkIMKA_Reg=input8(0x27);
    193              output8(0x27,0);
    194          
    195              CurDirBak=FS_GetCurDir();
   \   02F0  CD4000            CALL    LWRD ?0061
   \   02F3  E5                PUSH    HL
   \   02F4  210200            LD      HL,2
   \   02F7  39                ADD     HL,SP
   \   02F8  D1                POP     DE
   \   02F9  73                LD      (HL),E
   \   02FA  23                INC     HL
   \   02FB  72                LD      (HL),D
   \   02FC  23                INC     HL
   \   02FD  71                LD      (HL),C
   \   02FE  23                INC     HL
   \   02FF  70                LD      (HL),B
    196              FS_CD(sBmkRootA);
   \   0300  CD4B00            CALL    LWRD ?0062
    197          
    198              hBmkFileA=FS_FOpen(sBmkFileNameA,FS_OPEN_NORMAL);
    199              if(hBmkFileA!=NULL)
   \   0303  7D                LD      A,L
   \   0304  B4                OR      H
   \   0305  2814              JR      Z,?0042
   \   0307            ?0041:
    200              {
    201                          FS_FClose(hBmkFileA);       
   \   0307  EB                EX      DE,HL
   \   0308  CD0000            CALL    LWRD FS_FClose
    202                                  FS_SetCurDir(CurDirBak);
   \   030B  210000            LD      HL,0
   \   030E  39                ADD     HL,SP
   \   030F  5E                LD      E,(HL)
   \   0310  23                INC     HL
   \   0311  56                LD      D,(HL)
   \   0312  23                INC     HL
   \   0313  4E                LD      C,(HL)
   \   0314  23                INC     HL
   \   0315  46                LD      B,(HL)
   \   0316  CD0000            CALL    LWRD FS_SetCurDir
    203                                  output8(0x27,BmkIMKA_Reg);
   \   0319  1824              JR      ?0060
    204                      return FALSE;
    205              }
   \   031B            ?0042:
    206          
    207              FS_FRemove(sBmkFileNameA);             //zhangxs add 
   \   031B  110000            LD      DE,sBmkFileNameA
   \   031E  CD0000            CALL    LWRD FS_FRemove
    208              hBmkFileA=FS_FCreate(sBmkFileNameA);
   \   0321  110000            LD      DE,sBmkFileNameA
   \   0324  CD0000            CALL    LWRD FS_FCreate
   \   0327  220000            LD      (hBmkFileA),HL
    209                  FS_SetCurDir(CurDirBak);
   \   032A  210000            LD      HL,0
   \   032D  39                ADD     HL,SP
   \   032E  5E                LD      E,(HL)
   \   032F  23                INC     HL
   \   0330  56                LD      D,(HL)
   \   0331  23                INC     HL
   \   0332  4E                LD      C,(HL)
   \   0333  23                INC     HL
   \   0334  46                LD      B,(HL)
   \   0335  CD0000            CALL    LWRD FS_SetCurDir
    210              if(hBmkFileA==NULL)
   \   0338  2A0000            LD      HL,(hBmkFileA)
   \   033B  7D                LD      A,L
   \   033C  B4                OR      H
   \   033D  2009              JR      NZ,?0044
   \   033F            ?0043:
    211              {
    212                  output8(0x27,BmkIMKA_Reg);
   \   033F            ?0060:
   \   033F  3A0200            LD      A,(BmkIMKA_Reg)
   \   0342  D327              OUT     (39),A
    213                  return FALSE;
   \   0344  2E00              LD      L,0
    214              }    
   \   0346  182A              JR      ?0049
   \   0348            ?0044:
    215              memset(BMKFileDataBuffA,0,sizeof(BMKFileDataBuffA));
   \   0348  010002            LD      BC,512
   \   034B  110300            LD      DE,BMKFileDataBuffA
   \   034E  69                LD      L,C
   \   034F  CD0000            CALL    LWRD ?MEMSET_L11
    216          
    217                  for(SecCount=0;SecCount<(FILEBOOKMARK_MAX+1);SecCount++)
   \   0352  DD210000          LD      IX,0
   \   0356            ?0046:
   \   0356  011080            LD      BC,32784
   \   0359  DDE5              PUSH    IX
   \   035B  E1                POP     HL
   \   035C  78                LD      A,B
   \   035D  AC                XOR     H
   \   035E  67                LD      H,A
   \   035F  ED42              SBC     HL,BC
   \   0361  300C              JR      NC,?0045
   \   0363            ?0047:
    218                  FS_FWrite(BMKFileDataBuffA,1,hBmkFileA);
   \   0363  2A0000            LD      HL,(hBmkFileA)
   \   0366  E5                PUSH    HL
   \   0367  CD9701            CALL    LWRD ?0064
   \   036A  E1                POP     HL
   \   036B  DD23              INC     IX
   \   036D  18E7              JR      ?0046
   \   036F            ?0045:
    219          
    220              FS_FClose(hBmkFileA);       
   \   036F  CD7E02            CALL    LWRD ?0067
    221              output8(0x27,BmkIMKA_Reg);
    222              return TRUE;
    223          }
   \   0372            ?0049:
   \   0372  F1                POP     AF
   \   0373  F1                POP     AF
   \   0374  DDE1              POP     IX
   \   0376  D1                POP     DE
   \   0377  C1                POP     BC
   \   0378  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
    224          
   \   0000                    RSEG    COM_MUSICBOOKMARKA_C
   \   0000            sBmkFileNameA:
   \   0000  424F4F4B          DEFB    'BOOKMARKBMK'
   \   0004  4D41524B
   \   0008  424D4B
   \   000B  00                DEFB    0
   \   000C            sBmkRootA:
   \   000C  3A20              DEFB    ': '
   \   000E  00                DEFB    0
   \   0000                    RSEG    COM_MUSICBOOKMARKA_D
   \   0000            hBmkFileA:
   \   0002                    DEFS    2
   \   0002            BmkIMKA_Reg:
   \   0003                    DEFS    1
   \   0003            BMKFileDataBuffA:
   \   0203                    DEFS    512
   \   0203                    END

Errors: none
Warnings: none
Code size: 891
Constant size: 15
Static variable size: Data(515) Iram(0)

⌨️ 快捷键说明

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