📄 newench.asm
字号:
; * SP104 INTERFACE (ZERO PAGE) *
; ***************************************************************************
;;===================================================
;; >>>非零页变量Define<< Ndata=280h
;;(Ndata的前60个字节留出给CHDICT.ASM使用--yangling add)
cdict_result equ Ndata+60H ;解压结果存放地址600bytes
PageXaddrbuff equ Ndata+60H+606;保存每页的地址294bytes
jieshifirstbuff equ Ndata+60H+900;进入其他属性前保存解释的信息350byte
jieshisecondbuff equ Ndata+60H+1250 ;进入属性里的例句前保存(three bytes)
citiaobuff equ Ndata+60H+1253 ;保存主词条35byte
ninputbuff equ citiaobuff+35 ;输入缓冲区20个字节
DengHaoBuff equ Edata-26 ;
Edata equ 800h
;ninputbuff equ Edata+0 ;输入缓冲区20个字节
;findbuff equ Edata+20 ;用于查找的输入缓冲(全为小写)
findbuff equ Edata+0 ;用于查找的输入缓冲(全为小写)40bytes反查
charcount equ Edata+40 ;记载输入了多少字符
tmpcount equ Edata+41 ;临时变量
tmpcount1 equ Edata+42 ;临时变量
tmpcount2 equ Edata+43 ;临时变量
tmpcount3 equ Edata+44 ;临时变量
az16regL equ Edata+45 ;记载有多少个8分索引低位
az16regH equ Edata+46 ;记载有多少个8分索引高位
Jianstart equ Edata+47 ;记载尖括号的开始值(相对cdict_result)
Jianend equ Edata+48 ;记载尖括号的结束值(相对cdict_result)
firstlinebuff equ Edata+49 ;记载第一行的信息(five byte)
nowlinebuff equ Edata+54 ;记载刚解压词条的信息(five byte)
Attributebuff equ Edata+59 ;记载属性的信息(five byte)
OYbak equ Edata+64 ;保存<OY
textpagenum equ Edata+65 ;解释页数
extract_addrbak equ Edata+67 ;twelf bytes(用于解压一个字节前备份
eachAttributeaddr equ Edata+79 ;属性索引的开始地址(five bytes)
Newwordstartaddrbuff equ Edata+79 ;生词组的第一个单词存放地址2byte和eachAttributeaddr共用
Newwordfirstlinebuff equ Edata+81 ;生词的第一行地址2byte和eachAttributeaddr共用
Attributefirstlineaddr equ Edata+84 ;显示属性的第一行地址five
reviewfirstlineaddr equ Edata+84 ;显示回顾第一行的地址two bytes和属性共用
Namefirstlinebuff equ Edata+84 ;生词组第一行的地址2byte和属性共用
newnameOYbak equ Edata+86 ;生词组组名OY的保存和属性共用
newwordOYbak equ Edata+87 ;生词OY的保存和属性共用
Attributenowlineaddr equ Edata+89 ;当前属性的地址five byte
reviewnowlineaddr equ Edata+89 ;当前回顾地址two bytes和属性共用
newwordnowlinbuff equ Edata+89 ;记载当前生词(解释时)的地址(2byte)和属性共用
lijuNum equ Edata+94 ;第几个例句
lijupageNum equ Edata+95 ;例句显示页数
AttributeOYbak equ Edata+96 ;保存属性的<OY用于返回
reviewOYbak equ Edata+96 ;保存回顾的<OY和属性AttributeOYbak共用
lijuaddrbuff equ Edata+97 ;当前屏的例句地址缓冲(12bytes)
NewwordNamebuff equ Edata+97 ;生词库组名缓冲10byte和lijuaddrbuff共用
lijuallNum equ Edata+109;记载浏览全部例句时当前例句数
yinbiaoinfbuff equ Edata+110 ;保存解释里音标的个数(12byte)&<OX OY
jieshiyinbiaobuff equ Edata+122 ;保存解释里的音标40byte
;;=>>>>反查<<<<==
GuaiwanSTOX equ Edata+162 ;跨两行的单词在第一行开始反显的<OX
GuanWanSTLen equ Edata+163 ;跨两行的单词在第一行反显的宽度
DuoXuanstartY equ Edata+164 ;保存多选时开始的textbuffor的偏移
; ***************************************************************************
.ifdef WORDMRC_ADDR
INCLUDE VOICE.DEF
.else
INCLUDE TALKWORD.DEF
.endif
; ***************************************************************************
;;===================>>>变量替换<<<============
Icondownpage equ icon_downpage
IconUPpage equ Icon_Uppage
UpPagekey equ pgUp
DownPagekey equ PgDown
ReviewKey equ AmendKey
NewwordKey equ Findkey ;生词组按键
DefaultInskey equ InsertKey ;存入默认生词组键
FenLeiNum equ lijupageNum ;分类的个数和例句共用
;;==========标志位的意义=======================
;NewFlag
;+-+-+-+-+-+-+-+-+
;|7|6|5|4|3|2|1|0|
;+-+-+-+-+++++++++
; | | | | | | | +-- {0--0:. 1:词典结尾.}
; | | | | | | +---- {1--0:. 1:浏览词条模式.}
; | | | | | +------ {2--0:. 1:解释里英文模式.}
; | | | | +-------- {3--0:. 1:解释里音标模式.}
; | | | +---------- {4--0:. 1:显示模式5(mode5 mode9 mode10 .}
; | | +------------ {5--0:. 1:显示模式mode15 mode16 mode17mode18.}
; | +-------------- {6--0:. 1:有'<'&'>'出现.}
; +---------------- {7--0:. 1:从解释进入生词库.}
;<Blackflag
;+-+-+-+-+-+-+-+-+
;|7|6|5|4|3|2|1|0|
;+-+-+-+-+++++++++
; | | | | | | | +-- {0--0:. 1:屏幕目前有反显字.}
; | | | | | | +---- {1--0:. 1:屏幕目前有多选字.}
; | | | | | +------ {2--0:. 1:有等号的反查.}
; | | | | +-------- {3--0:. 1:.}
; | | | +---------- {4--0:. 1:.}
; | | +------------ {5--0:. 1:.}
; | +-------------- {6--0:. 1:.}
; +---------------- {7--0:. 1:反显的字两行都有.}
;<Levelflag
;+-+-+-+-+-+-+-+-+
;|7|6|5|4|3|2|1|0|
;+-+-+-+-+++++++++
; | | | | | | | +-- {0--0:. 1:进入多级反查状态.}
; | | | | | | +---- {1--0:. 1:.}
; | | | | | +------ {2--0:. 1:.}
; | | | | +-------- {3--0:. 1:.}
; | | | +---------- {4--0:. 1:.}
; | | +------------ {5--0:. 1:.}
; | +-------------- {6--0:. 1:.}
; +---------------- {7--0:. 1:根词典是汉英.}
;MatchFlag
;+-+-+-+-+-+-+-+-+
;|7|6|5|4|3|2|1|0|
;+-+-+-+-+++++++++
; | | | | | | | +-- {0--0:. 1:模糊查询出现'*'.}
; | | | | | | +---- {1--0:. 1:模糊查询最后一个'*'.}
; | | | | | +------ {2--0:. 1:.}
; | | | | +-------- {3--0:. 1:.}
; | | | +---------- {4--0:. 1:.}
; | | +------------ {5--0:. 1:.}
; | +-------------- {6--0:. 1:.}
; +---------------- {7--0:. 1:.}
;Amendflag
;+-+-+-+-+-+-+-+-+
;|7|6|5|4|3|2|1|0|
;+-+-+-+-+++++++++
; | | | | | | | +-- {0--0:. 1:词条有Bug.}
; | | | | | | +---- {1--0:. 1:解释有bug.}
; | | | | | +------ {2--0:. 1:音标有bug.}
; | | | | +-------- {3--0:. 1:.}
; | | | +---------- {4--0:. 1:.}
; | | +------------ {5--0:. 1:.}
; | +-------------- {6--0:. 1:.}
; +---------------- {7--0:. 1:.}
;;AttributeL 标志 ;;AttributeH 标志
;; 0--GRE || ;; 0--辨析
;; 1--GMAT || ;; 1--变化
;; 2--TOEFL || ;; 2--分类
;; 3--IELTS || ;; 3--词根
;; 4--CET6 || ;; 4--习语
;; 5--CET4 || ;; 5--派生
;; 6--同义 || ;; 6--复合
;; 7--反义 || ;; 7--例句
; AttributeM
; 7 BASIC
; 6 VOICE
;;==================================================
DS0 .SECTION ; Data ROM location
include bookbmp.asm
Newenchtittle:
db ' 英汉词典',0dh
db '请输入英文:'
db 0dh,0dh,0dh
db '[英]',0
NewenchFirstHelp:
db '输入要查的英文.',0dh
db '[生词]进入生词库.',0dh
db '[回顾]进入回顾查询',0dh
db '[返回]返回.',0
NewenchinputHelp:
NewenchMoHuinputHelp:
db '输入要查的英文,如果包含"*"或"?"则进行模糊查找,"*"代表任意个字符,"?"代表任意一个字符.',0dh
db '左键字符.',0dh
db '上下键浏览跟随.',0dh
db '[确认]查看解释.',0dh
db '[返回]返回.',0
;NewenchMoHuinputHelp:
; db '输入要查的英文,如果包含"*"或"?"则进行模糊查找,"*"代表任意个字符,"?"代表任意一个字符.',0dh
; db '[',f8h,d2h,']或[删除]删除字符.',0dh
; db '[返回]返回.',0
PUBLIC NewenchIdiomHelp
NewenchIdiomHelp:
db '上下键浏览.',0dh
db '左右键浏览超过一行的单词.',0dh
db '[确认]查看解释.',0dh
db '[返回]返回.',0
NewenchJieshiHelp:
db '上下键浏览内容.',0dh
db '翻页键浏览相邻词条.',0dh
db '属性键浏览属性.',0dh
db '[例]查看例句.',0dh
db '[添加]存入默认生词组.',0dh
db '[生词]进入生词库.',0dh
db '[',f8h,d2h,'][',f8h,b9h,']选择反查的内容,[shift]+[',f8h,b9h,']多选'
db '按[确认]开始反查.',0dh
db '[返回]返回.',0
NewenchLijuHelp:
db '[',f8h,d0h,'][',f8h,d1h,']浏览内容.',0dh
db '[',f8h,d2h,'][',f8h,b9h,']选择反查的内容,[shift]+[',f8h,b9h,']多选.'
db '此时按[确认]开始反查.',0dh
db '[返回]返回.',0
NewenchAttributeJieshiHelp:
db '[',f8h,d0h,'][',f8h,d1h,']浏览内容.',0dh
db '[',f8h,ceh,'][',f8h,cfh,']浏览相邻单词.',0dh
db '[例]查看例句',0dh
db '[',f8h,d2h,'][',f8h,b9h,']选择反查的内容,[shift]+[',f8h,b9h,']多选'
db '按[确认]开始反查.',0dh
db '[返回]返回.',0
NewenchAllLiJuhelp:
db '[',f8h,d0h,'][',f8h,d1h,']浏览内容.',0dh
db '[',f8h,ceh,'][',f8h,cfh,']浏览上下组例句.',0dh
db '[',f8h,d2h,'][',f8h,b9h,']选择反查的内容,[shift]+[',f8h,b9h,']多选.'
db '此时按[确认]开始反查.',0dh
db '[返回]返回.',0
ReviewJieshiHelp:
db '[',f8h,d0h,'][',f8h,d1h,']浏览内容.',0dh
db '[',f8h,ceh,'][',f8h,cfh,']浏览相邻单词.',0dh
db '[例证]查看全部例句,[例]跳选当前屏的"',0afh,0feh,'"标识.',0dh
db '[返回]返回.',0
reviewLiJuHelp:
db '[',f8h,d0h,'][',f8h,d1h,']浏览内容.',0dh
db '[返回]返回.',0
NewwordNoNameHelp:
db '[Y]建立新组.',0dh
db '[N]或[返回]返回.',0
NewwordInputNameHelp:
db '输入名字(最多8个字符).'
db '[',f8h,d2h,']或[删除]删除字符.',0dh
db '[确认]保存.',0dh
db '[返回]返回.',0
NewwordDisplayNameHelp:
db '[',f8h,d0h,'][',f8h,d1h,']或[',f8h,ceh,'][',f8h,cfh,']浏览.',0dh
db '[添加]添加新组.',0dh
db '[删除]删除一组.',0dh
db '[修改]修改组名.',0dh
db '[空格]设置默认组.',0dh
db '[返回]返回.',0
NewwordIfstoreHelp:
db '[Y]保存.',0dh
db '[N]或[返回]返回.',0
ReviewjieshiAllLiJuhelp:
db '[',f8h,d0h,'][',f8h,d1h,']浏览内容.',0dh
db '[',f8h,ceh,'][',f8h,cfh,']浏览上下组例句.',0dh
db '[返回]返回.',0
MuhuMatchjieshiHelp:
db '[',f8h,d0h,'][',f8h,d1h,']浏览内容.',0dh
db '[',f8h,ceh,'][',f8h,cfh,']查找其他匹配的单词.',0dh
db '[例]查看例句.',0dh
db '[返回]返回.',0
Newchenkeytable:
db akey
db bkey
db ckey
db dkey
db ekey
db fkey
db gkey
db hkey
db ikey
db jkey
db kkey
db lkey
db mkey
db nkey
db okey
db pkey
db qkey
db rkey
db skey
db tkey
db ukey
db vkey
db wkey
db xkey
db ykey
db zkey
;=====================================================
; Event vector table.
Newenchevent:
dw NewenchBank
dw Thsec-1 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -