📄 bookmarkdel.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 18/Nov/107 22:57:00 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\common\bookmarkdel.c #
# List file = d:\case_i_d913f\ap\ap_music\list\bookmarkdel.lst #
# Object file = d:\case_i_d913f\ap\ap_music\obj\bookmarkdel.r01 #
# ASM file = d:\case_i_d913f\ap\ap_music\list\bookmarkdel.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\bookmarkdel.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME bookmarkdel(17)
\ 0000 RSEG COM_MUSICBOOKMARKD(0)
\ 0000 RSEG COM_MUSICBOOKMARKD_C(0)
\ 0000 RSEG COM_MUSICBOOKMARKD_D(0)
\ 0000 PUBLIC BMKFileDataBuffD
\ 0000 PUBLIC BmkIMKD_Reg
\ 0000 PUBLIC DeleteBookMark
\ 0000 PUBLIC DeleteBookMarkItem
\ 0000 EXTERN FS_CD
\ 0000 EXTERN FS_FClose
\ 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 GetBMkInforD
\ 0000 PUBLIC ReadBookMarkHeardD
\ 0000 PUBLIC hBmkFileD
\ 0000 PUBLIC sBmkFileNameD
\ 0000 PUBLIC sBmkRootD
\ 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_AUTO_DIRECT_L09
\ 0000 EXTERN ?STRCMP_L11
\ 0000 RSEG COM_MUSICBOOKMARKD
\ 0000 ReadBookMarkHeardD:
1 #include "actos.h"
2 #include "ap_common.h"
3 #include <MusicBookMark.h>
4
5 #define pMusicBookMarkFileD ((STRU_MusicBookMark*)BMKFileDataBuffD)
6 #define pBookMarkHeardD ((STRU_BookMarkHeard*)BMKFileDataBuffD)
7
8 #pragma memory=constseg(COM_MUSICBOOKMARKD_C)
9 const char sBmkFileNameD[]="BOOKMARKBMK";
10 const char sBmkRootD[]=": ";
11 #pragma memory=default
12
13 #pragma memory=dataseg(COM_MUSICBOOKMARKD_D)
14 HANDLE hBmkFileD;
15 uchar BmkIMKD_Reg;
16 char BMKFileDataBuffD[512];
17 #pragma memory=default
18
19 #pragma codeseg(COM_MUSICBOOKMARKD)
20
21
22 BOOL ReadBookMarkHeardD()
23 {
\ 0000 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0003 FCFF DEFW 65532
24 long CurDirBak;
25
26 BmkIMKD_Reg=input8(0x27);
27 output8(0x27,0);
28
29 CurDirBak=FS_GetCurDir();
\ 0005 CD4D00 CALL LWRD ?0071
\ 0008 DD71FE LD (IX-2),C
\ 000B DD70FF LD (IX-1),B
30 FS_CD(sBmkRootD);
\ 000E 110C00 LD DE,sBmkRootD
\ 0011 CD0000 CALL LWRD FS_CD
31
32 hBmkFileD=FS_FOpen(sBmkFileNameD,FS_OPEN_NORMAL);
\ 0014 0E00 LD C,0
\ 0016 110000 LD DE,sBmkFileNameD
\ 0019 CD0000 CALL LWRD FS_FOpen
\ 001C 220000 LD (hBmkFileD),HL
33 FS_SetCurDir(CurDirBak);
\ 001F DD4EFE LD C,(IX-2)
\ 0022 DD46FF LD B,(IX-1)
\ 0025 DD5EFC LD E,(IX-4)
\ 0028 DD56FD LD D,(IX-3)
\ 002B CD0000 CALL LWRD FS_SetCurDir
34 if(hBmkFileD==NULL)
\ 002E 2A0000 LD HL,(hBmkFileD)
\ 0031 7D LD A,L
\ 0032 B4 OR H
\ 0033 2009 JR NZ,?0003
\ 0035 ?0002:
35 {
36 output8(0x27,BmkIMKD_Reg);
\ 0035 3A0200 LD A,(BmkIMKD_Reg)
\ 0038 D327 OUT (39),A
37 return FALSE;
\ 003A 2E00 LD L,0
38 }
\ 003C 180C JR ?0004
\ 003E ?0003:
39 FS_FRead(BMKFileDataBuffD,1,hBmkFileD);
\ 003E E5 PUSH HL
\ 003F 0E01 LD C,1
\ 0041 110300 LD DE,BMKFileDataBuffD
\ 0044 CD0000 CALL LWRD FS_FRead
\ 0047 E1 POP HL
40 return TRUE;
\ 0048 2E01 LD L,1
41 }
\ 004A ?0004:
\ 004A C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 004D ?0071:
\ 004D DB27 IN A,(39)
\ 004F 320200 LD (BmkIMKD_Reg),A
\ 0052 AF XOR A
\ 0053 D327 OUT (39),A
\ 0055 CD0000 CALL LWRD FS_GetCurDir
\ 0058 DD75FC LD (IX-4),L
\ 005B DD74FD LD (IX-3),H
\ 005E C9 RET
\ 005F GetBMkInforD:
42
43 BOOL GetBMkInforD(file_location_t *curfile, int *FileBKSecNo)
44 {
\ 005F FDE5 PUSH IY
\ 0061 DDE5 PUSH IX
\ 0063 C5 PUSH BC
\ 0064 D5 PUSH DE
\ 0065 FDE1 POP IY
45 int CurRecNo;
46
47 if((pBookMarkHeardD->RecordCount>FILEBOOKMARK_MAX)||(pBookMarkHeardD->CurRecordNO>=FILEBOOKMARK_MAX))
\ 0067 ED4B0500 LD BC,(BMKFileDataBuffD+2)
\ 006B 210F00 LD HL,15
\ 006E CD0000 CALL LWRD ?SS_CMP_L02
\ 0071 380D JR C,?0007
\ 0073 010F80 LD BC,32783
\ 0076 2A0300 LD HL,(BMKFileDataBuffD)
\ 0079 78 LD A,B
\ 007A AC XOR H
\ 007B 67 LD H,A
\ 007C ED42 SBC HL,BC
\ 007E 3802 JR C,?0006
\ 0080 ?0007:
\ 0080 ?0008:
\ 0080 ?0005:
48 return FALSE;
\ 0080 187C JR ?0047
\ 0082 ?0006:
49
50 CurRecNo=0;
\ 0082 DD210000 LD IX,0
\ 0086 ?0010:
51 while(CurRecNo<pBookMarkHeardD->RecordCount)
\ 0086 CD0801 CALL LWRD ?0072
\ 0089 3062 JR NC,?0009
\ 008B ?0011:
52 {
53
54 if(pBookMarkHeardD->BMkInfor[CurRecNo].ClusterNo==curfile->ClusterNo)
\ 008B 29 ADD HL,HL
\ 008C 29 ADD HL,HL
\ 008D 29 ADD HL,HL
\ 008E 29 ADD HL,HL
\ 008F 010300 LD BC,BMKFileDataBuffD
\ 0092 09 ADD HL,BC
\ 0093 010400 LD BC,4
\ 0096 09 ADD HL,BC
\ 0097 4E LD C,(HL)
\ 0098 23 INC HL
\ 0099 46 LD B,(HL)
\ 009A 23 INC HL
\ 009B 5E LD E,(HL)
\ 009C 23 INC HL
\ 009D 56 LD D,(HL)
\ 009E 69 LD L,C
\ 009F 60 LD H,B
\ 00A0 FD4E09 LD C,(IY+9)
\ 00A3 FD460A LD B,(IY+10)
\ 00A6 A7 AND A
\ 00A7 ED42 SBC HL,BC
\ 00A9 203E JR NZ,?0015
\ 00AB EB EX DE,HL
\ 00AC FD4E0B LD C,(IY+11)
\ 00AF FD460C LD B,(IY+12)
\ 00B2 ED42 SBC HL,BC
\ 00B4 2033 JR NZ,?0015
\ 00B6 ?0012:
55 {
56 if(strcmp(pBookMarkHeardD->BMkInfor[CurRecNo].FileName,curfile->filename)==0)
\ 00B6 DDE5 PUSH IX
\ 00B8 E1 POP HL
\ 00B9 29 ADD HL,HL
\ 00BA 29 ADD HL,HL
\ 00BB 29 ADD HL,HL
\ 00BC 29 ADD HL,HL
\ 00BD 010300 LD BC,BMKFileDataBuffD
\ 00C0 09 ADD HL,BC
\ 00C1 010800 LD BC,8
\ 00C4 09 ADD HL,BC
\ 00C5 EB EX DE,HL
\ 00C6 211A00 LD HL,26
\ 00C9 FDE5 PUSH IY
\ 00CB C1 POP BC
\ 00CC 09 ADD HL,BC
\ 00CD CD0000 CALL LWRD ?STRCMP_L11
\ 00D0 7D LD A,L
\ 00D1 B4 OR H
\ 00D2 2015 JR NZ,?0015
\ 00D4 ?0014:
57 {
58 *FileBKSecNo=CurRecNo+1;
\ 00D4 DDE5 PUSH IX
\ 00D6 E1 POP HL
\ 00D7 23 INC HL
\ 00D8 E5 PUSH HL
\ 00D9 210200 LD HL,2
\ 00DC 39 ADD HL,SP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -