📄 wbandpys.asm
字号:
MOV DPTR,#g_sStrTemp+06H
LCALL L?0316
LCALL L?0349
MOV iQwEnd?042+01H,A
MOV A,R5
ADDC A,R6
MOV iQwEnd?042,A
CLR A
MOV iy?044,A
MOV iy?044+01H,A
MOV g_ii?045,iQwBegin?041
MOV g_ii?045+01H,iQwBegin?041+01H
?C0004:
SETB C
MOV A,g_ii?045+01H
SUBB A,iQwEnd?042+01H
MOV A,g_ii?045
SUBB A,iQwEnd?042
JC $ + 5H
LJMP ?C0005
MOV R6,g_ii?045
MOV R7,g_ii?045+01H
MOV R4,#03H
MOV R5,#0E8H
LCALL ?C?UIDIV
MOV DPTR,#gSQwCode
MOV A,R7
MOVX @DPTR,A
MOV R5,#064H
LCALL L?0355
LCALL L?0375
INC DPTR
MOVX @DPTR,A
MOV R5,#0AH
LCALL L?0355
MOV DPTR,#gSQwCode
MOVX A,@DPTR
MOV B,#064H
MUL AB
MOV R6,A
CLR C
MOV A,R7
SUBB A,R6
MOV R7,A
LCALL L?0375
MOV R7,A
MOV DPTR,#gSQwCode+02H
MOVX @DPTR,A
MOV DPTR,#gSQwCode
MOVX A,@DPTR
MOV B,#0E8H
MUL AB
MOV R5,A
CLR C
MOV A,g_ii?045+01H
SUBB A,R5
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV B,#064H
MUL AB
MOV R5,A
CLR C
MOV A,R6
SUBB A,R5
MOV R6,A
MOV A,R7
MOV B,#0AH
MUL AB
MOV R7,A
CLR C
MOV A,R6
SUBB A,R7
MOV DPTR,#gSQwCode+03H
MOVX @DPTR,A
MOV DPTR,#gSQwCode
LCALL L?0376
INC DPTR
LCALL L?0376
LCALL GetChinaCode
MOV A,R7
JZ ?C0006
MOV DPTR,#gSChinaCode
LCALL L?0357
JNZ ?C0270
INC iy?044
?C0270:
LCALL L?0343
MOV DPTR,#gSChinaCode+01H
LCALL L?0357
JNZ ?C0271
INC iy?044
?C0271:
LCALL L?0343
?C0006:
INC g_ii?045+01H
MOV A,g_ii?045+01H
JNZ ?C0272
INC g_ii?045
?C0272:
LJMP ?C0004
?C0005:
MOV g_ii?045,#00H
MOV g_ii?045+01H,#08H
?C0008:
CLR C
MOV A,g_ii?045+01H
SUBB A,iObj?043+01H
MOV A,g_ii?045
SUBB A,iObj?043
JNC ?C0009
MOV A,#LOW (g_sStrTemp)
ADD A,g_ii?045+01H
LCALL L?0302
LCALL L?0358
JNZ ?C0273
INC iy?044
?C0273:
LCALL L?0344
INC g_ii?045+01H
MOV A,g_ii?045+01H
JNZ ?C0008
INC g_ii?045
?C0274:
SJMP ?C0008
?C0009:
MOV A,iy?044
CLR C
RRC A
MOV A,iy?044+01H
RRC A
MOV DPTR,#g_iXqHzCount
MOVX @DPTR,A
RET
RSEG ?PR?IsSubString?WBANDPYS
IsSubString:
USING 0
MOV DPTR,#g_iPyChar
MOVX A,@DPTR
MOV R7,A
CLR C
MOV DPTR,#g_iObj+01H
MOVX A,@DPTR
SUBB A,R7
MOV DPTR,#g_iObj
MOVX A,@DPTR
SUBB A,#00H
JNC ?C0011
MOV R7,#0FFH
RET
?C0011:
CLR A
MOV R7,A
?C0013:
MOV A,R7
MOV R5,A
MOV DPTR,#g_iObj
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
SETB C
SUBB A,R5
MOV A,R2
SUBB A,#00H
JC ?C0014
MOV A,#LOW (keybuf)
ADD A,R7
LCALL L?0331
MOVX A,@DPTR
MOV R6,A
MOV A,#LOW (g_sObjChar)
ADD A,R7
MOV DPL,A
CLR A
ADDC A,#HIGH (g_sObjChar)
MOV DPH,A
MOVX A,@DPTR
XRL A,R6
JZ ?C0015
MOV R7,#0FFH
RET
?C0015:
INC R7
SJMP ?C0013
?C0014:
MOV DPTR,#g_iPyChar
MOVX A,@DPTR
MOV R6,#00H
CJNE A,AR3,?C0017
MOV A,R6
CJNE A,AR2,?C0017
MOV R7,#00H
RET
?C0017:
MOV R7,#01H
?C0012:
RET
RSEG ?PR?GetPYChar?WBANDPYS
GetPYChar:
USING 0
CLR A
MOV g_ii?247,A
MOV g_ii?247+01H,A
LCALL L?0350
MOV g_ii?247,A
MOV g_ii?247+01H,A
SETB A15
MOV DPTR,#UPSD_xreg+05H
MOV A,#03H
MOVX @DPTR,A
?C0019:
LCALL L?0377
JC $ + 5H
LJMP ?C0020
CLR A
ADD A,g_ii?247+01H
LCALL L?0339
CLR C
SUBB A,#061H
JC ?C0021
MOV A,R7
SETB C
SUBB A,#07AH
JNC ?C0021
MOV DPTR,#keybuf
MOVX A,@DPTR
MOV R6,A
MOV A,R7
XRL A,R6
JNZ ?C0022
MOV DPTR,#g_iObj
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
?C0023:
LCALL L?0377
JNC ?C0024
MOV A,R7
CLR C
SUBB A,#061H
JC ?C0024
MOV A,R7
SETB C
SUBB A,#07AH
JNC ?C0024
LCALL L?0372
MOV R4,A
MOV A,#LOW (g_sObjChar)
ADD A,B
MOV DPL,A
MOV A,#HIGH (g_sObjChar)
ADDC A,R4
MOV DPH,A
MOV A,R7
MOVX @DPTR,A
INC g_ii?247+01H
MOV A,g_ii?247+01H
JNZ ?C0276
INC g_ii?247
?C0276:
ADD A,#00H
LCALL L?0339
SJMP ?C0023
?C0024:
LCALL IsSubString
MOV A,R7
JNZ ?C0019
MOV DPTR,#g_iObj
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
CLR C
MOV A,g_ii?247+01H
SUBB A,R7
MOV R7,A
MOV A,g_ii?247
SUBB A,R6
MOV R6,A
RET
?C0022:
INC g_ii?247+01H
MOV A,g_ii?247+01H
JNZ ?C0284
INC g_ii?247
?C0277:
LJMP ?C0019
?C0021:
INC g_ii?247+01H
MOV A,g_ii?247+01H
JNZ ?C0278
INC g_ii?247
?C0278:
?C0284:
LJMP ?C0019
?C0020:
MOV R6,#00H
MOV R7,#01H
?C0026:
RET
RSEG ?PR?GetWBChar?WBANDPYS
GetWBChar:
USING 0
CLR A
MOV g_ii?351,A
MOV g_ii?351+01H,A
LCALL L?0350
MOV g_ii?351,A
MOV g_ii?351+01H,A
MOV DPTR,#keybuf
MOVX A,@DPTR
ADD A,ACC
ADD A,#LOW (Gchar+0FF3EH)
MOV DPL,A
CLR A
ADDC A,#HIGH (Gchar+0FF3EH)
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV g_ii?351,A
MOV A,#01H
MOVC A,@A+DPTR
MOV g_ii?351+01H,A
MOV DPTR,#UPSD_xreg+05H
MOV A,#07H
MOVX @DPTR,A
?C0029:
MOV DPTR,#keybuf
MOVX A,@DPTR
MOV R7,A
LCALL L?0345
JNC $ + 5H
LJMP ?C0030
CLR A
ADD A,g_ii?351+01H
MOV R3,A
LCALL L?0374
MOV gp_Far+01H,R3
CLR C
SUBB A,#080H
JNC ?C0031
LCALL L?0341
SJMP ?C0032
?C0031:
SETB A15
?C0032:
LCALL L?0359
CLR C
SUBB A,#061H
JNC $ + 5H
LJMP ?C0033
MOV A,R4
SETB C
SUBB A,#07AH
JC $ + 5H
LJMP ?C0033
MOV A,R4
XRL A,R7
JZ $ + 5H
LJMP ?C0034
MOV DPTR,#g_iObj
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
?C0035:
MOV DPTR,#keybuf
MOVX A,@DPTR
LCALL L?0345
JC ?C0036
MOV A,R4
SUBB A,#061H
JC ?C0036
MOV A,R4
SETB C
SUBB A,#07AH
JNC ?C0036
LCALL L?0372
MOV R6,A
MOV A,#LOW (g_sObjChar)
ADD A,B
MOV DPL,A
MOV A,#HIGH (g_sObjChar)
ADDC A,R6
MOV DPH,A
MOV A,R4
MOVX @DPTR,A
INC g_ii?351+01H
MOV A,g_ii?351+01H
JNZ ?C0279
INC g_ii?351
?C0279:
ADD A,#00H
LCALL L?0373
MOV gp_Far+01H,R7
CLR C
SUBB A,#080H
JNC ?C0037
LCALL L?0341
SJMP ?C0038
?C0037:
SETB A15
?C0038:
LCALL L?0359
SJMP ?C0035
?C0036:
LCALL IsSubString
MOV A,R7
JZ $ + 5H
LJMP ?C0029
MOV A,g_ii?351+01H
ADD A,#01H
LCALL L?0373
MOV gp_Far+01H,R7
MOV DPTR,#g_sStrTemp+02H
MOV A,R4
MOVX @DPTR,A
MOV R7,#03H
?C0040:
MOV A,R4
CLR C
SUBB A,#061H
JC ?C0042
MOV A,R4
SETB C
SUBB A,#07AH
JC ?C0041
?C0042:
CLR C
MOV A,gp_Far
SUBB A,#080H
JNC ?C0043
LCALL L?0342
SJMP ?C0044
?C0043:
SETB A15
?C0044:
LCALL L?0360
MOV A,#LOW (g_sStrTemp)
ADD A,R7
LCALL L?0302
MOV A,R4
MOVX @DPTR,A
INC gp_Far+01H
MOV A,gp_Far+01H
JNZ ?C0280
INC gp_Far
?C0280:
INC R7
SJMP ?C0040
?C0041:
MOV A,#LOW (g_sStrTemp+0FFFFH)
ADD A,R7
MOV DPL,A
CLR A
ADDC A,#HIGH (g_sStrTemp+0FFFFH)
MOV DPH,A
CLR A
MOVX @DPTR,A
MOV A,R7
ADD A,#0FEH
CLR C
RRC A
MOV DPTR,#g_iXqHzCount
MOVX @DPTR,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
CLR C
MOV A,g_ii?351+01H
SUBB A,R7
MOV R7,A
MOV A,g_ii?351
SUBB A,R6
MOV R6,A
RET
?C0034:
INC g_ii?351+01H
MOV A,g_ii?351+01H
JNZ ?C0285
INC g_ii?351
?C0281:
LJMP ?C0029
?C0033:
INC g_ii?351+01H
MOV A,g_ii?351+01H
JNZ ?C0282
INC g_ii?351
?C0282:
?C0285:
LJMP ?C0029
?C0030:
MOV R6,#00H
MOV R7,#01H
?C0045:
RET
RSEG ?PR?GetChinaCode?WBANDPYS
GetChinaCode:
USING 0
LCALL L?0361
ADD A,#0F0H
MOV R7,A
INC DPTR
MOVX A,@DPTR
MOV B,#0AH
MUL AB
MOV R6,A
INC DPTR
MOVX A,@DPTR
ADD A,R6
MOV R6,A
ADD A,#0F0H
MOV R5,A
MOV A,R7
CLR C
SUBB A,#010H
JC ?C0049
MOV A,R7
SETB C
SUBB A,#057H
JC ?C0048
?C0049:
MOV R7,#00H
RET
?C0048:
MOV A,R5
CLR C
SUBB A,#01H
JC ?C0052
MOV A,R5
SETB C
SUBB A,#05EH
JC ?C0051
?C0052:
MOV R7,#00H
RET
?C0051:
LCALL L?0361
ADD A,#090H
MOV DPTR,#gSChinaCode
MOVX @DPTR,A
MOV A,R6
ADD A,#090H
INC DPTR
MOVX @DPTR,A
MOV R7,#01H
?C0050:
RET
RSEG ?PR?HzInput?WBANDPYS
HzInput:
USING 0
MOV DPTR,#UPSD_xreg+012H
MOVX A,@DPTR
ANL A,#080H
MOVX @DPTR,A
CLR A
MOV i?554,A
?C0053:
MOV A,#LOW (Hz_Record)
ADD A,i?554
MOV DPL,A
CLR A
ADDC A,#HIGH (Hz_Record)
LCALL L?0305
CJNE A,#028H,?C0053
?C0054:
CLR A
MOV hz_store_len?560,A
MOV i?554,A
?C0056:
LCALL L?0303
CJNE A,#06H,?C0056
?C0057:
CLR A
MOV DPTR,#f_shouxie
MOVX @DPTR,A
MOV DPTR,#input_long
MOVX @DPTR,A
MOV DPTR,#Col3_nextRow
MOV A,#012H
MOVX @DPTR,A
MOV DPTR,#UPSD_xreg+014H
MOV A,#080H
MOVX @DPTR,A
MOV DPTR,#HZResult_row
MOVX A,@DPTR
MOV HZResult_row_bank?558,A
MOV DPTR,#HZResult_col
MOVX A,@DPTR
MOV HZResult_col_bank?559,A
LCALL L?0356
JZ ?C0062
DEC A
JZ ?C0061
DEC A
JZ ?C0063
DEC A
JZ ?C0064
ADD A,#04H
JNZ ?C0067
?C0060:
; 英文输入法,Col3
MOV R3,#0FFH
MOV R2,#HIGH (?SC_0)
MOV R1,#LOW (?SC_0)
SJMP ?C0289
?C0061:
; 五笔输入法,Col3
MOV R3,#0FFH
MOV R2,#HIGH (?SC_11)
MOV R1,#LOW (?SC_11)
?C0287:
SJMP ?C0289
?C0062:
; 拼音输入法,Col3
MOV R3,#0FFH
MOV R2,#HIGH (?SC_22)
MOV R1,#LOW (?SC_22)
?C0288:
SJMP ?C0289
?C0063:
; 区位输入法,Col3
MOV R3,#0FFH
MOV R2,#HIGH (?SC_33)
MOV R1,#LOW (?SC_33)
?C0289:
MOV R5,#0BCH
LCALL _DisHzLinYm
SJMP ?C0067
?C0064:
; 手写输入法,Col3
LCALL L?0354
MOV DPTR,#0212H
MOVX A,@DPTR
ANL A,#07FH
MOVX @DPTR,A
?C0067:
LCALL GetKey
MOV A,keyc
CLR C
SUBB A,#061H
JC ?C0070
MOV A,keyc
SETB C
SUBB A,#07AH
JC ?C0069
?C0070:
MOV A,keyc
SETB C
SUBB A,#09H
JC $ + 5H
LJMP ?C0068
?C0069:
MOV DPTR,#input_state
MOVX A,@DPTR
ADD A,#0F5H
JNZ $ + 5H
LJMP ?C0084
DEC A
JNZ $ + 5H
LJMP ?C0087
DEC A
JNZ $ + 5H
LJMP ?C0081
ADD A,#03H
JZ $ + 5H
LJMP ?C0068
?C0072:
MOV A,keyc
SETB C
SUBB A,#09H
MOV A,keyc
MOV B,#010H
JNC ?C0073
LCALL L?0323
MOV A,keyc
MOV B,#010H
MUL AB
MOV R3,#0FFH
ADD A,#LOW (PrnVAsc+0100H)
MOV R1,A
MOV A,#HIGH (PrnVAsc+0100H)
SJMP ?C0286
?C0073:
MUL AB
MOV R3,#0FFH
ADD A,#LOW (PrnVAsc+0FE00H)
MOV R1,A
MOV A,#HIGH (PrnVAsc+0FE00H)
ADDC A,B
MOV R2,A
LCALL L?0369
MOV A,keyc
MOV B,#010H
MUL AB
MOV R3,#0FFH
ADD A,#LOW (PrnVAsc+0FE00H)
MOV R1,A
MOV A,#HIGH (PrnVAsc+0FE00H)
?C0286:
ADDC A,B
MOV R2,A
LCALL L?0309
MOV ?_DisAsc?BYTE+04H,A
LCALL _DisAsc
?C0074:
LCALL L?0332
JC $ + 5H
LJMP ?C0068
MOV A,keyc
SUBB A,#09H
JNC ?C0076
MOV A,keyc
ADD A,#030H
MOV R7,A
LCALL L?0337
MOV A,R7
MOVX @DPTR,A
SJMP ?C0077
?C0076:
LCALL L?0337
MOV A,keyc
MOVX @DPTR,A
?C0077:
LCALL L?0347
JNC ?C0078
MOVX A,@DPTR
INC A
MOVX @DPTR,A
SJMP ?C0079
?C0078:
MOV A,HZResult_col_bank?559
CJNE A,#0B8H,?C0079
LCALL L?0324
?C0079:
INC hz_store_len?560
LJMP ?C0068
?C0081:
MOV A,keyc
SETB C
SUBB A,#09H
JNC ?C0068
?C0082:
MOV DPTR,#input_long
MOVX A,@DPTR
SETB C
SUBB A,#03H
JNC ?C0068
?C0083:
MOV A,keyc
MOV B,#010H
LCALL L?0323
MOV A,keyc
ADD A,#030H
MOV R7,A
LCALL L?0328
MOV A,R7
SJMP ?C0291
?C0084:
MOV A,keyc
SETB C
SUBB A,#09H
JC ?C0068
?C0085:
MOV DPTR,#input_long
MOVX A,@DPTR
SETB C
SUBB A,#05H
JNC ?C0068
?C0086:
LCALL L?0314
LCALL L?0328
MOV A,keyc
?C0290:
SJMP ?C0291
?C0087:
MOV A,keyc
SETB C
SUBB A,#09H
JC ?C0068
?C0088:
MOV DPTR,#input_long
MOVX A,@DPTR
SETB C
SUBB A,#03H
JNC ?C0068
?C0089:
LCALL L?0314
LCALL L?0329
MOV A,keyc
?C0291:
MOVX @DPTR,A
MOV DPTR,#Col3_nextRow
MOVX A,@DPTR
INC A
MOVX @DPTR,A
INC DPTR
MOVX A,@DPTR
INC A
MOVX @DPTR,A
?C0068:
MOV A,keyc
ADD A,#0F5H
JNZ $ + 5H
LJMP ?C0239
ADD A,#0FCH
JNZ $ + 5H
LJMP ?C0255
ADD A,#0EFH
JZ $ + 5H
LJMP ?C0065
?C0091:
MOV i?554,#012H
?C0092:
LCALL L?0362
MOV ?_DisAsc?BYTE+04H,i?554
MOV R5,#0BCH
LCALL _DisAsc
INC i?554
MOV A,i?554
SETB C
SUBB A,#018H
JC ?C0092
?C0093:
MOV DPTR,#f_shouxie
MOVX A,@DPTR
JNZ ?C0095
MOV DPTR,#keybuf
MOVX A,@DPTR
JNZ $ + 5H
LJMP ?C0065
?C0095:
MOV DPTR,#input_state
MOVX A,@DPTR
MOV R7,A
CJNE A,#0DH,?C0097
MOV DPTR,#keybuf
MOVX A,@DPTR
MOV DPTR,#gSQwCode
MOVX @DPTR,A
MOV DPTR,#keybuf+01H
MOVX A,@DPTR
MOV DPTR,#gSQwCode+01H
MOVX @DPTR,A
MOV DPTR,#keybuf+02H
MOVX A,@DPTR
MOV DPTR,#gSQwCode+02H
MOVX @DPTR,A
MOV DPTR,#keybuf+03H
MOVX A,@DPTR
MOV DPTR,#gSQwCode+03H
MOVX @DPTR,A
?C0097:
MOV A,R7
XRL A,#0EH
JZ $ + 5H
LJMP ?C0098
MOV DPTR,#f_shouxie
MOVX @DPTR,A
MOV i?554,#02H
?C0099:
MOV A,#LOW (RecBuff+0FFFEH)
ADD A,i?554
MOV DPL,A
CLR A
ADDC A,#HIGH (RecBuff+0FFFEH)
LCALL L?0300
MOV A,R7
MOVX @DPTR,A
INC i?554
MOV A,i?554
CJNE A,#017H,?C0099
?C0100:
LCALL L?0334
JZ ?C0102
LCALL L?0364
SJMP ?C0103
?C0102:
LCALL L?0319
MOV R7,A
?C0103:
LCALL L?0366
CJNE A,ty_page?556,?C0104
MOV A,R6
JZ ?C0104
LCALL L?0319
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -