📄 sub_ui_stop.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 18/Nov/107 18:11:57 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_reader\sub_ui_stop.c #
# List file = d:\case_i_d913f\ap\ap_reader\list\sub_ui_stop.lst #
# Object file = d:\case_i_d913f\ap\ap_reader\obj\sub_ui_stop.r01 #
# ASM file = d:\case_i_d913f\ap\ap_reader\list\sub_ui_stop.s01 #
# Command line = -v0 -mb -OD:\case_i_d913f\ap\ap_reader\Obj\ -e -K #
# -w -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT #
# -LD:\case_i_d913f\ap\ap_reader\List\ -q -t8 #
# -AD:\case_i_d913f\ap\ap_reader\List\ #
# -ND:\case_i_d913f\ap\ap_reader\List\ -X #
# -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\ #
# d:\case_i_d913f\AP\AP_READER\sub_ui_stop.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME sub_ui_stop(17)
\ 0000 RSEG CODE_1(0)
\ 0000 RSEG COM_FSL(0)
\ 0000 EXTERN FS_GetName
\ 0000 EXTERN PutS
\ 0000 EXTERN ResShowPic
\ 0000 EXTERN SetBackgdColor
\ 0000 EXTERN SetPenColor
\ 0000 EXTERN SetTextPos
\ 0000 PUBLIC com_fname
\ 0000 EXTERN fileName
\ 0000 EXTERN file_name
\ 0000 EXTERN fselGetByNO
\ 0000 EXTERN menu_pos
\ 0000 PUBLIC read_idm_data_reader
\ 0000 PUBLIC reinit_idm_buf_reader
\ 0000 PUBLIC reset_cur_list_bg_color_reader
\ 0000 PUBLIC show_active_list_reader
\ 0000 EXTERN unitochar
\ 0000 PUBLIC write_idm_data_reader
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?SS_MOD_L02
\ 0000 EXTERN ?S_MUL_L02
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 EXTERN ?STRCPY_L11
\ 0000 RSEG CODE_1
\ 0000 write_idm_data_reader:
1
2
3 #include "ap_common.h"
4 #include "ap_reader.h"
5
6
7 #pragma codeseg(CODE_1)
8
9 #pragma memory=dataseg(COM_FSL)
10 char com_fname[explorer_row_count_def][50];
11 #pragma memory=default
12 extern char fileName[50];
13
14
15 BOOL write_idm_data_reader(char *name, int count)
16 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
\ 0002 F5 PUSH AF
17 byte status;
18 status = input8(0x05);
\ 0003 DB05 IN A,(5)
\ 0005 210000 LD HL,0
\ 0008 39 ADD HL,SP
\ 0009 77 LD (HL),A
19 output8(0x05, 0xf6);
\ 000A 3EF6 LD A,246
\ 000C D305 OUT (5),A
20 memcpy( com_fname[count], name, 50);
\ 000E 113200 LD DE,50
\ 0011 CD0000 CALL LWRD ?S_MUL_L02
\ 0014 210000 LD HL,com_fname
\ 0017 19 ADD HL,DE
\ 0018 EB EX DE,HL
\ 0019 210200 LD HL,2
\ 001C 39 ADD HL,SP
\ 001D 46 LD B,(HL)
\ 001E 23 INC HL
\ 001F 66 LD H,(HL)
\ 0020 68 LD L,B
\ 0021 013200 LD BC,50
\ 0024 ?0013:
\ 0024 EDB0 LDIR
21 output8(0x05, status);
\ 0026 69 LD L,C
\ 0027 60 LD H,B
\ 0028 39 ADD HL,SP
\ 0029 7E LD A,(HL)
\ 002A D305 OUT (5),A
22 }
\ 002C E1 POP HL
\ 002D E1 POP HL
\ 002E E1 POP HL
\ 002F C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0032 ?0014:
\ 0032 77 LD (HL),A
\ 0033 3EF6 LD A,246
\ 0035 D305 OUT (5),A
\ 0037 013200 LD BC,50
\ 003A DDE5 PUSH IX
\ 003C D1 POP DE
\ 003D CD0000 CALL LWRD ?S_MUL_L02
\ 0040 210000 LD HL,com_fname
\ 0043 19 ADD HL,DE
\ 0044 EB EX DE,HL
\ 0045 210000 LD HL,fileName
\ 0048 CD0000 CALL LWRD ?STRCPY_L11
\ 004B 68 LD L,B
\ 004C 60 LD H,B
\ 004D C9 RET
\ 004E reinit_idm_buf_reader:
23
24 /*
25 ********************************************************************************
26 * Description : 重新初始化IDM数据区
27 *
28 * Arguments :
29 *
30 * Returns :
31 *
32 * Notes :dir: 0:select file , 1: select dir
33 *
34 ********************************************************************************
35 */
36 void reinit_idm_buf_reader(int top, int bottom, int dir, int string_id)
37 {
\ 004E FDE5 PUSH IY
\ 0050 DDE5 PUSH IX
\ 0052 DD210000 LD IX,0
\ 0056 DD39 ADD IX,SP
\ 0058 C5 PUSH BC
\ 0059 D5 PUSH DE
\ 005A 21CCFF LD HL,65484
\ 005D 39 ADD HL,SP
\ 005E F9 LD SP,HL
38 int i,NameNum;
39 char Longnamebuf[50];
40
41 for(i = top; i <= bottom; i++)
\ 005F D5 PUSH DE
\ 0060 FDE1 POP IY
\ 0062 ?0003:
\ 0062 FDE5 PUSH IY
\ 0064 C1 POP BC
\ 0065 DD6EFE LD L,(IX-2)
\ 0068 DD66FF LD H,(IX-1)
\ 006B F680 OR 128
\ 006D ED42 SBC HL,BC
\ 006F E27300 JP PO,?0009
\ 0072 AC XOR H
\ 0073 ?0009:
\ 0073 FAE100 JP M,?0002
\ 0076 ?0004:
42 {
43 fselGetByNO(file_name, i + 1);
\ 0076 CDEA00 CALL LWRD ?0015
44
45 memcpy(Longnamebuf,file_name,12);
\ 0079 010C00 LD BC,12
\ 007C 210200 LD HL,2
\ 007F 39 ADD HL,SP
\ 0080 EB EX DE,HL
\ 0081 210000 LD HL,file_name
\ 0084 EDB0 LDIR
46 NameNum = FS_GetName(Longnamebuf,24); //获取当前目录名的长文件名
\ 0086 0E18 LD C,24
\ 0088 210200 LD HL,2
\ 008B 39 ADD HL,SP
\ 008C EB EX DE,HL
\ 008D CD0000 CALL LWRD FS_GetName
\ 0090 4F LD C,A
\ 0091 0600 LD B,0
47 if(NameNum!=0)
\ 0093 79 LD A,C
\ 0094 B7 OR A
\ 0095 282E JR Z,?0007
\ 0097 ?0006:
48 {
49 unitochar(Longnamebuf,NameNum*2+2,string_id); //
\ 0097 DD6E0A LD L,(IX+10)
\ 009A E5 PUSH HL
\ 009B 69 LD L,C
\ 009C 60 LD H,B
\ 009D 29 ADD HL,HL
\ 009E 4D LD C,L
\ 009F 44 LD B,H
\ 00A0 03 INC BC
\ 00A1 03 INC BC
\ 00A2 210400 LD HL,4
\ 00A5 39 ADD HL,SP
\ 00A6 EB EX DE,HL
\ 00A7 3E00 LD A,BYTE3 unitochar
\ 00A9 210000 LD HL,LWRD unitochar
\ 00AC CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00AF F1 POP AF
50 write_idm_data_reader(Longnamebuf, i - top);
\ 00B0 DD4EFC LD C,(IX-4)
\ 00B3 DD46FD LD B,(IX-3)
\ 00B6 FDE5 PUSH IY
\ 00B8 E1 POP HL
\ 00B9 A7 AND A
\ 00BA ED42 SBC HL,BC
\ 00BC 4D LD C,L
\ 00BD 44 LD B,H
\ 00BE 210200 LD HL,2
\ 00C1 39 ADD HL,SP
\ 00C2 EB EX DE,HL
\ 00C3 1810 JR ?0010
51 }
52 else
\ 00C5 ?0007:
53 write_idm_data_reader(file_name, i - top);
\ 00C5 DD4EFC LD C,(IX-4)
\ 00C8 DD46FD LD B,(IX-3)
\ 00CB FDE5 PUSH IY
\ 00CD E1 POP HL
\ 00CE ED42 SBC HL,BC
\ 00D0 4D LD C,L
\ 00D1 44 LD B,H
\ 00D2 110000 LD DE,file_name
\ 00D5 ?0010:
\ 00D5 3E00 LD A,BYTE3 write_idm_data_reader
\ 00D7 210000 LD HL,LWRD write_idm_data_reader
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -