📄 ui_delete3.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 25/Dec/106 17:00:39 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d90f\ap\common\ui_delete3.c #
# List file = d:\case_i_d90f\ap\ap_music\list\ui_delete3.lst #
# Object file = d:\case_i_d90f\ap\ap_music\obj\ui_delete3.r01 #
# ASM file = d:\case_i_d90f\ap\ap_music\list\ui_delete3.s01 #
# Command line = -v0 -mb -OD:\case_i_d90f\ap\ap_music\Obj\ -e -K -w #
# -gA -z9 -RCODE -r0 -DNAPDEBUG #
# -LD:\case_i_d90f\ap\ap_music\List\ -q -t8 #
# -AD:\case_i_d90f\ap\ap_music\List\ #
# -ND:\case_i_d90f\ap\ap_music\List\ -X #
# -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\ #
# D:\CASE_I_D90F\AP\COMMON\ui_delete3.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME ui_delete3(17)
\ 0000 RSEG COM_CTRL(0)
\ 0000 RSEG CONST(0)
\ 0000 RSEG IDM_COM_FSL_D(0)
\ 0000 EXTERN FS_GetName
\ 0000 EXTERN PutS
\ 0000 EXTERN ResShowMultiString
\ 0000 EXTERN ResShowPic
\ 0000 EXTERN SetPenColor
\ 0000 EXTERN SetTextOutMode
\ 0000 EXTERN SetTextPos
\ 0000 PUBLIC ShowFilelist
\ 0000 PUBLIC com_delname
\ 0000 PUBLIC delete_text
\ 0000 EXTERN file_bck_pic
\ 0000 EXTERN file_pos
\ 0000 EXTERN fselGetByNO
\ 0000 PUBLIC read_idm_data_filelist
\ 0000 PUBLIC reinit_idm_buf_filelist
\ 0000 PUBLIC show_delete_menu
\ 0000 EXTERN ui_popup_list
\ 0000 EXTERN unitochar
\ 0000 PUBLIC write_idm_data_filelist
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?SS_MOD_L02
\ 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 RSEG COM_CTRL
\ 0000 write_idm_data_filelist:
1 /*
2 *******************************************************************************
3 * ACTOS AP
4 * ap common lib file, part 2
5 *
6 * (c) Copyright, Actions Co,Ld.
7 * All Right Reserved
8 *
9 * $Id: ui_delete3.c,v 1.1.1.1 2006/05/22 03:23:59 selina Exp $
10 *******************************************************************************
11 */
12 #pragma codeseg(COM_CTRL)
13
14 #include "ap_common.h"
15 #pragma memory=dataseg(IDM_COM_FSL_D)
16 char com_delname[6][50];
17 #pragma memory=default
18 extern const char file_pos[6];
19 extern const WORD file_bck_pic[6];
20 const WORD delete_text[2] ={DELENO,DELEYES};
21
22 //向IDM数组写数据
23 BOOL write_idm_data_filelist(char *name, int count)
24 {
\ 0000 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0003 0000 DEFW 0
25 byte status;
26 status = input8(0x05);
\ 0005 DB05 IN A,(5)
\ 0007 5F LD E,A
27 output8(0x05, 0xf6);
\ 0008 3EF6 LD A,246
\ 000A D305 OUT (5),A
28 memcpy( com_delname[count], name, 50);
\ 000C D5 PUSH DE
\ 000D 013200 LD BC,50
\ 0010 DD5E04 LD E,(IX+4)
\ 0013 DD5605 LD D,(IX+5)
\ 0016 CD0000 CALL LWRD ?S_MUL_L02
\ 0019 210000 LD HL,com_delname
\ 001C 19 ADD HL,DE
\ 001D EB EX DE,HL
\ 001E DD6E02 LD L,(IX+2)
\ 0021 DD6603 LD H,(IX+3)
\ 0024 ?0025:
\ 0024 EDB0 LDIR
\ 0026 D1 POP DE
29 output8(0x05, status);
\ 0027 7B LD A,E
\ 0028 D305 OUT (5),A
30 }
\ 002A C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 002D reinit_idm_buf_filelist:
31
32 //取一屏数据到IDM数组中
33 void reinit_idm_buf_filelist(int top, int bottom,BYTE string_id)
34 {
\ 002D CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0030 C0FF DEFW -64
35 int i;
36 char NameNum;
37 char name_buf[12];
38 char Longnamebuf[50];
39 memcpy(name_buf,name_buf,12);
\ 0032 010C00 LD BC,12
\ 0035 213400 LD HL,52
\ 0038 39 ADD HL,SP
\ 0039 EB EX DE,HL
\ 003A 213400 LD HL,52
\ 003D 39 ADD HL,SP
\ 003E EDB0 LDIR
40 for(i = top; i <= bottom; i++)
\ 0040 DD5E02 LD E,(IX+2)
\ 0043 DD5603 LD D,(IX+3)
\ 0046 ?0003:
\ 0046 4B LD C,E
\ 0047 42 LD B,D
\ 0048 DD6E04 LD L,(IX+4)
\ 004B DD6605 LD H,(IX+5)
\ 004E CD0000 CALL LWRD ?SS_CMP_L02
\ 0051 387D JR C,?0002
\ 0053 ?0004:
41 {
42 fselGetByNO(name_buf,i+1);
\ 0053 D5 PUSH DE
\ 0054 03 INC BC
\ 0055 213600 LD HL,54
\ 0058 39 ADD HL,SP
\ 0059 EB EX DE,HL
\ 005A 3E00 LD A,BYTE3 fselGetByNO
\ 005C 210000 LD HL,LWRD fselGetByNO
\ 005F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
43 memcpy(Longnamebuf,name_buf,12);
\ 0062 010C00 LD BC,12
\ 0065 210400 LD HL,4
\ 0068 39 ADD HL,SP
\ 0069 EB EX DE,HL
\ 006A 213600 LD HL,54
\ 006D 39 ADD HL,SP
\ 006E EDB0 LDIR
44 NameNum=FS_GetName(Longnamebuf,24);
\ 0070 0E18 LD C,24
\ 0072 210400 LD HL,4
\ 0075 39 ADD HL,SP
\ 0076 EB EX DE,HL
\ 0077 CD0000 CALL LWRD FS_GetName
\ 007A D1 POP DE
45 if(NameNum!=0)
\ 007B B7 OR A
\ 007C D5 PUSH DE
\ 007D 281D JR Z,?0007
\ 007F ?0006:
46 {
47 unitochar(Longnamebuf,NameNum*2+2,string_id);
\ 007F DD6E0A LD L,(IX+10)
\ 0082 E5 PUSH HL
\ 0083 6F LD L,A
\ 0084 2600 LD H,0
\ 0086 29 ADD HL,HL
\ 0087 4D LD C,L
\ 0088 44 LD B,H
\ 0089 03 INC BC
\ 008A 03 INC BC
\ 008B 210600 LD HL,6
\ 008E 39 ADD HL,SP
\ 008F EB EX DE,HL
\ 0090 3E00 LD A,BYTE3 unitochar
\ 0092 210000 LD HL,LWRD unitochar
\ 0095 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0098 F1 POP AF
\ 0099 D1 POP DE
48 }
49 else
\ 009A 1815 JR ?0008
\ 009C ?0007:
50 {
51 memcpy(Longnamebuf,name_buf,11); //get one usful record
\ 009C 010B00 LD BC,11
\ 009F 210400 LD HL,4
\ 00A2 39 ADD HL,SP
\ 00A3 EB EX DE,HL
\ 00A4 213600 LD HL,54
\ 00A7 39 ADD HL,SP
\ 00A8 EDB0 LDIR
\ 00AA D1 POP DE
52 Longnamebuf[11]=0;
\ 00AB DD70CD LD (IX-51),B
53 Longnamebuf[12]=0;
\ 00AE DD70CE LD (IX-50),B
\ 00B1 ?0008:
54 }
55
56 write_idm_data_filelist(Longnamebuf, i - top);
\ 00B1 D5 PUSH DE
\ 00B2 DD4E02 LD C,(IX+2)
\ 00B5 DD4603 LD B,(IX+3)
\ 00B8 EB EX DE,HL
\ 00B9 A7 AND A
\ 00BA ED42 SBC HL,BC
\ 00BC 4D LD C,L
\ 00BD 44 LD B,H
\ 00BE 210400 LD HL,4
\ 00C1 39 ADD HL,SP
\ 00C2 EB EX DE,HL
\ 00C3 3E00 LD A,BYTE3 write_idm_data_filelist
\ 00C5 210000 LD HL,LWRD write_idm_data_filelist
\ 00C8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00CB D1 POP DE
\ 00CC 13 INC DE
57
58 }
59 }
\ 00CD C34600 JP LWRD ?0003
\ 00D0 ?0002:
\ 00D0 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 00D3 read_idm_data_filelist:
60
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -