📄 bookmark_list.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 27/Sep/107 17:36:19 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_reader\bookmark_list.c #
# List file = d:\case_i_d913f\ap\ap_reader\list\bookmark_list.lst #
# Object file = d:\case_i_d913f\ap\ap_reader\obj\bookmark_list.r01 #
# ASM file = d:\case_i_d913f\ap\ap_reader\list\bookmark_list.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\bookmark_list.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME bookmark_list(17)
\ 0000 RSEG CODE_1(0)
\ 0000 EXTERN GetDCStatus
\ 0000 EXTERN PutS
\ 0000 EXTERN ResShowMultiString
\ 0000 EXTERN ResShowPic
\ 0000 EXTERN SetBackgdColor
\ 0000 EXTERN SetPenColor
\ 0000 EXTERN SetTextOutMode
\ 0000 EXTERN SetTextPos
\ 0000 EXTERN ap_get_message
\ 0000 EXTERN ap_handle_hotkey
\ 0000 EXTERN bkmarks
\ 0000 EXTERN menu_pos_list
\ 0000 EXTERN menulist_bck_pic
\ 0000 PUBLIC showString
\ 0000 PUBLIC show_active_bklist
\ 0000 EXTERN ui_auto_select
\ 0000 PUBLIC ui_bookmark_list
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?SS_DIV_L02
\ 0000 EXTERN ?SS_MOD_L02
\ 0000 EXTERN ?C_V_SWITCH_L06
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 RSEG CODE_1
\ 0000 showString:
1 /*
2 *******************************************************************************
3 * ACTOS AP
4 * ap common lib file
5 *
6 * (c) Copyright, Actions Co,Ld.
7 * All Right Reserved
8 *
9 *******************************************************************************
10 */
11 #include <stdio.h> // sprintf
12 #include "ap_common.h"
13 #include "common.h"
14 #include "bookmark.h"
15
16 #define LIST_NUM_ONE_PAGE 6
17 extern const char menu_pos_list[6];
18 extern const WORD menulist_bck_pic[6];
19 /*const char menu_pos_bklist[LIST_NUM_ONE_PAGE] = { POSITION_MENU6,POSITION_MENU5,
20 POSITION_MENU4,POSITION_MENU3,POSITION_MENU2,POSITION_MENU1};
21 const WORD menulist_bck_pic1[LIST_NUM_ONE_PAGE]={ MENUBCK6,MENUBCK5,MENUBCK4,MENUBCK3,MENUBCK2,MENUBCK1 };
22 */
23 #pragma codeseg(CODE_1)
24 int showString(short id, byte string_id, uchar x, uchar y)
25 {
\ 0000 DDE5 PUSH IX
\ 0002 DD210000 LD IX,0
\ 0006 DD39 ADD IX,SP
\ 0008 C5 PUSH BC
\ 0009 D5 PUSH DE
\ 000A 21F2FF LD HL,65522
\ 000D 39 ADD HL,SP
\ 000E F9 LD SP,HL
26 BYTE len;
27 char p[13];
28 // sprintf(p,"%d: %s",id, bkmarks[id].title);
29
30 // len = (BYTE)strlen(p);
31 memcpy(p,bkmarks[id].title,12);
\ 000F EB EX DE,HL
\ 0010 29 ADD HL,HL
\ 0011 29 ADD HL,HL
\ 0012 29 ADD HL,HL
\ 0013 29 ADD HL,HL
\ 0014 010400 LD BC,bkmarks+4
\ 0017 09 ADD HL,BC
\ 0018 010C00 LD BC,12
\ 001B EDB0 LDIR
32 p[12]=0;
\ 001D DD70FA LD (IX-6),B
33 SetTextPos(x, y);
\ 0020 DD4E08 LD C,(IX+8)
\ 0023 DD5E06 LD E,(IX+6)
\ 0026 CD0000 CALL LWRD SetTextPos
34 // SetPenColor(Color_BULE2_def);
35 PutS(p,-1);
\ 0029 0EFF LD C,255
\ 002B 210000 LD HL,0
\ 002E 39 ADD HL,SP
\ 002F EB EX DE,HL
\ 0030 CD0000 CALL LWRD PutS
36 /*
37 if((x == 255)&&(string_id!=1)&&(string_id<5)) //16*16字体居中显示
38 {
39 SetTextPos((SCR_WIDTH - (BYTE)get_large_text_width(p)) /2, y);
40 PutS(p, -1);
41 }
42 else if((string_id!=1)&&(string_id<5)) ////16*16字体非居中显示
43 {
44 SetTextPos(x, y);
45 PutS(p, -1);
46 }
47 else //6*8字体显示
48 {
49 if(x == 255)
50 {
51 SetTextPos((SCR_WIDTH - len*CHAR_WIDTH) /2, y);
52 PutS(p, -1);
53 }
54 else if( len<22 )
55 {
56 SetTextPos(x, y);
57 PutS(p, -1);
58 }
59 else
60 {
61 SetTextPos(0, y);
62 PutS(p, 21);
63 SetTextPos(0, y+8);
64 PutS(p+21, -1);
65 }
66 }
67 */
68 return 1;
\ 0033 210100 LD HL,1
69 }
\ 0036 DDF9 LD SP,IX
\ 0038 DDE1 POP IX
\ 003A C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 003D show_active_bklist:
70
71 void show_active_bklist(pop_up_list_t *list,int old_active, int active)
72 {
\ 003D FDE5 PUSH IY
\ 003F DDE5 PUSH IX
\ 0041 C5 PUSH BC
\ 0042 D5 PUSH DE
\ 0043 FDE1 POP IY
73 int tmp;
74 //清除旧的活动菜单项
75 tmp = old_active%LIST_NUM_ONE_PAGE;
\ 0045 010600 LD BC,6
\ 0048 68 LD L,B
\ 0049 60 LD H,B
\ 004A 39 ADD HL,SP
\ 004B 5E LD E,(HL)
\ 004C 23 INC HL
\ 004D 56 LD D,(HL)
\ 004E CD0000 CALL LWRD ?SS_MOD_L02
76
77 ResShowPic(menulist_bck_pic[tmp], menu_ptr_x_def, menu_pos_list[tmp]-4);
\ 0051 210000 LD HL,menu_pos_list
\ 0054 19 ADD HL,DE
\ 0055 7E LD A,(HL)
\ 0056 C6FC ADD A,252
\ 0058 4F LD C,A
\ 0059 C5 PUSH BC
\ 005A 0E0A LD C,10
\ 005C EB EX DE,HL
\ 005D 29 ADD HL,HL
\ 005E 110000 LD DE,menulist_bck_pic
\ 0061 19 ADD HL,DE
\ 0062 5E LD E,(HL)
\ 0063 23 INC HL
\ 0064 56 LD D,(HL)
\ 0065 CD2001 CALL LWRD ?0062
\ 0068 F1 POP AF
78
79 tmp = active%LIST_NUM_ONE_PAGE;
\ 0069 010600 LD BC,6
\ 006C 210A00 LD HL,10
\ 006F 39 ADD HL,SP
\ 0070 5E LD E,(HL)
\ 0071 23 INC HL
\ 0072 56 LD D,(HL)
\ 0073 CD0000 CALL LWRD ?SS_MOD_L02
\ 0076 D5 PUSH DE
\ 0077 DDE1 POP IX
80 ResShowPic(MENUBCK, menu_bck_x_def, menu_pos_list[tmp]-4);
\ 0079 210000 LD HL,menu_pos_list
\ 007C 19 ADD HL,DE
\ 007D 7E LD A,(HL)
\ 007E C6FC ADD A,252
\ 0080 4F LD C,A
\ 0081 C5 PUSH BC
\ 0082 CD1B01 CALL LWRD ?0063
\ 0085 F1 POP AF
81 ///-ResShowPic(MENURARR, menu_ptr_x_def, menu_pos_list[tmp]);
82 ResShowPic(DHT,194,8);
\ 0086 0E08 LD C,8
\ 0088 C5 PUSH BC
\ 0089 0EC2 LD C,194
\ 008B 112600 LD DE,38
\ 008E CD2001 CALL LWRD ?0062
\ 0091 F1 POP AF
83 ResShowPic(DHTHK,194, menu_pos_list[tmp]+6);
\ 0092 210000 LD HL,menu_pos_list
\ 0095 DDE5 PUSH IX
\ 0097 C1 POP BC
\ 0098 09 ADD HL,BC
\ 0099 7E LD A,(HL)
\ 009A C606 ADD A,6
\ 009C 5F LD E,A
\ 009D D5 PUSH DE
\ 009E 0EC2 LD C,194
\ 00A0 112700 LD DE,39
\ 00A3 CD2001 CALL LWRD ?0062
\ 00A6 F1 POP AF
84
85 SetPenColor(Color_WHITE_def);
\ 00A7 CD2801 CALL LWRD ?0064
86 showString(active, list->string_id, menu_str_x_def, menu_pos_list[tmp]-3);
\ 00AA 210000 LD HL,menu_pos_list
\ 00AD DDE5 PUSH IX
\ 00AF C1 POP BC
\ 00B0 09 ADD HL,BC
\ 00B1 7E LD A,(HL)
\ 00B2 C6FD ADD A,253
\ 00B4 5F LD E,A
\ 00B5 D5 PUSH DE
\ 00B6 1E20 LD E,32
\ 00B8 D5 PUSH DE
\ 00B9 FD4E08 LD C,(IY+8)
\ 00BC 210E00 LD HL,14
\ 00BF 39 ADD HL,SP
\ 00C0 5E LD E,(HL)
\ 00C1 23 INC HL
\ 00C2 56 LD D,(HL)
\ 00C3 3E00 LD A,BYTE3 showString
\ 00C5 210000 LD HL,LWRD showString
\ 00C8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00CB F1 POP AF
\ 00CC F1 POP AF
87
88 //重新显示旧的活动菜单
89 SetPenColor(Color_WHITE_def);
\ 00CD CD2801 CALL LWRD ?0064
90
91 tmp = old_active%LIST_NUM_ONE_PAGE;
\ 00D0 010600 LD BC,6
\ 00D3 68 LD L,B
\ 00D4 60 LD H,B
\ 00D5 39 ADD HL,SP
\ 00D6 5E LD E,(HL)
\ 00D7 23 INC HL
\ 00D8 56 LD D,(HL)
\ 00D9 CD0000 CALL LWRD ?SS_MOD_L02
\ 00DC D5 PUSH DE
\ 00DD DDE1 POP IX
92 ResShowPic(MENUARR1+tmp, menu_ptr_x_def, menu_pos_list[tmp]);
\ 00DF 210000 LD HL,menu_pos_list
\ 00E2 19 ADD HL,DE
\ 00E3 4E LD C,(HL)
\ 00E4 C5 PUSH BC
\ 00E5 0E0A LD C,10
\ 00E7 21B300 LD HL,179
\ 00EA 19 ADD HL,DE
\ 00EB EB EX DE,HL
\ 00EC CD2001 CALL LWRD ?0062
\ 00EF F1 POP AF
93 showString(old_active, list->string_id, menu_str_x_def, menu_pos_list[tmp]-3);
\ 00F0 210000 LD HL,menu_pos_list
\ 00F3 DDE5 PUSH IX
\ 00F5 C1 POP BC
\ 00F6 09 ADD HL,BC
\ 00F7 7E LD A,(HL)
\ 00F8 C6FD ADD A,253
\ 00FA 4F LD C,A
\ 00FB C5 PUSH BC
\ 00FC 0E20 LD C,32
\ 00FE C5 PUSH BC
\ 00FF FD4E08 LD C,(IY+8)
\ 0102 210400 LD HL,4
\ 0105 39 ADD HL,SP
\ 0106 5E LD E,(HL)
\ 0107 23 INC HL
\ 0108 56 LD D,(HL)
\ 0109 3E00 LD A,BYTE3 showString
\ 010B 210000 LD HL,LWRD showString
\ 010E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0111 F1 POP AF
\ 0112 F1 POP AF
94 }
\ 0113 E1 POP HL
\ 0114 DDE1 POP IX
\ 0116 FDE1 POP IY
\ 0118 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 011B ?0063:
\ 011B 0E09 LD C,9
\ 011D 11B400 LD DE,180
\ 0120 ?0062:
\ 0120 3E00 LD A,BYTE3 ResShowPic
\ 0122 210000 LD HL,LWRD ResShowPic
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -