⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 enhanced_unicode.s01

📁 炬力方案176*132软件源码,适用于AK1025
💻 S01
📖 第 1 页 / 共 2 页
字号:
	PUSH	HL
	POP	IY
; 136.	                                                                        if(code >= 0x0E00 && code <= 0x0E7F)
	LD	BC,3584
	AND	A
	SBC	HL,BC
	JR	C,?0035
	PUSH	IY
	POP	BC
	LD	HL,3711
	SBC	HL,BC
	JR	C,?0035
?0037:
?0036:
?0034:
; 137.	                                                                                code = str[s_cnt]+0xA0;
	LD	L,(IX-6)
	LD	H,(IX-5)
	LD	C,(IX+2)
	LD	B,(IX+3)
	ADD	HL,BC
	LD	C,(HL)
	LD	B,0
	LD	HL,160
	ADD	HL,BC
	PUSH	HL
	POP	IY
	JP	LWRD ?0065
?0035:
; 138.	                                                                        else if(code == 0x20AC)
	LD	HL,8364
	PUSH	IY
	POP	BC
	AND	A
	SBC	HL,BC
	JR	NZ,?0040
?0039:
; 139.	                                                                                code = 0x80;
	LD	IY,128
	JP	LWRD ?0065
?0040:
; 140.	                                                                        else if(code == 0x2026)
	LD	HL,8230
	AND	A
	SBC	HL,BC
	JR	NZ,?0043
?0042:
; 141.	                                                                                code = 0x85;
	LD	IY,133
	JR	?0065
?0043:
; 142.	                                                                        else if(code == 0x2018)
	LD	HL,8216
	AND	A
	SBC	HL,BC
	JR	NZ,?0046
?0045:
; 143.	                                                                                code = 0x91;
	LD	IY,145
	JR	?0065
?0046:
; 144.	                                                                        else if(code == 0x2019)
	LD	HL,8217
	AND	A
	SBC	HL,BC
	JR	NZ,?0049
?0048:
; 145.	                                                                                code = 0x92;
	LD	IY,146
	JR	?0065
?0049:
; 146.	                                                                        else if(code == 0x201C)
	LD	HL,8220
	AND	A
	SBC	HL,BC
	JR	NZ,?0052
?0051:
; 147.	                                                                                code = 0x93;
	LD	IY,147
	JR	?0065
?0052:
; 148.	                                                                        else if(code == 0x201D)
	LD	HL,8221
	AND	A
	SBC	HL,BC
	JR	NZ,?0055
?0054:
; 149.	                                                                                code = 0x94;
	LD	IY,148
	JR	?0065
?0055:
; 150.	                                                                        else if(code == 0x2022)
	LD	HL,8226
	AND	A
	SBC	HL,BC
	JR	NZ,?0058
?0057:
; 151.	                                                                                code = 0x95;
	LD	IY,149
	JR	?0065
?0058:
; 152.	                                                                        else if(code == 0x2013)
	LD	HL,8211
	AND	A
	SBC	HL,BC
	JR	NZ,?0061
?0060:
; 153.	                                                                                code = 0x96;
	LD	IY,150
	JR	?0065
?0061:
; 154.	                                                                        else if(code == 0x2014)
	LD	HL,8212
	AND	A
	SBC	HL,BC
	JR	NZ,?0064
?0063:
; 155.	                                                                                code = 0x97;
	LD	IY,151
; 156.	                                                                        else
	JR	?0065
?0064:
; 157.	                                                                                code = str[s_cnt];
	LD	L,(IX-6)
	LD	H,(IX-5)
	LD	C,(IX+2)
	LD	B,(IX+3)
	ADD	HL,BC
	LD	C,(HL)
	LD	B,0
	PUSH	BC
	POP	IY
?0065:
?0062:
?0059:
?0056:
?0053:
?0050:
?0047:
?0044:
?0041:
?0038:
; 158.	                                                                        str[d_cnt++]=code;
	LD	L,(IX-2)
	LD	H,(IX-1)
	INC	HL
	LD	(IX-2),L
	LD	(IX-1),H
	DEC	HL
	LD	C,(IX+2)
	LD	B,(IX+3)
	ADD	HL,BC
	PUSH	IY
	POP	BC
	LD	(HL),C
; 159.	                                                                        s_cnt+=2;
	LD	HL,2
	ADD	HL,SP
	LD	A,(HL)
	ADD	A,2
	LD	(HL),A
	JR	NC,?0089
	INC	HL
	INC	(HL)
?0089:
	JP	LWRD ?0028
?0027:
; 160.	                                                                }
; 161.	                                                                str[d_cnt]=0;   //结尾添0
	LD	L,(IX-2)
	LD	H,(IX-1)
	LD	C,(IX+2)
	LD	B,(IX+3)
	ADD	HL,BC
	LD	(HL),0
; 162.	                                                                return 1;
	JP	LWRD ?0099
; 163.	                                        //-break;
; 164.	        default:                //ASCII和拉丁文
?0066:
; 165.	                        fp=SD_FOpen(ftbl_LA,MODE_READ);   
	LD	C,A
	LD	DE,ftbl_LA
?0105:
	CALL	LWRD SD_FOpen
	LD	(IX-4),L
	LD	(IX-3),H
; 166.	                break;
?0018:
; 167.	    }
; 168.	                
; 169.	                
; 170.	    if(fp==NULL)
	LD	A,L
	OR	H
	JR	NZ,?0068
?0067:
; 171.	    {
; 172.	        SD_FClose(fp);
	LD	E,L
	LD	D,H
	CALL	LWRD SD_FClose
; 173.	        return 0;
	LD	L,0
; 174.	    }
	JP	LWRD ?0082
?0068:
; 175.	                
; 176.	    for(d_cnt=0,s_cnt=0; (s_cnt<len) 
	XOR	A
	LD	(IX-2),A
	LD	(IX-1),A
	LD	(IX-6),A
	LD	(IX-5),A
?0070:
; 177.	                        && ( (str[s_cnt]!=0) || (str[s_cnt+1]!=0) ); )
	LD	C,(IX+4)
	LD	B,(IX+5)
	LD	L,(IX-6)
	LD	H,(IX-5)
	CALL	LWRD ?SS_CMP_L02
	JP	NC,?0069
	LD	C,(IX+2)
	LD	B,(IX+3)
	ADD	HL,BC
	LD	A,(HL)
	OR	A
	JR	NZ,?0074
	LD	L,(IX-6)
	LD	H,(IX-5)
	ADD	HL,BC
	INC	HL
	LD	A,(HL)
	OR	A
	JP	Z,?0069
?0074:
?0075:
?0073:
?0072:
?0071:
; 178.	    {
; 179.	        code=OneUniToChar(str[s_cnt]+str[s_cnt+1]*0x100, fp, encode);
	LD	L,(IX+10)
	PUSH	HL
	LD	C,(IX-4)
	LD	B,(IX-3)
	LD	L,(IX-6)
	LD	H,(IX-5)
	LD	E,(IX+2)
	LD	D,(IX+3)
	ADD	HL,DE
	INC	HL
	LD	H,(HL)
	LD	L,0
	PUSH	HL
	LD	L,(IX-6)
	LD	H,(IX-5)
	ADD	HL,DE
	LD	E,(HL)
	LD	D,0
	POP	HL
	ADD	HL,DE
	EX	DE,HL
	LD	A,BYTE3 OneUniToChar
	LD	HL,LWRD OneUniToChar
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
	PUSH	HL
	POP	IY
; 180.	        str[d_cnt++]=code;//放了低位
	LD	C,(IX-2)
	LD	B,(IX-1)
	INC	BC
	LD	(IX-2),C
	LD	(IX-1),B
	DEC	BC
	LD	L,(IX+2)
	LD	H,(IX+3)
	ADD	HL,BC
	PUSH	IY
	POP	BC
	LD	(HL),C
; 181.	        if((encode!=1)&&(encode<5))
	LD	B,(IX+10)
	DEC	B
	JR	Z,?0081
	LD	A,(IX+10)
	CP	5
	JR	NC,?0081
?0079:
?0078:
?0076:
; 182.	        {
; 183.	          if(code>127)
	PUSH	IY
	POP	BC
	LD	HL,127
	AND	A
	SBC	HL,BC
	JR	NC,?0081
?0080:
; 184.	          {
; 185.	             str[d_cnt++]=code>>8;//把高位移到低位去
	LD	L,(IX-2)
	LD	H,(IX-1)
	INC	HL
	LD	(IX-2),L
	LD	(IX-1),H
	DEC	HL
	LD	C,(IX+2)
	LD	B,(IX+3)
	ADD	HL,BC
	PUSH	IY
	POP	BC
	LD	(HL),B
?0081:
?0077:
; 186.	          }
; 187.	                                }
; 188.	        s_cnt+=2;
	LD	HL,2
	ADD	HL,SP
	LD	A,(HL)
	ADD	A,2
	LD	(HL),A
	JR	NC,?0090
	INC	HL
	INC	(HL)
?0090:
; 189.	        output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
	IN	A,(78)
	SET	3,A
	OUT	(78),A
	JP	LWRD ?0070
?0069:
; 190.	    }
; 191.	    
; 192.	    //str[s_cnt]=0;       //结尾添0
; 193.	    str[d_cnt]=0; //Rcmai 04-1-31 20:37
	LD	L,(IX-2)
	LD	H,(IX-1)
	LD	C,(IX+2)
	LD	B,(IX+3)
	ADD	HL,BC
	LD	(HL),0
; 194.	    SD_FClose(fp);
	LD	E,(IX-4)
	LD	D,(IX-3)
	CALL	LWRD SD_FClose
; 195.	                
; 196.	    //清 WATCH_DOG 
; 197.	    output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
	IN	A,(78)
	SET	3,A
	OUT	(78),A
; 198.	    
; 199.	    return 1;
?0099:
	LD	L,1
; 200.	}
?0082:
	POP	IY
	JP	LWRD ?BANK_LEAVE_DIRECT_L08
	RSEG	MOC_EH_UNI
ftbl_GB:
	DEFB	'FTBL_GB.$$$'
	DEFB	0
ftbl_B5:
	DEFB	'FTBL_B5.$$$'
	DEFB	0
ftbl_JP:
	DEFB	'FTBL_JP.$$$'
	DEFB	0
ftbl_KR:
	DEFB	'FTBL_KR.$$$'
	DEFB	0
ftbl_RS:
	DEFB	'U1251.BIN'
	DEFB	0
ftbl_BC:
	DEFB	'U1250.BIN'
	DEFB	0
ftbl_LA:
	DEFB	'U1252.BIN'
	DEFB	0
ftbl_XL:
	DEFB	'U1255.BIN'
	DEFB	0
	END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -