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

📄 bookmarkadd.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/Nov/107  22:56:58 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\common\bookmarkadd.c             #
#       List file     =  d:\case_i_d913f\ap\ap_music\list\bookmarkadd.lst    #
#       Object file   =  d:\case_i_d913f\ap\ap_music\obj\bookmarkadd.r01     #
#       ASM file      =  d:\case_i_d913f\ap\ap_music\list\bookmarkadd.s01    #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\ap_music\Obj\ -e -K    #
#                        -w -gA -z9 -RCODE -r0 -DNAPDEBUG                    #
#                        -LD:\case_i_d913f\ap\ap_music\List\ -q -t8          #
#                        -AD:\case_i_d913f\ap\ap_music\List\                 #
#                        -ND:\case_i_d913f\ap\ap_music\List\ -X              #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        D:\CASE_I_D913F\AP\COMMON\bookmarkadd.c             #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    bookmarkadd(17)
   \   0000                    RSEG    COM_MUSICBOOKMARKA(0)
   \   0000                    RSEG    COM_MUSICBOOKMARKA_C(0)
   \   0000                    RSEG    COM_MUSICBOOKMARKA_D(0)
   \   0000                    PUBLIC  AddBMkInfor
   \   0000                    PUBLIC  AddBookMarkItem
   \   0000                    PUBLIC  BMKFileDataBuffA
   \   0000                    PUBLIC  BmkIMKA_Reg
   \   0000                    PUBLIC  CreateBookMarkFile
   \   0000                    EXTERN  FS_CD
   \   0000                    EXTERN  FS_FClose
   \   0000                    EXTERN  FS_FCreate
   \   0000                    EXTERN  FS_FOpen
   \   0000                    EXTERN  FS_FRead
   \   0000                    EXTERN  FS_FRemove
   \   0000                    EXTERN  FS_FSeek
   \   0000                    EXTERN  FS_FWrite
   \   0000                    EXTERN  FS_GetCurDir
   \   0000                    EXTERN  FS_SetCurDir
   \   0000                    PUBLIC  GetBMkInforA
   \   0000                    PUBLIC  GetBookMark
   \   0000                    PUBLIC  ReadBookMarkHeardA
   \   0000                    PUBLIC  hBmkFileA
   \   0000                    PUBLIC  sBmkFileNameA
   \   0000                    PUBLIC  sBmkRootA
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?S_MUL_L02
   \   0000                    EXTERN  ?SS_CMP_L02
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_LEAVE_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?ENT_PARM_DIRECT_L09
   \   0000                    EXTERN  ?ENT_AUTO_DIRECT_L09
   \   0000                    EXTERN  ?MEMSET_L11
   \   0000                    EXTERN  ?STRCMP_L11
   \   0000                    RSEG    COM_MUSICBOOKMARKA
   \   0000            ReadBookMarkHeardA:
      1          /*******************************************************************************
      2          *                ACTOS AP
      3          *        ADPCM player basal module implementation 
      4          *        (c) Copyright Actions Co,Ld.                             
      5          *
      6          *        2007.3  by mzh
      7          *******************************************************************************/
      8          
      9          #include "actos.h"
     10          #include "ap_common.h"
     11          #include <MusicBookMark.h>
     12          
     13          #define pMusicBookMarkFileA ((STRU_MusicBookMark*)BMKFileDataBuffA)
     14          #define pBookMarkHeardA ((STRU_BookMarkHeard*)BMKFileDataBuffA)
     15          
     16          #pragma memory=constseg(COM_MUSICBOOKMARKA_C)
     17          const char sBmkFileNameA[]="BOOKMARKBMK";
     18          const char sBmkRootA[]=": ";
     19          #pragma memory=default
     20          
     21          #pragma memory=dataseg(COM_MUSICBOOKMARKA_D)
     22          HANDLE hBmkFileA;
     23          uchar BmkIMKA_Reg;
     24          char BMKFileDataBuffA[512];
     25          #pragma memory=default
     26          
     27          #pragma codeseg(COM_MUSICBOOKMARKA)
     28          
     29          BOOL ReadBookMarkHeardA()
     30          {
   \   0000  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0003  FCFF              DEFW    65532
     31                  long CurDirBak;
     32          
     33              BmkIMKA_Reg=input8(0x27);
     34              output8(0x27,0);
     35          
     36                  CurDirBak=FS_GetCurDir();
   \   0005  CD4000            CALL    LWRD ?0061
   \   0008  DD75FC            LD      (IX-4),L
   \   000B  DD74FD            LD      (IX-3),H
   \   000E  DD71FE            LD      (IX-2),C
   \   0011  DD70FF            LD      (IX-1),B
     37              FS_CD(sBmkRootA);
   \   0014  CD4B00            CALL    LWRD ?0062
     38          
     39              hBmkFileA=FS_FOpen(sBmkFileNameA,FS_OPEN_NORMAL);
     40              FS_SetCurDir(CurDirBak);
   \   0017  DD4EFE            LD      C,(IX-2)
   \   001A  DD46FF            LD      B,(IX-1)
   \   001D  DD5EFC            LD      E,(IX-4)
   \   0020  DD56FD            LD      D,(IX-3)
   \   0023  CD0000            CALL    LWRD FS_SetCurDir
     41              if(hBmkFileA==NULL)
   \   0026  2A0000            LD      HL,(hBmkFileA)
   \   0029  7D                LD      A,L
   \   002A  B4                OR      H
   \   002B  2009              JR      NZ,?0003
   \   002D            ?0002:
     42              {
     43                      output8(0x27,BmkIMKA_Reg);
   \   002D  3A0200            LD      A,(BmkIMKA_Reg)
   \   0030  D327              OUT     (39),A
     44                      return FALSE;
   \   0032  2E00              LD      L,0
     45              }       
   \   0034  1807              JR      ?0004
   \   0036            ?0003:
     46              FS_FRead(BMKFileDataBuffA,1,hBmkFileA);
   \   0036  E5                PUSH    HL
   \   0037  CD5D00            CALL    LWRD ?0063
   \   003A  E1                POP     HL
     47                  return TRUE;
   \   003B  2E01              LD      L,1
     48          }
   \   003D            ?0004:
   \   003D  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0040            ?0061:
   \   0040  DB27              IN      A,(39)
   \   0042  320200            LD      (BmkIMKA_Reg),A
   \   0045  AF                XOR     A
   \   0046  D327              OUT     (39),A
   \   0048  C30000            JP      LWRD FS_GetCurDir
   \   004B            ?0062:
   \   004B  110C00            LD      DE,sBmkRootA
   \   004E  CD0000            CALL    LWRD FS_CD
   \   0051  0E00              LD      C,0
   \   0053  110000            LD      DE,sBmkFileNameA
   \   0056  CD0000            CALL    LWRD FS_FOpen
   \   0059  220000            LD      (hBmkFileA),HL
   \   005C  C9                RET
   \   005D            ?0063:
   \   005D  0E01              LD      C,1
   \   005F  110300            LD      DE,BMKFileDataBuffA
   \   0062  C30000            JP      LWRD FS_FRead
   \   0065            GetBMkInforA:
     49          
     50          BOOL GetBMkInforA(file_location_t *curfile, int *FileBKSecNo)
     51          {
   \   0065  FDE5              PUSH    IY
   \   0067  DDE5              PUSH    IX
   \   0069  C5                PUSH    BC
   \   006A  D5                PUSH    DE
   \   006B  FDE1              POP     IY
     52              int CurRecNo;
     53          
     54                  if(pBookMarkHeardA->RecordCount>FILEBOOKMARK_MAX)
   \   006D  ED4B0500          LD      BC,(BMKFileDataBuffA+2)
   \   0071  210F00            LD      HL,15
   \   0074  CD0000            CALL    LWRD ?SS_CMP_L02
   \   0077  3004              JR      NC,?0006
   \   0079            ?0005:
     55                          pBookMarkHeardA->RecordCount=0;
   \   0079  6C                LD      L,H
   \   007A  220500            LD      (BMKFileDataBuffA+2),HL
   \   007D            ?0006:
     56                  if(pBookMarkHeardA->CurRecordNO>=FILEBOOKMARK_MAX)
   \   007D  010F80            LD      BC,32783
   \   0080  2A0300            LD      HL,(BMKFileDataBuffA)
   \   0083  78                LD      A,B
   \   0084  AC                XOR     H
   \   0085  67                LD      H,A
   \   0086  ED42              SBC     HL,BC
   \   0088  3806              JR      C,?0008
   \   008A            ?0007:
     57                          pBookMarkHeardA->CurRecordNO=0;
   \   008A  210000            LD      HL,0
   \   008D  220300            LD      (BMKFileDataBuffA),HL
   \   0090            ?0008:
     58          
     59              CurRecNo=0;
   \   0090  DD210000          LD      IX,0
   \   0094            ?0010:
     60              while(CurRecNo<pBookMarkHeardA->RecordCount)
   \   0094  ED4B0500          LD      BC,(BMKFileDataBuffA+2)
   \   0098  DDE5              PUSH    IX
   \   009A  E1                POP     HL
   \   009B  CD0000            CALL    LWRD ?SS_CMP_L02
   \   009E  3062              JR      NC,?0009
   \   00A0            ?0011:
     61              {
     62                  
     63                  if(pBookMarkHeardA->BMkInfor[CurRecNo].ClusterNo==curfile->ClusterNo)
   \   00A0  29                ADD     HL,HL
   \   00A1  29                ADD     HL,HL
   \   00A2  29                ADD     HL,HL
   \   00A3  29                ADD     HL,HL
   \   00A4  010300            LD      BC,BMKFileDataBuffA
   \   00A7  09                ADD     HL,BC
   \   00A8  010400            LD      BC,4
   \   00AB  09                ADD     HL,BC
   \   00AC  4E                LD      C,(HL)
   \   00AD  23                INC     HL
   \   00AE  46                LD      B,(HL)
   \   00AF  23                INC     HL
   \   00B0  5E                LD      E,(HL)
   \   00B1  23                INC     HL
   \   00B2  56                LD      D,(HL)
   \   00B3  69                LD      L,C
   \   00B4  60                LD      H,B
   \   00B5  FD4E09            LD      C,(IY+9)
   \   00B8  FD460A            LD      B,(IY+10)
   \   00BB  A7                AND     A
   \   00BC  ED42              SBC     HL,BC
   \   00BE  203E              JR      NZ,?0015
   \   00C0  EB                EX      DE,HL
   \   00C1  FD4E0B            LD      C,(IY+11)
   \   00C4  FD460C            LD      B,(IY+12)
   \   00C7  ED42              SBC     HL,BC
   \   00C9  2033              JR      NZ,?0015
   \   00CB            ?0012:
     64                  {
     65                      if(strcmp(pBookMarkHeardA->BMkInfor[CurRecNo].FileName,curfile->filename)==0)
   \   00CB  DDE5              PUSH    IX
   \   00CD  E1                POP     HL
   \   00CE  29                ADD     HL,HL
   \   00CF  29                ADD     HL,HL
   \   00D0  29                ADD     HL,HL
   \   00D1  29                ADD     HL,HL
   \   00D2  010300            LD      BC,BMKFileDataBuffA
   \   00D5  09                ADD     HL,BC
   \   00D6  010800            LD      BC,8
   \   00D9  09                ADD     HL,BC
   \   00DA  EB                EX      DE,HL
   \   00DB  211A00            LD      HL,26
   \   00DE  FDE5              PUSH    IY
   \   00E0  C1                POP     BC
   \   00E1  09                ADD     HL,BC
   \   00E2  CD0000            CALL    LWRD ?STRCMP_L11
   \   00E5  7D                LD      A,L
   \   00E6  B4                OR      H
   \   00E7  2015              JR      NZ,?0015
   \   00E9            ?0014:
     66                                  {
     67                          *FileBKSecNo=CurRecNo+1;
   \   00E9  DDE5              PUSH    IX
   \   00EB  E1                POP     HL
   \   00EC  23                INC     HL
   \   00ED  E5                PUSH    HL
   \   00EE  210200            LD      HL,2
   \   00F1  39                ADD     HL,SP
   \   00F2  7E                LD      A,(HL)
   \   00F3  23                INC     HL
   \   00F4  66                LD      H,(HL)
   \   00F5  6F                LD      L,A
   \   00F6  C1                POP     BC
   \   00F7  71                LD      (HL),C
   \   00F8  23                INC     HL
   \   00F9  70                LD      (HL),B
     68                          return TRUE;                    // have record 
   \   00FA  2E01              LD      L,1
     69                      }
   \   00FC  1817              JR      ?0016
   \   00FE            ?0015:
   \   00FE            ?0013:
     70                  }
     71                  CurRecNo++;
   \   00FE  DD23              INC     IX

⌨️ 快捷键说明

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