enhanced_unicode.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 826 行 · 第 1/3 页
LST
826 行
\ 00DB CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 00DE FAFF DEFW -6
\ 00E0 FDE5 PUSH IY
100 int s_cnt=0;
101 int d_cnt=0;
102 WORD code;
103 SD_FILE *fp;
104
105 //清 WATCH_DOG
106 output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
\ 00E2 DB4E IN A,(78)
\ 00E4 CBDF SET 3,A
\ 00E6 D34E OUT (78),A
107
108 switch(encode)
\ 00E8 AF XOR A
\ 00E9 DD77FE LD (IX-2),A
\ 00EC DD77FF LD (IX-1),A
\ 00EF DD5E0A LD E,(IX+10)
\ 00F2 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 00F5 0900 DEFW 9
\ 00F7 00 DEFB 0
\ 00F8 02 DEFB 2
\ 00F9 03 DEFB 3
\ 00FA 04 DEFB 4
\ 00FB 0D DEFB 13
\ 00FC 0E DEFB 14
\ 00FD 0F DEFB 15
\ 00FE 10 DEFB 16
\ 00FF 11 DEFB 17
\ 0100 8102 DEFW ?0066
\ 0102 2C01 DEFW ?0023
\ 0104 2C01 DEFW ?0023
\ 0106 3801 DEFW ?0025
\ 0108 3F01 DEFW ?0026
\ 010A 3201 DEFW ?0024
\ 010C 2601 DEFW ?0022
\ 010E 2001 DEFW ?0021
\ 0110 1A01 DEFW ?0020
\ 0112 1401 DEFW ?0019
\ 0114 ?0019:
109 {
110 case CP_CHS: //中文简体
111 fp=SD_FOpen(ftbl_GB,MODE_READ);
\ 0114 4F LD C,A
\ 0115 110000 LD DE,ftbl_GB
\ 0118 1822 JR ?0102
112 break;
\ 011A ?0020:
113 case CP_CHT: //中文繁体
114 fp=SD_FOpen(ftbl_B5,MODE_READ);
\ 011A 4F LD C,A
\ 011B 110C00 LD DE,ftbl_B5
\ 011E 181C JR ?0102
115 break;
\ 0120 ?0021:
116 case 3: //日文
117 fp=SD_FOpen(ftbl_JP,MODE_READ);
\ 0120 4F LD C,A
\ 0121 111800 LD DE,ftbl_JP
\ 0124 1816 JR ?0102
118 break;
\ 0126 ?0022:
119 case 4: //韩文
120 fp=SD_FOpen(ftbl_KR,MODE_READ);
\ 0126 4F LD C,A
\ 0127 112400 LD DE,ftbl_KR
\ 012A 1810 JR ?0102
121 break;
\ 012C ?0023:
122 case CP_BOL: //波兰
123 case CP_CRE: //捷克
124 fp=SD_FOpen(ftbl_BC,MODE_READ);
\ 012C 4F LD C,A
\ 012D 113A00 LD DE,ftbl_BC
\ 0130 180A JR ?0102
125 break;
\ 0132 ?0024:
126 case CP_RUS: //俄文
127 fp=SD_FOpen(ftbl_RS,MODE_READ);
\ 0132 4F LD C,A
\ 0133 113000 LD DE,ftbl_RS
\ 0136 1804 JR ?0102
128 break;
\ 0138 ?0025:
129 case CP_XBL: //西伯莱
130 fp=SD_FOpen(ftbl_XL,MODE_READ);
\ 0138 4F LD C,A
\ 0139 114E00 LD DE,ftbl_XL
\ 013C ?0102:
\ 013C C38502 JP LWRD ?0105
131 break;
\ 013F ?0026:
132 case CP_TAI: //泰文
133 for(d_cnt=0,s_cnt=0;(s_cnt<len)&&((str[s_cnt]!=0)||(str[s_cnt+1]!=0)); )
\ 013F DD77FA LD (IX-6),A
\ 0142 DD77FB LD (IX-5),A
\ 0145 ?0028:
\ 0145 DD4E04 LD C,(IX+4)
\ 0148 DD4605 LD B,(IX+5)
\ 014B 6F LD L,A
\ 014C DD66FB LD H,(IX-5)
\ 014F CD0000 CALL LWRD ?SS_CMP_L02
\ 0152 D26F02 JP NC,?0027
\ 0155 DD4E02 LD C,(IX+2)
\ 0158 DD4603 LD B,(IX+3)
\ 015B 09 ADD HL,BC
\ 015C 7E LD A,(HL)
\ 015D B7 OR A
\ 015E 200D JR NZ,?0032
\ 0160 DD6EFA LD L,(IX-6)
\ 0163 DD66FB LD H,(IX-5)
\ 0166 09 ADD HL,BC
\ 0167 23 INC HL
\ 0168 7E LD A,(HL)
\ 0169 B7 OR A
\ 016A CA6F02 JP Z,?0027
\ 016D ?0032:
\ 016D ?0033:
\ 016D ?0031:
\ 016D ?0030:
\ 016D ?0029:
134 {
135 code = str[s_cnt]+str[s_cnt+1]*0x100;
\ 016D DD6EFA LD L,(IX-6)
\ 0170 DD66FB LD H,(IX-5)
\ 0173 09 ADD HL,BC
\ 0174 23 INC HL
\ 0175 56 LD D,(HL)
\ 0176 1E00 LD E,0
\ 0178 DD6EFA LD L,(IX-6)
\ 017B DD66FB LD H,(IX-5)
\ 017E 09 ADD HL,BC
\ 017F 4E LD C,(HL)
\ 0180 43 LD B,E
\ 0181 EB EX DE,HL
\ 0182 09 ADD HL,BC
\ 0183 E5 PUSH HL
\ 0184 FDE1 POP IY
136 if(code >= 0x0E00 && code <= 0x0E7F)
\ 0186 01000E LD BC,3584
\ 0189 A7 AND A
\ 018A ED42 SBC HL,BC
\ 018C 3824 JR C,?0035
\ 018E FDE5 PUSH IY
\ 0190 C1 POP BC
\ 0191 217F0E LD HL,3711
\ 0194 ED42 SBC HL,BC
\ 0196 381A JR C,?0035
\ 0198 ?0037:
\ 0198 ?0036:
\ 0198 ?0034:
137 code = str[s_cnt]+0xA0;
\ 0198 DD6EFA LD L,(IX-6)
\ 019B DD66FB LD H,(IX-5)
\ 019E DD4E02 LD C,(IX+2)
\ 01A1 DD4603 LD B,(IX+3)
\ 01A4 09 ADD HL,BC
\ 01A5 4E LD C,(HL)
\ 01A6 0600 LD B,0
\ 01A8 21A000 LD HL,160
\ 01AB 09 ADD HL,BC
\ 01AC E5 PUSH HL
\ 01AD FDE1 POP IY
\ 01AF C34702 JP LWRD ?0065
\ 01B2 ?0035:
138 else if(code == 0x20AC)
\ 01B2 21AC20 LD HL,8364
\ 01B5 FDE5 PUSH IY
\ 01B7 C1 POP BC
\ 01B8 A7 AND A
\ 01B9 ED42 SBC HL,BC
\ 01BB 2007 JR NZ,?0040
\ 01BD ?0039:
139 code = 0x80;
\ 01BD FD218000 LD IY,128
\ 01C1 C34702 JP LWRD ?0065
\ 01C4 ?0040:
140 else if(code == 0x2026)
\ 01C4 212620 LD HL,8230
\ 01C7 A7 AND A
\ 01C8 ED42 SBC HL,BC
\ 01CA 2006 JR NZ,?0043
\ 01CC ?0042:
141 code = 0x85;
\ 01CC FD218500 LD IY,133
\ 01D0 1875 JR ?0065
\ 01D2 ?0043:
142 else if(code == 0x2018)
\ 01D2 211820 LD HL,8216
\ 01D5 A7 AND A
\ 01D6 ED42 SBC HL,BC
\ 01D8 2006 JR NZ,?0046
\ 01DA ?0045:
143 code = 0x91;
\ 01DA FD219100 LD IY,145
\ 01DE 1867 JR ?0065
\ 01E0 ?0046:
144 else if(code == 0x2019)
\ 01E0 211920 LD HL,8217
\ 01E3 A7 AND A
\ 01E4 ED42 SBC HL,BC
\ 01E6 2006 JR NZ,?0049
\ 01E8 ?0048:
145 code = 0x92;
\ 01E8 FD219200 LD IY,146
\ 01EC 1859 JR ?0065
\ 01EE ?0049:
146 else if(code == 0x201C)
\ 01EE 211C20 LD HL,8220
\ 01F1 A7 AND A
\ 01F2 ED42 SBC HL,BC
\ 01F4 2006 JR NZ,?0052
\ 01F6 ?0051:
147 code = 0x93;
\ 01F6 FD219300 LD IY,147
\ 01FA 184B JR ?0065
\ 01FC ?0052:
148 else if(code == 0x201D)
\ 01FC 211D20 LD HL,8221
\ 01FF A7 AND A
\ 0200 ED42 SBC HL,BC
\ 0202 2006 JR NZ,?0055
\ 0204 ?0054:
149 code = 0x94;
\ 0204 FD219400 LD IY,148
\ 0208 183D JR ?0065
\ 020A ?0055:
150 else if(code == 0x2022)
\ 020A 212220 LD HL,8226
\ 020D A7 AND A
\ 020E ED42 SBC HL,BC
\ 0210 2006 JR NZ,?0058
\ 0212 ?0057:
151 code = 0x95;
\ 0212 FD219500 LD IY,149
\ 0216 182F JR ?0065
\ 0218 ?0058:
152 else if(code == 0x2013)
\ 0218 211320 LD HL,8211
\ 021B A7 AND A
\ 021C ED42 SBC HL,BC
\ 021E 2006 JR NZ,?0061
\ 0220 ?0060:
153 code = 0x96;
\ 0220 FD219600 LD IY,150
\ 0224 1821 JR ?0065
\ 0226 ?0061:
154 else if(code == 0x2014)
\ 0226 211420 LD HL,8212
\ 0229 A7 AND A
\ 022A ED42 SBC HL,BC
\ 022C 2006 JR NZ,?0064
\ 022E ?0063:
155 code = 0x97;
\ 022E FD219700 LD IY,151
156 else
\ 0232 1813 JR ?0065
\ 0234 ?0064:
157 code = str[s_cnt];
\ 0234 DD6EFA LD L,(IX-6)
\ 0237 DD66FB LD H,(IX-5)
\ 023A DD4E02 LD C,(IX+2)
\ 023D DD4603 LD B,(IX+3)
\ 0240 09 ADD HL,BC
\ 0241 4E LD C,(HL)
\ 0242 0600 LD B,0
\ 0244 C5 PUSH BC
\ 0245 FDE1 POP IY
\ 0247 ?0065:
\ 0247 ?0062:
\ 0247 ?0059:
\ 0247 ?0056:
\ 0247 ?0053:
\ 0247 ?0050:
\ 0247 ?0047:
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?