一种使通信终端实现手写笔迹信息交流的方法.pdf

上传人:Y94****206 文档编号:689611 上传时间:2018-03-05 格式:PDF 页数:39 大小:1.81MB
返回 下载 相关 举报
摘要
申请专利号:

CN03122730.9

申请日:

2003.04.18

公开号:

CN1538722A

公开日:

2004.10.20

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):H04M 1/247申请日:20030418授权公告日:20080409|||地址不明的通知收件人:张烂熳文件名称:专利权终止通知书|||授权|||实质审查的生效|||公开

IPC分类号:

H04M1/247; H04M11/00

主分类号:

H04M1/247; H04M11/00

申请人:

张烂熳; 刘丁阳; 厦门神速信息通讯技术有限公司

发明人:

张烂熳; 刘丁阳

地址:

361006福建省厦门市湖里区仙洞路39号702室(台北新村2D702)

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

一种使通信终端实现手写笔迹信息交流的方法。涉及文字及图像信息的输入及信息交流的技术。本发明适用于移动通讯终端、固定信息电话机、新型的以笔迹交流为主的通讯终端。本发明采用触摸屏代替现有通信终端的显示器正面与外部之间的透光材料,以一个触摸屏控制器来控制触摸屏,当需要时该触摸屏控制器采集手写笔迹的坐标,分析坐标之间的关系生成笔划矢量数据。将包含有笔划矢量数据的数据传送给通信终端的主控制器。通信终端的主控制器存贮、编辑所得到的笔迹矢量数据。当需要时,通信终端的主控制器以现有方式收发包含有笔迹矢量数据的数据。当需要时,通信终端的主控制器重现所收到的笔迹矢量数据。

权利要求书

1: 一种使通信终端实现手写笔迹信息交流的方法。其特征在于:用透 光的触摸屏代替在现有的通信终端的显示器件正面与外部之间的透光的材 料,由一个触摸屏控制器控制触摸屏,进行手写笔迹数据的采集,并生成 笔划矢量数据,根据需要由触摸屏控制器或通信终端的主控制器完成手写 过程的实时显示;由通信终端的主控制器将包含有笔划矢量数据的笔迹矢 量数据与现有的语音或图像或文字或其它数据的信息进行编辑存贮;当需 要将笔迹信息传送到其它通信终端时,在通信终端的主控制器的控制下将 包含有笔迹矢量数据的数据经由该通信终端所遵从的现有的传送图像或声 音或文字或其它数据的方法发送出去;当通信终端依其所遵从的现有的接 收图像或声音或文字或其它数据的方法收到包含有笔迹矢量数据的数据 后,以现有方式存贮该信息;在需要显示该数据所包含的笔迹信息时,依 据每个笔迹矢量数据重新画出每个笔迹,并据需要放大和缩小各个笔迹。
2: 如权利要求1所述的透光的触摸屏其特征在于:所述的透光的触摸 屏作为手写笔迹的传感器,包含了当笔在触摸屏表面移动时,对水平方向 和垂直方向的移动分量敏感的材料。
3: 如权利要求1所述的触摸屏控制器其特征在于:所说的触摸屏控制 器具有相应电路通过一定时序给触摸屏提供驱动信号来检测当笔在触摸屏 表面移动时在水平方向和垂直方向的移动分量并得到相应的笔迹某点的水 平方向和垂直方向的坐标分量。所说的触摸屏控制器分析笔迹运动的位移 矢量,产生笔划矢量数据。
4: 如权利要求3所述的触摸屏控制器其特征在于:当所述的触摸屏为 电阻式透光触摸屏时,所述的触摸屏控制器至少包含有两路模拟到数字转 换电路(A/D电路);具有当每次笔开始书写时产生中断的机制;至少具有 4个引脚用于分别单独控制所控制的触摸屏的水平和垂直方向的一个引 脚;当笔正在触摸屏上书写时,所述的触摸屏控制器采集任一点坐标的时 序中至少包含有两次这样的流程:在时刻1,触摸屏控制器将触摸屏的方 向1(水平方向或垂直方向)的某一引脚(设为引脚1)接固定的已知的高 电平,该方向1的另一引脚(设为引脚2)接同样的固定的已知的高电平 或接高阻抗。触摸屏控制器将触摸屏方向2(非方向1的方向)的两个引 脚接高阻抗;在时刻2,触摸屏控制器通过模拟到数字的转换检测触摸屏 方向2的一个引脚(设为引脚3)的电平;在时刻3,触摸屏控制器取得引 脚3经模拟到数字的转换完成后的电平所对应的数值;在时刻4,判断引 脚3的电平所对应的数值为这时水平方向和垂直方向完全导通所对应的引 脚3应有的值吗?如果条件满足则:如果本点坐标还未采集完则继续采集, 如果本点坐标已采集完则采集的坐标值有效。如果条件不满足则:本次采 集该点坐标的值无效。须等待预设的一段时间间隔后重新采集。
5: 如权利要求1所述的生成笔划矢量数据的特征在子:当触摸屏控制 器采集得笔迹的先后的两点坐标时,先存起来,并将第2点坐标存为最后 坐标。当采集得第三点笔迹坐标后,计算第三点笔迹坐标与第一点笔迹坐 标构成的位移矢量(设为矢量1)和第一点坐标与第二点坐标构成的位移 矢量(设为矢量2)。判断是否满足条件1:矢量1与矢量2的方向夹角小 子预设的范围且矢量1的长度不小于矢量2的长度。如果满足该条件1则 第三点坐标存为最后坐标,等过预设的一段时间后再继续采集新的一点坐 标作为第三点坐标。如果不满足该条件1则过一段时间后采集第4点坐标, 得到第4点坐标后,计算第4点坐标与第1点坐标构成的位移矢量(设为 矢量3);判断是否满足条件2:矢量3与矢量1的方向夹角小于预设的范 围且矢量1的长度不小于矢量3的长度;如果满足条件2则舍去第三点坐 标将第4点坐标存为最后坐标,过一段预设的时间后再重新采集新的一点 坐标作为第三点坐标;如果不满足条件2则将第1点和最后坐标构成的矢 量作为已生成的一个笔划的矢量数据,将第三点坐标作为新的一个笔划的 第一点坐标,将第四点坐标作为新的一个笔划的第二点坐标和最后坐标。 如果采集到触摸屏水平方向与垂直方向不接触,则统计连续的不接触时间, 如果该时间超过设定的间隔则将第一点坐标和最后坐标构成的矢量作为已 生成的一个笔划的矢量,并设一个标志表示下一个采到的坐标为第一点坐 标,如果连续的不接触时间大于另一设定的间隔则说明本次书写结束,重 复上述过程可实现将一次书写过程的每个笔划的矢量数据采集得到。
6: 如权利要求1所述的笔划矢量数据其特征在于:所述的笔划矢量数 据至少包含了该笔划的起点坐标和终点坐标。
7: 如权利要求1所述的笔迹矢量数据其特征在于:所述的每个笔迹矢 量数据包含有表示一次书写的笔迹的数据长度或笔划个数的数据段,包含 有本次书写的每个笔划的笔划矢量数据。当所述的笔迹矢量数据以同一个 数据段位置来表示前后两个笔划共用一点坐标时,则还包含有若干数据段 用于表示每个后面的笔划是否与前面的笔划共用同一点坐标。当所说的笔 迹矢量数据与现有的其它方式输入的现有的文字编码相混合时则所说的笔 迹矢量数据至少包含有一个数据段用于表示这是新的特殊的文字码,以便 依次读取这种混合的数据时区分现有的文字编码还是新的完整的笔迹矢量 数据。当所说的笔迹矢量数据与现有的图像或声音或其它格式的数据相混 合以便发送给其它通信终端,或者以现有的发送数据的方法发送笔迹矢量 数据时,所说的每个笔迹矢量数据至少包含有一个数据段用于与现有的其 它数据结构相区别。
8: 如权利要求1所述的依据每个笔迹矢量数据重新画出每个笔迹的方 法其特征在于:依次读取每个笔迹矢量数据所包含的每个笔划矢量数据, 依据每个笔划矢量数据的起点和终点坐标,在要显示的位置上依据需显示 的大小与整个笔迹的原大小或原边界的对应关系,计算出该笔划的起点和 终点所对应的位置,并在该起点和终点所对应的位置间画一直线,将每个 笔迹矢量数据所包含的每个笔划矢量数据依次按同样的方法画出直到全部 画完为止。

说明书


一种使通信终端实现手写笔迹信息交流的方法

    【技术领域】

    本发明涉及文字及图像信息的输入及信息交流的技术,是一种在通信终端进行手写笔迹输入(包括文字和图形)并经通信终端发送,由其它通信终端接收并重现手写笔迹,从而实现信息交流的方法。

    背景技术

    现有的通信终端按文字输入方式可归为两类,一类具有用笔手写输入方式,比如:摩托罗拉公司的388型手机,快译通公司的CECTE698商务手机。另一类为用按键输入,比如:诺基亚的3610型手机,摩托罗拉公司的720型手机,步步高的固定电话短信电话机HCD007TSD。现有的可用笔输入文字的通信终端,是通过对手写的字进行识别,而后选中最近地字来实现文字输入。这种文字输入方式与其它文字输入方式最终形成的代表文字内容的编码相同。其优点是采用笔手写方便。其缺点是需要较大的屏幕来显示与手写文字相关的字的信息,因而这种通信终端一般体积较大,都有一个大屏幕。并且手写的字要较为规矩方能实现高识别率,并且无法传送手画的图形。这种输入方式对通信终端的控制器有较高要求,要求通信终端控制器需增加完成手写的采样及识别,并需要一个相对于其它非手写识别输入的通信终端来说较大的手写识别数据库。由于通信终端控制器(比如手机控制器)大多需要处理的任务多,且与通信有关,因此是专用的控制器,要实现新增手写识别的功能较为困难。而要在具有手写识别的控制器中完成与通信有关的控制也是件困难的事情。现有大多数的通信终端比如手机采用的是按键输入的方式。这种方式的优点是体积小,成本低,较容易实现。其缺点是汉字输入比较烦琐。现有的通信终端舆文字信息的重要性日益提升。比如手机短信,已经成为年轻人使用手机的最重要的一种方式之一。

    现有的若干种掌上电脑(也称个人数字助理或PDA)具有便笺记录的功能,比如商务通闪念822。这种方式记录的笔迹信息类似于微软视窗中的画图软件,是以画图的方式来记录的。只是用于其机器本身的一种信息记录,并无通信收发该信息的功能。也并不适合用于通信终端之间传送笔迹信息。

    【发明内容】

    为了通信终端用户更加方便地输入图形及文字信息,并使输入的图形及文字信息能方便于发送给其它通信终端,并在其它不同厂家生产的不同种类的不同结构的或对外形尺寸大小有较高要求的通信终端上重现这些信息。也为了通信终端制造商能以低的成本及较少的改动制造出具有笔迹输入、传送及重现功能的通信终端,本发明提出一种使通信终端实现手写笔迹信息交流的新方法。其特征在于:用透光的触摸屏代替在现有的通信终端的显示器件正面与外部之间的透光的材料,由一个触摸屏控制器控制触摸屏,进行手写笔迹数据的采集,并生成笔划矢量数据,根据需要由触摸屏控制器或通信终端的主控制器完成手写过程的实时显示;由通信终端的主控制器将包含有笔划矢量数据的笔迹矢量数据与现有的语音或图像或文字或其它数据的信息进行混合编辑存贮;当需要将笔迹信息传送到其它通信终端时,在通信终端的主控制器的控制下将包含有笔迹矢量数据的数据经由该通信终端所遵从的现有的传送图像或声音或文字或其它数据的方法发送出去;当通信终端依其所遵从的现有的接收图像或声音或文字或其它数据的方法收到包含有笔迹矢量数据的数据后,以现有方式存贮该信息;在需要显示该数据所包含的笔迹信息时,依据每个笔迹矢量数据重新画出每个笔迹,并据需要放大和缩小各个笔迹。

    所述的透光的触摸屏作为手写笔迹的传感器,包含了当笔在触摸屏表面移动时,对水平方向和垂直方向的移动分量敏感的材料。

    所述的触摸屏控制器具有相应电路通过一定时序给触摸屏提供驱动信号用于检测当笔在触摸屏表面移动时在水平方向和垂直方向的移动分量,并取得相应的笔迹某点的水平方向和垂直方向的坐标分量。所说的触摸屏控制器分析笔迹运动的位移矢量,产生笔划数据。当所述的触摸屏为电阻式透光触摸屏时,所述的触摸屏控制器至少包含有两路模拟到数字转换电路(A/D电路);具有当每次笔开始书写时产生中断的机制;至少具有4个引脚用于分别单独控制所控制的触摸屏的水平和垂直方向的一个引脚;当笔正在触摸屏上书写时,所述的触摸屏控制器采集任一点坐标的时序中至少包含有两次这样的流程:在时刻1,触摸屏控制器将触摸屏的方向1(水平方向或垂直方向)的某一引脚(设为引脚1)接固定的已知的高电平,该方向1的另一引脚(设为引脚2)接同样的固定的已知的高电平或接高阻抗。触摸屏控制器将触摸屏方向2(非方向1的方向)的两个引脚接高阻抗;在时刻2,触摸屏控制器通过模拟到数字的转换检测触摸屏方向2的一个引脚(设为引脚3)的电平;在时刻3,触摸屏控制器取得引脚3经模拟到数字的转换完成后的电平所对应的数值;在时刻4,判断引脚3的电平所对应的数值为这时水平方向和垂直方向完全导通所对应的引脚3应有的值吗?如果条件满足则:如果本点坐标还未采集完则继续采集,如果本点坐标已采集完则采集的坐标值有效。如果条件不满足则:本次采集该点坐标的值无效。须等待预设的一段时间间隔后重新采集。

    所述的笔划矢量数据的生成方法是:当触摸屏控制器采集得笔迹的先后的两点坐标时,先存起来,并将第2点坐标存为最后坐标。当采集得第三点笔迹坐标后,计算第三点笔迹坐标与第一点笔迹坐标构成的位移矢量(设为矢量1)和第一点坐标与第二点坐标构成的位移矢量(设为矢量2),判断是否满足条件1:矢量1与矢量2的方向夹角小于预设的范围且矢量1的长度不小于矢量2的长度;如果满足该条件1则第三坐标存为最后坐标,等过一段时间后再继续采集新的一点坐标作为第三点坐标;如果不满足该条件1则过一段时间后采集第4点坐标,得到第4点坐标后,计算第4点坐标与第1点坐标构成的位移矢量(设为矢量3);判断是否满足条件2:矢量3与矢量1的方向夹角小于预设的范围且矢量1的长度不小于矢量3的长度;如果满足条件2则舍去第三点坐标将第4点坐标存为最后坐标,过一段预定的时间后再重新采集新的一点坐标作为第三点坐标;如果不满足条件2则将第1点和最后坐标构成的矢量作为已生成的一个笔划的矢量数据,将第三点坐标作为新的一个笔划的第一点坐标,将第四点坐标作为新的一个笔划的第二点坐标和最后坐标。如果采集到触摸屏水平方向与垂直方向不接触,则统计连续的不接触时间,如果该时间超过预设的间隔则将第一点坐标和最后坐标构成的矢量作为已生成的一个笔划的矢量,并设一个标志表示下一个采到的坐标为第一点坐标,如果连续的不接触时间大于另一设定的间隔则说明本次书写结束,重复上述过程可实现将一次书写过程的每个笔划的矢量数据采集得到。

    所述的笔划矢量数据至少包含了该笔划的起点坐标和终点坐标。

    所述的每个笔迹矢量数据包含有表示一次书写的笔迹的数据长度或笔划个数的数据段,包含有本次书写的每个笔划的笔划矢量数据。当所述的笔迹矢量数据以同一个数据段位置来表示前后两个笔划共用一点坐标时,则还包含有若干数据段用于表示每个后面的笔划是否与前面的笔划共用同一点坐标。当所说的笔迹矢量数据与现有的其它方式输入的现有的文字编码相混合时则所说的笔迹矢量数据至少包含有一个数据段用于表示这是新的特殊的文字码,以便依次读取这种混合的数据时区分现有的文字编码还是新的完整的笔迹矢量数据。当所说的笔迹矢量数据与现有的图像或声音或其它格式的数据相混合以便发送给其它通信终端,或者以现有的发送数据的方法发送笔迹矢量数据时,所说的每个笔迹矢量数据至少包含有一个数据段用于与现有的其它数据结构相区别。

    所述的依据每个笔迹矢量数据重新画出每个笔迹,其方法是依次读取每个笔迹矢量数据所包含的每个笔划矢量数据,依据每个笔划矢量数据的起点和终点坐标,在要显示的位置上依据需显示的大小与整个笔迹的原大小或原边界的对应关系,计算出该笔划的起点和终点所对应的位置,并在该起点和终点所对应的位置间画一直线,将每个笔迹矢量数据所包含的每个笔划矢量数据依次按同样的方法画出直到全部画完为止。

    由于本发明对所写的笔迹无需经过识别过程,需要显示的只是手写的笔迹,不需显示当有识别时需要的备选字,因此对通信终端显示屏大小无特别要求,方便于在现有的移动通信终端中实施,满足了人们对移动通信终端体积越小越好的要求。又因为省去了复杂的识别过程,因此速度快。本发明采用触摸屏来代替现有通信终端在显示器正面与外部之间现有的一层透光的保护性材料。在结构上与现有通信终端相同,更容易实施。触摸屏控制器在采集任一点坐标中至少特定的流程执行两遍可以防止一般的触摸屏容易出现的当在笔接触触摸屏时当触摸屏的水平方向和垂直方向的接触出现抖动时,触摸屏控制器采集到的坐标值不准确的现象。本发明所采用的笔迹矢量数据结构的优点是:(1)与通信终端的显示屏的点阵结构无关。对输入端的显示屏和触摸屏的大小无具体要求。方便于不同厂家生产的产品之间的正确重现笔迹。显示屏的点阵结构有横向和纵向之分。如果数据结构与点阵结构有关,要通用是很困难的。(2)在重现笔迹时可以方便的放大和缩小笔迹而不丢失信息。对复杂的字或图画只有通过这种方式才能在重现端看清笔迹的细节。(3)不仅可传文字笔迹,还可传图像笔迹。(4)数据量最小。因为只传一个直线笔划的两端的点坐标,而忽略了两点间的数据,因此大大减少了数据量。(5)本发明将每一次书写过程生成一个笔迹矢量数据,使一段手写文字所对应的每一个字可以类似标准的字代码一样是一个字对应一个笔迹矢量数据,又由于笔迹矢量数据方便于放大和缩小及显示,因此使手写笔迹数据可以像标准的字代码一样进行编辑和显示。

    【附图说明】

    图1:实例1在现有移动通信终端上所增加的电路图。

    具体实施例1

    以电阻式触摸屏作为采集手写笔迹的传感器,以NEC单片机UPD78F4216作为触摸屏控制器。电路图见图1。

    UPD78F4316通过第40,41,42引脚与移动手机终端的主控制器相连。当需要手写笔迹输入时,主控制器通过UPD78F4216第40,41,42引脚通知UPD78F4216。UPD78F4216进入采集数据准备状态。当手写笔迹开始时,UPD78F4216开始采集。每次写完一个笔迹后,UPD78F4216将生成的笔迹矢量数据传给主控制器。主控制器则以类似标准文字的方式缩小显示所写笔迹并可以编辑。当全部所需要的笔迹写完后,主控制器存贮所得到的所有笔迹矢量数据。当需要以短信息发出手写笔迹信息时,主控制器将所存该次所得到的所有笔迹矢量数据以短信息的格式打包并发出。当所需发送的数据超过短信息所规定的长度时,依次读取每个完整的笔迹矢量数据,以短信息所允许的长度分次发出。当移动手机终端收到包含有笔迹矢量数据的短信息时存起来,当需要看时,依照数据的先后顺序,显示短信所包含的标准文字或标准图像或笔迹矢量数据。每个笔迹矢量数据也以标准字的大小进行显示。当需要时放大或缩小某个或多个完整的笔迹。

    UPD78F4216的软件如下(共15个):

     1、中断服务程序的地址设置: NAME aaaa extrn  intstla,intp06,inttm6, inttm7,inttm8,intad verp14h cseg at 14h     dw tointp06 verp1ch cseg at 1ch     dw intst1 verp2eh cseg at 2eh     dw tointad verp32h cseg at 32h     dw tointtm6 verp34h cseg at 34h     dw tointtm7 verp36h cseg at 36h     dw tointtm8     cseg tointp06:mov !!0ffe3fh,#14h     br !!intp06     reti intst1:br !!intstla     reti tointad:mov !!0ffe3fh,#2eh     br !!intad     reti tointtm6:mov !!0ffe3fh,#32h     br !!inttm6     reti tointtm7:mov !!0ffe3fh,#34h     br !!inttm7     reti tointtm8:mov !!0ffe3fh,#36h     br !!inttm8     reti tEND 2、生成手写边界数据程序:     name abh8n public abh8z extrn inter1,inter4 extrn hxmax,hxmax2,hymax ,hymax2,hxmin,hxmin2,hymin ,hymin2,hlx0,hly0 abh8f     equ 0ffd80h abh8xs    equ 0ffd81h abh8ys    equ 0ffd82h abh8px    equ 0ffd83h abh8ax    equ 0ffd84h abh8py    equ 0ffd85h abh8ay    equ 0ffd86h  abh8xe     equ 0ffd87h  abh8ye     equ 0ffd88h  abh8fn     equ 0ffd89h  abh8k      equ 0ffd8ah  abh8x1     equ 0ffd8bh  abh8x2     equ 0ffd8ch  abh8y1     equ 0ffd8dh  abh8y2     equ 0ffd8eh      cseg  abh8z:pushpsw      sel rb2      mov a,#00h      mov[%inter4],a      call$!anz      cmp x,#03h      bnc $abh8_3      mov a,!!hxmax      mov !!hxmax2,a      mov a,!!hxmin      mov !!hxmin2,a      mov a,!!hymax      mov !!hymax2,a      mov a,!!hymin      mov !!hymin2,a      br  $!abh8_4  abh8_3:mov a,!!hxmax      sub a,!!hxmax2      mov x,a      mov c,#03h      call$!divm      mov a,x      add !!hxmax2,a      mov a,!!hxmin2      sub a,!!hxmin      mov x,a      mov c,#03h      call$!divm      mov a,x      sub !!hxmin2,a      mov a,!hymax      sub a,!!hymax2      mov x,a      mov c,#03h      call$!divm      mov a,x      add !!hymax2,a      mov a,!!hymin2      sub a,!!hymin      mov x,a      mov c,#03h    call$!divm    mov a,x    sub !!hymin2,aabh8_4:mov a,!!hxmax2    sub a,!!hxmin2    mov !!hlx0,a    mov a,!!hymax2    sub a,!!hymin2    mov !!hly0,a    mov abh8k,#01h    call$!aqk    call$!anz    cmp x,#00h    bnz $abh8_1    mov a,#01h    mov [%inter4],a    br  $!abh8_retabh8_1:  mov r6,abh8xs    mov r7,abh8ys    call$!abh8_t1    mov a,abh8f    and a,x    movgwhl,uup    mov [whl],a    mov r6,abh8xe    mov r7,abh8ye    call$!abh8_t1    mov a,abh8fn    and a,x    movgwhl,uup    addgwhl,#09h    mov [whl],a    call$!anz    cmp abh8k,x    bc  $abh8_29abh8_ret:   pop psw    retabh8_29:inc abh8k    call$!aqk    br  $!abh8_1abh8_t1:mov r4,!!hxmin2    cmp r6,r4    bc  $abh8_24    mov r5,!!hxmax2    cmp r6,r5    bnc $abh8 25    mov x,r6    sub x,r4    mov a,#03h    mulux    mov c,!!hlx0    divuw  c    inc x    mov b,#04h    sub b,x    br  $!abh8_2babh8_24:mov b,#03h    br  $!abh8_2b abh8_25:mov b,#01habh8_2b:mov r4,!!hymin2    cmp r7,r4    bc  $abh8_26    mov r5,!!hymax2    cmp r7,r5    bnc $abh8_27    mov x,r7    sub x,r4    mov a,#03h    mulux    mov c,!!hly0    divuw    c    br  $!abh8_28abh8_26:mov x,#00h    br  $abh8_28abh8_27:mov x,#02habh8_28:mov a,#03h    mulux    add x,b    or  x,#0f0h    retaqk:movgwhl,inter1    movwax,[whl]    cmpwax,#0200h    bnc $aqk1    movgvvp,#00h    mov a,abh8k    dec a    mov x,#0ah    mulux    movwvp,ax    addgwhl,#02h    addgwhl,vvp    movguup,whl    movgtde,#0ffd80h    mov c,#0ah    movbk    [tde+],[whl+]aqk1:   retanz:    movgtde,inter1  movwax,[tde]  mov c,#0ah      divuw    c      ret  divm:   mov a,#00h      divuw   c      ret  End   3、笔划特征分析程序:       name abh7n  public abh7z  extrn hwall,handwv2,lintprog  ,wordsv,mintsp,handback,  handwend  extrn hxmax,hxmax2,hymax  ,hymax2,hxmin,hxmin2  ,hymin,hymin2  extrn hxmaxk,hxmax2k  ,hxmink,hxmin2k,hymaxk  ,hymax2k,hymink,hymin2k  abh7f     equ 0ffd80h  abh7xs    equ 0ffd81h  abh7ys    equ 0ffd82h  abh7px    equ 0ffd83h  abh7ax    equ 0ffd84h  abh7py    equ 0ffd85h  abh7ay    equ 0ffd86h  abh7xe    equ 0ffd87h  abh7ye    equ 0ffd88h  abh7fn    equ 0ffd89h      cseg  abh7z:  push psw      sel rb2      mov !!hxmax,#00h      mov !!hxmax2,#00h      mov !!hymax,#00h      mov !!hymax2,#00h      mov !!hxmin,#0ffh      mov !!hxmin2,#0ffh      mov !!hymin,#0ffh      mov !!hymin2,#0ffh  abh7_1: ;   br   $!abh7_2      mov a,!!handwend      cmp a,#00h      bnz $abh7_1z      mov a,#02h      mov !!handback,a      movwax,!!hwall      cmpwax,#14h      bc  $abh7_1y      mov a,#01h      mov !!handback,a  abh7_1y:call !!pulp2      br  !!abh7_ret  abh7_1z:movg whl,#abh72      call!!pulp      br  !!abh7_ret  abh7_2: pushpsw       sel rb2      call!!aqn      cmp abh7f,#0ffh      bnz $abh7_1      cmp abh7px,#00h      bnz $abh7_21      cmp abh7py,#00h      bnz $abh7_22      mov x,abh7ay      mov c,#05h      call$!divm      cmp abh7ax,x      bc  $abh7_23      mov x,abh7ax      mov c,#05h      call$!divm      cmp abh7ay,x      bnc$abh7_24      mov a,#0cfh      br  $!abh7_25  abh7_24:mov a,#3fh      br  $!abh7_25  abh7_23:mov a,#4fh      br  $!abh7_25  abh7_22:mov  a,#0efh      br  $!abh7_25  abh7_21:cmp abh7py,#00h      bnz $abh7_26      mov x,abh7ay      mov c,#05h      call$!divm      cmp abh7ax,x      bc  $abh7_23      mov x,abh7ax      mov c,#05h      call$!divm      cmp abh7ay,x      bc  $abh7_27      mov a,#5fh      br  $!abh7_25  abh7_27:mov  a,#2fh      br   $!abh7_25  abh7_26:mov x,abh7ay    mov c,#05h    call$!divm    cmp abh7ax,x    bnc $abh7_27    mov a,#0dfhabh7_25:movgwhl,uup    mov [whl],aabh7_2a:mov  r4,!!hxmax    mov r5,!!hxmax2    cmp abh7px,#00h    bnz $abh7_28    mov r6,abh7xs    mov r7,abh7xe    br  $!abh7_214abh7_28:mov r6,abh7xe    mov r7,abh7xsabh7_214:   cmp r4,r7    bc  $abh7_29    cmp r5,r7    bnc $abh7_210    mov r5,r7    mov !!hxmax2,r5    call$!anz    mov !!hxmax2k,x    br  $!abh7_210abh7_29:mov  r5,r4    mov !!hxmax2,r5    mov a,!!hxmaxk    mov !!hxmax2k,a    mov r4,r7    mov !!hxmax,r4    call$!anz    mov !!hxmaxk,x    cmp r5,r6    bnc $abh7_210    mov r5,r6    mov !!hxmax2,r5    call$!anz    mov !!hxmax2k,xabh7_210:mov r4,!!hxmin    mov r5,!!hxmin2    cmp r6,r4    bc  $abh7_211    cmp r6,r5    bnc $abh7_212    mov r5,r6    mov !!hxmin2,r5    call$!anz    mov !!hxmin2k,x    br  $!abh7_212abh7_211:   mov r5,r4    mov !!hxmin2,r5    mov a,!!hxmink    mov !!hxmin2k,a    mov r4,r6    mov !!hxmin,r4    call$!anz    mov !!hxmink,x    cmp r7,r5    bnc $abh7_212    mov r5,r7    mov !!hxmin2,r5    call$!anz    mov !!hxmin2k,xabh7_212:    mov r4,!!hymax    mov r5,!!hymax2    cmp abh7py,#00h    bnz $abh7_213    mov r6,abh7ys    mov r7,abh7ye    br  $!abh7_215abh7_213:mov r6,abh7ye    mov  r7,abh7ysabh7_215:    cmp r4,r7    bc  $abh7_216    cmp r5,r7    bnc $abh7_217    mov r5,r7    mov !!hymax2,r5    call$!anz    mov !!hymax2k,x    br  $!abh7_217abh7_216:mov r5,r4    mov !!hymax2,r5    mov a,!!hymaxk    mov !!hymax2k,a    mov r4,r7    mov !!hymax,r4    call$!anz    mov !!hymaxk,x    cmp r5,r6    bnc $abh7_217    mov r5,r6    mov !!hymax2,r5    call$!anz    mov !!hymax2k,xabh7_217:mov r4,!!hymin    mov r5,!!hymin2    cmp r6,r4    bc  $abh7_218    cmp r6,r5    bnc $abh7_3a    mov r5,r6    mov !!hymin2,r5    call$!anz    mov !!hymin2k,x    br  $!abh7_3aabh7_218:   mov r5,r4    mov !!hymin2,r5    mov a,!!hymink    mov !!hymin2k,a    mov r4,r6    mov !!hymin,r4    call$!anz    mov !!hymink,x    cmp r7,r5    bnc $abh7_3a    mov r5,r7    mov !!hymin2,r5    call$!anz    mov !!hymin2k,xabh7_3a:movgwhl,uup    addgwhl,#09h    mov a,[whl]    and a,#0f0h    cmp a,#40h    bz  $abh7_31    mov a,!!handwend    cmp a,#00h    bnz $abh7_1a    mov a,#01h    mov !!handback,a    br  !!abh7_32abh7_1a:br  $!abh7_1abh7_31:mov a,#00h    mov !!handback,aabh7_32:call!!pulp2abh7_ret:   pop psw    retpulp:movg   tde,#lintprog     movgvvp,#00h    mov r8,#handwv2    addg tde,vvp    mov a,[tde]    mov x,a    inc a    mov [tde],a    mov a,#03h    mulux    movw rp4,ax    addg tde,#02h    addg tde,vvp    movg[tde],whl    retpulp2:    movgtde,#mintsp    mov a,[tde]    movgvvp,#00h    mov r8,a    inc a    mov [tde],a    incgtde    addgtde,vvp    mov a,#wordsv    mov [tde],a    retaqn:movgwhl,#hwall    movwax,[whl]    cmpwax,#0200h    bnc $aqn2    movgvvp,#00h    movwvp,ax    addgwhl,#02h    addgwhl,vvp    subgwhl,#0ah    movguup,whl    movgtde,#0ffd80h    mov c,#0ah    movbk   [tde+],[whl+]aqn2:   retanz:    movgtde,#hwall    movwax,[tde]    mov c,#0ah    divuw    c    retdivm:    mov a,#00h    divuw    c    ret End 4、AD采样程序:name adonenpublic adonezextrnaddrad,z_sys1flag,z_intflg3    csegadonez:push psw    sel rb7    push tde    mov tmic7,#01000011b    mov tmc7,#00000111b    clr1 pm0.4    set1 pm0.6    set1 pm9.4    clr1 pm0.3    clr1 pm0.5    clr1 p0.5    clr1 p0.4    clr1 p0.3    set1z_intflg3.1    clr1z_intflg3.2    mov adis,#00000110b    nop    nop    nop    nop    nop    nop    nop    nop    nop    nop    mov adic,#00000000b    mov adm,#10100000b    movg tde,#0ffd57h    movg addrad,tde    set1 z_sys1flag,0    pop tdetoret:pop psw    rettotm7:mov mic7,#00000000b    mov tmc7,#10000000b    mov prm7,#00000111b    mov cr70,#3ah    br !!toretend 5、手写笔迹打包程序:     NAME apaknPUBLIC apakzextrn  hwallapakjsq equ 0ffd8ah         CSEGapakz:  push psw    sel rb2    mov apakjsq,#00h    movgwhl,#hwall    movwax,[whl]      movwrp2,ax      cmpwrp2,#0ah      bnc $apak_4      br  $!apak_ret  apak_4:addgwhl,#02h      movgtde,#0ffd80h      mov c,#0ah      movbk  [tde+],[whl+]      movgvvp,whl      subwrp2,#0ah      movguup,#hwall      incguup      movgwhl,#0ffcaffh      movg[uup],whl      addguup,#04h      mov a,#70h      mov[uup],a      incguup      movgwhl,#0ffd81h      movgtde,uup      mov c,#02h      movbk  [tde+],[whl+]      addgwhl,#04h      mov c,#02h      movbk  [tde+],[whl+]      add apakjsq,#04h      cmpwrp2,#0ah      bc  $apak_1      incgvvp  apak_2: movgwhl,vvp      subwrp2,#0ah      add apakjsq,#04h      mov c,#02h      movbk   [tde+],[whl+]      addgwhl,#04h      mov c,#02h      movbk   [tde+],[whl+]      cmpwrp2,#0ah      bc  $apak_1       addgvvp,#0ah      br  $!apak_2  apak_1:add apakjsq,#09h      mov a,apakjsq      movgwhl,#hwall      mov [whl],a      addgwhl,#04h      sub a,#05h      mov [whhl],a      mov r6,a      mov b,#00h        mov c,a    apak_3: incgwhl        mov a,[whl]        mov x,a        mov a,#00h        addwbc,ax        dec r6        cmp r6,#03h        bnz $apak_3        incgwhl        movwax,bc        movw[whl],ax        addgwhl,#02h        movwax,#0ffffh        movw[whl],ax    apak_ret:    pop  psw    ret    END    6、求矢量程序:       name asln  public aslz  extrn inget1,inget4,inget7      cseg  aslz:    push psw      sel rb3      movgwhl,inget1      movgtde,inget4      movguup,inget7      mov a,[whl]      mov b,a      mov a,[tde]      mov c,a      mov a,[whl+1]      mov x,a      mov a,[tde+1]      mov r4,a      cmp c,b      bc  $asl_1      bnz $asl_2      cmp x,r4      bnc $asl_2  asl_1:  mov a,#01h      mov [uup],a      mov a,b      sub a,c      incguup      mov [uup],a      br  !!asl_5  asl_2: mov a,#00h      mov [uup],a      mov a,c      sub a,b      incguup      mov [uup],a  asl_5: cmp r4,x      bc  $asl_3      bnz $asl_4      cmp c,b      bnc $asl_4  asl_3:mov a,#01h      incguup      mov [uup],a      mov a,x      sub a,r4      incguup      mov [uup],a      br  !!asl_ret  asl_4:  mov a,#00h      incguup      mov[uup],a      mov a,r4      sub a,x      incguup      mov [uup],a  asl_ret:pop psw      ret  End   7、串口发送数据程序: NAME  sendln public send1z,intstla extrn inter1,z_intflg4,z_intflg2,portnum,z_intflg1 senadd1 equ 0fe200h sencnt1 equ 0fe203h senflg  equ 0fe204h     cseg sendlz: push psw     sel rb2     set1 z_intflg2.0     clrl z_intflg2.1     clr1 pm2.2     set1 p2.2     clr1 z_intflg1.5     add portnum,#1     mov brgc1,#00011010b     mov csiml,#00000000b     mov stic1,#00000011b      movg whl,inter1      mov a,[whl]      mov !!sencnt1,a      incg whl      set1 pm2.1      clr1 p2.1      clr1 pm2.1      mov a,[whl]      incg whl      movg !!senadd1,whl      mov txsl,a      pop psw      ret  intstla: sel rb7      push whl      push ax      push bc      set1 pm2.1      clr1 p2.1      clr1 pm2.1      movg whl,!!senadd1      mov a,[whl]      incg whl      movg !!senaddl,whl      mov c,!!sencnt1      dbnz c,$intst12      mov stic1,#01000011b      set1 z_intflg1.5      clr1 p2.2      sub portnum,#1      mov !!senflg,#0ffh  intst11:mov !!sencnt1,c      pop bc      pop ax      pop whl      reti  intst12:mov txs1,a      br !intst11   END    8、手写实时显示程序:    NAME  xhwd2nPUBLIC  xhwd2zextrn   inget1,inget2,inget3,inget4,inget5,lulz,lukz,xcldotzextrn hlcdx1,hlcdy1,hlcdx2,hlcdy2,lcdxyx,hax1,hax2,hay1,hay2,htx1,hty1,htx2,hty2    extrn lcd_dotlinmax    ,lcd_dotvolmax,lintprog    ,dothpv,oldlcdflag,x0,y0         CSEG    xhwd2z:  push    psw      sel    rb2      mov    !!inget1,#00h      mov    !!inget3,#hlcdx1      mov    !!inget2,#hlcdy1      mov    !!inget5,#hlcdx2      mov    !!inget4,#hlcdy2      call   !!xcldotz      mov    a,#lcd_dotlinmax      sub    a,#hlcdy1      bnc    $xh1      br!!out    xh1:  inc    a      mov    !!inget1,a      mov    a,#hlcdx1      cmp    a,#lcd_dotvolmax      bc$xh2      br!!out    xh2:  mov    a,#hlcdx2      cmp    a,#lcd_dotvolmax      bz$xh3      bc$xh3      br!!out    xh3:mov    a,#hlcdy2      cmp    a,#lcd_dotlinmax      bz$xh4      bc$xh4      br!!out    xh4:mov    a,#hlcdx1      mov    x,a      add    a,#03h    xhloop1:  cmp    x,#hlcdx2      bc$xh9      br!!xh7    xh9:  cmp    a,#hlcdx2      bc$xh10      br!!xh5    xh10:mov    inget2,x      mov    inget3,a      call   !!lukz      add    x,#06h      add    a,#04h      cmp    x,#h1cdx2      bc$xh6      br!!xh7    xh6:  cmp    a,#hlcdx2    bc$xh8    br!!xh5  xh8:  mov    inget2,x    mov    inget3,a    call   !!lukz    add    x,#04h    add    a,#06h    br!!xhloop1  xh5:  mov    inget2,x    mov    inget3,#hlcdx2    call   !!lukz  xh7:mov a,#lcd_dotlinmax    sub    a,#hlcdy2    inc    a    mov    inget1,a    mov    a,#hlcdx1    mov    x,a    add    a,#03h  xh1oop2:  cmp    x,#hlcdx2    bc$xh79    br!!xh77 xh79:  cmp    a,#hlcdx2    bc$xh710    br!!xh75  xh710:  mov  inget2,x    mov    inget3,a    call   !!lukz    add    x,#06h    add    a,#04h    cmp    x,#hlcdx2    bc$xh76    br!!xh77  xh76:  cmp    a,#hlcdx2    bc$xh78    br!!xh75  xh78:  mov    inget2,x    mov    inget3,a    call   !!lukz    add    x,#04h    add    a,#06h    br!!xhloop2  xh75:  mov  inget2,x    mov    inget3,#hlcdx2    call   !!lukz  xh77:  mov    inget3,#hlcdx1    mov    a,#lcd_dotlinmax    sub    a,#hlcdy1    inc    a    mov    r7,a    mov    a,#lcd_dotlinmax    sub    a,#hlcdy2    inc    a    mov    x,a    add    x,#03h  xhloop3:  cmp    a,r7    bc$xh31    hr!!xh32  xh31:  cmp    x,r7    bc$xh33    br!!xh34  xh33:mov    ingetl,a    mov    inget2,x    call   !!lulz    add    a,#06h    add    x,#04h    cmp    a,r7    bc$xh35    br!!xh32  xh35:  cmp   x,r7    bc$xh36    br!!xh34  xh36:  mov    inget1,a    mov    inget2,x    call   !!lulz    add    a,#04h    add    x,#06h    br!!xhloop3  xh34:  mov    inget1,a    mov    inget2,r7    call   !!lulz  xh32:  mov  inget3,#h    mov    a,#lcd_dotlinm    sub    a,#hlcdy2    inc    a    mov    x,a    add    x,#03h  xhloop4:  cmp    a,r7    bc$xh41    br!!out  xh41:  cmp    x,r7    bc$xh43    br!!xh44    xh43:  mov    inget1,a    mov    inget2,x    call   !!lulz    add    a,#06h    add    x,#04h    cmp    a,r7    bc$xh45    br!!xhd2    xh45:  cmp    x,r7      bc$xh46      br!!xh44    xh46:  mov    inget1,a      mov    inget2,x      call   !!lulz      add    a,#04h      add    x,#06h      br!!xhloop4    xh44:  mov    inget1,a      mov    inget2,r7      call   !!lulz    xhd2:  movg    tde,#lintprog       movg   vvp,#00h      mov    r8,#dothpv      addg   tde,vvp      mov    a,[tde]      mov    x,a      inc    a      mov    [tde],a      mov    a,#03h      mulu   x      movw   rp4,ax      addg   tde,#02h      addg   tde,vvp      movg   whl,#xhd3      movg   [tde],whl      br!!out    xhd3:  push  psw      sel    rb2      movw   ax,!!lcdxyx      movw   rp3,ax      cmp    a,#hty1      bc$xpt5      cmp    a,#hty2      bz$xpt3      bnc    $xpt5    xpt3:  cmp    x,#htx2      bc$xpt5      cmp    x,#htx1      bz$xpt4      bnc    $xpt5      br!!xpt4    xpt5:  br    !!xhd2    xpt4:  mov    a,#htx1      sub    a,r6      mov    x,#hax2      mulu   x      mov    c,#hax1    divuw  c    add    x,#hlcdx1    cmp    x,#h1cdx1    bc$xpt6    cmp    x,#hlcdx2    bz$xpt1    bnc    $xpt6  xpt1:  mov    r5,x    mov    a,r7    sub    a,#hty1    mov    x,#hay2    mulu   x    mov    c,#hay1    divuw  c    add    x,#hlcdy1    cmp    x,#hlcdy1    bc$xpt6    cmp    x,#hlcdy2    bz$xpt2    bc$xpt2  xpt6:  br    !!xhd2  xpt2:  mov   a,!!oldlcdflag    cmp    a,#00h    bnz    $xhdx1    call   !!pdisp    inc    r5    call   !!pdisp    dec    r5    mov    !!x0,r5    mov    !!y0,x    mov    !!oldlcdflag,#0ffh    br!!xhd2  xhdx1:mov  a,!!x0    cmp    r5,a    bnz    $xhdx11    mov    a,!!y0    cmp    x,a    bnz    $xhdxll    br!!xhd2  xhdx11:mov  r6,x    mov    r7,r5    mov    x,!!y0    ;mov   r5,!!x0    ;call  !!pdisp    ;inc   r5    ;call  !!pdisp    mov    a,!!x0    cmp    r7,a    bc$xhdx2    mov    b,r7    sub    b,a    br!!xhdx3  xhdx2:   mov  b,!!x0    sub    b,r7  xhdx3:   mov  a,!!y0    cmp    r6,a    bc$xhdx4    mov    c,r6    sub    c,a    br!!xhdx5  xhdx4:mov  c,!!y0    sub    c,r6  xhdx5:  cmp  b,c    bnc    $xhdx6    br!!xhd3a  xhdx6:  mov  a,!!x0    cmp    a,r7    bnc    $xhd2c  xhd2a:  mov  r4,#01h  xhd2b:  mov  r5,!!x0    add    r5,r4    mov    a,!!y0    cmp    a,r6    bc$xhd2b1    mov    x,!!y0    sub    x,r6    mov    c,r7    mov    a,!!x0    sub    c,a    mov    a,r4    mulu   x    divuw  c    mov    a,!!y0    sub    a,x    mov    x,a    br!!xhd2b2  xhd2b1:  mov x,r6    mov    a,!!y0    sub    x,a    mov    c,r7    mov    a,!!x0    sub    c,a    mov    a,r4    mulu   x    divuw  c    mov    a,!!y0    add    a,x    mov    x,a    xhd2b2:  call    !!pdisp    inc    r5    call   !!pdisp    dec    r5    cmp    r7,r5    bc$xhd2b3    inc    r4    br!!xhd2b  xhd2b3:  mov !!x0,r7    mov    !!y0,r6    br!!xhd2    xhd2c:  mov r4,#01h    xhd2d:  mov r5,!!x0    sub     r5,r4    mov     a,!!y0    cmp     a,r6    bc$xhd2c1    mov     x,!!y0    sub     x,r6    mov     c,!!x0    sub     c,r7    mov     a,r4    mulu    x    divuw   c    mov     a,!!y0    sub     a,x    mov     x,a    br!!xhd2c2    xhd2c1:mov x,r6    mov     a,!!y0    sub     x,a    mov     c,!!x0    sub     c,r7    mov     a,r4    mulu    x    divuw   c    mov     a,!!y0    add     a,x    mov     x,a    xhd2c2: call    ! !pdisp    inc     r5    call    !!pdisp    dec     r5    cmp     r5,r7    bc$xhd2c3    inc     r4    br!!xhd2d    xhd2c3:mov!!x0,r7    mov     !!y0,r6    br!!xbd2    xhd3a:mov a,!!y0    cmp     a,r6    bc$xhd3a1    br!!xhd3c  xhd3a1:  mov r4,#01h  xhd3b:  mov b,!!y0    add     b,r4    mov     a,!!x0    cmp     a,r7    bc$xhd3b1    mov     x,!!x0    sub     x,r7    mov     c,r6    mov     a,!!y0    sub     c,a    mov     a,r4    mulu    x    divuw   c    mov     r5,!!x0    sub     r5,x    br!!xhd3b2  xhd3b1:  mov x,r7    mov     a,!!x0    sub     x,a    mov     c,r6    mov     a,!!y0    sub     c,a    mov     a,r4    mulu    x    divuw   c    mov     r5,!!x0    add     r5,x  xhd3b2:  mov x,b    call    !!pdisp    inc     r5    call    !!pdisp    cmp     r6,x    bc$xhd3b3    inc     r4    br!!xhd3b  xhd3b3:  mov!!x0,r7    mov     !!y0,r6    br!!xhd2  xhd3c:  mov r4,#01h  xhd3d:  mov  b,!!y0    sub    b,r4    mov    a,!!x0    cmp    a,r7    bc$xhd3c1    mov    x,!!x0    sub    x,r7    mov    c,!!y0    sub   c,r6    mov   a,r4    mulu  x    divuw c    mov   r5,!!x0    sub   r5,x    br!!xhd3c2  xhd3c1:  mov x,r7    mov   a,!!x0    sub   x,a    mov   c,!!y0    sub   c,r6    mov   a,r4    mulu  x    divuw c    mov   r5,!!x0    add   r5,x  xhd3c2:mov x,b    call  !!pdisp    inc   r5    call  !!pdisp    cmp   x,r6    bc$xhd3c3    inc   r4    br!!xhd3d  xhd3c3:mov!!x0,r7    mov   !!y0,r6    br!!xhd2  out:  pop    psw    ret  pdisp:    mov    a,#lcd_dotlinmax    sub    a,x    inc    a    mov    inget1,a    mov    inget2,r5    mov    inget3,r5    call   !!lukz    ret  END  9、坐标分断程序:      NAME xodln  PUBLIC xodlz  extrn  lintprog,lintsp  extrn  hwbuffer1,  hwbuffer2,hwbuffer3,  hwbuffer4,hwbuffer5,  hwbuffer6,hwbuffer7,  hwbuffer8,hwbuffer9,  hwbuffer10,hwbuffer11,    hwbuffer12,hwbuffer13,    hwbuffer14,hwbuffer15,    hwbuffer16,hwbuffer17,    hwbuffer18,hwbuffer19,    hwbuffer20,hwbuffer21    extrn   hwbuffer22,    hwbuffer23,hwbuffer24,    hwbuffer25,hwbuffer26,    hwbuffer27,hwbuffer28    extrn   hwbuffer29,    hwbuffer30,hwbuffer31,    hwbuffer32,hwbuffer33    ,hwbuffer34,hwbuffer35    extrn    hwbuffer36,    hwbuffer37,hwbuffer38,    hwbuffer39,hwbuffer40    extrn   inget1,inget2,    inget4,inget7    extrn   handwv,bdx0,    bdx2,bdy0,bdy2,handwv2,    xmax1,ymax1,xmax2    ,ymax2,hwall,dothpv,    handwv3    extrn   z_intflg1,lcdxyx,    z_intflg3    extrn   abh7z,adonez,aslz,    xtm6z,xtm8z,xvtcz,xvtmz,    xhwd2z,oldlcdflag    extrn   hwtm1,hwtm2,    handwend,ang30min,    xmax3,ymax3,z_sys4flag        CSEG    xod1z:  push psw      sel    rb5    xdl:  set1 z_intflg3.4         setlz_sys4flag.2      clr1  egp0.6      clr1  egn0.6      set1  pm0.6      mov   pic6,#40h      movw  !!hwall,#0000h      movg  whl,#l intprog      mov    a,#dothpv      mov    b,a      mov    a,#00h      mov    [whl+b],a      mov    !!hwbu ffer36,#00h      mov    !!hwbuffer1,#00h      mov    !!hwbuffer2,#0fdh      mov    !!hwbuffer3,#0ffh    mov     !!oldlcdflag,#00h    mov     !!handwend,#0ffh    call    !!abh7z    call    !!xhwd2z    movg    whl,#xd2    call    !!pulp    set1    egp0.6    clr1    egn0.6    set1    pm0.6    mov     pic6,#00h    br!!out  xd12:     br    !!xdbb5  xd2:    push    psw    sel     rb5    movw    ax,!!lcdxyx    cmpw    ax,#0ffffh    bz$xd12    cmp     a,#bdy0    bc$xdi1    cmp     a,#bdy2    bz$xdi2    bnc     $xdi1  xdi2:  cmp    c,#bdc0    bc$xdi1    cmp     x,#bdx2    bz$xdi3    bnc     $xdi1    br!!xdi3 xdi1:  mov  a,#0fdh    cmp     a,!!hwbuffer2    bz$xdi122    mov     a,#0f9h    cmp     a,!!hwbuffer2    bnz     $xdi12    br!!xd13 xdi122:    mov !!hwbuffer2,#0f9h    br  !!xdbb5  xdi12:  cmp  hwtm2,#0ffh    bz$xdi11    br!!xdbb5  xdi11:    bf !!hwbuffer2.0,$xdi111    clr1   !!hwbuffer2.0    br!!xdbb5  xdi111:  br  !!xd13  xdi3:  set1  !!hwbuffer2.0    mov    !!hwbuffer1,#08h    mov    !!hwhuffer2,#0ffh    mov    !!hwbuffer8,x    mov    !!hwbuffer9,a    call   !!pdot  xdaa2:mov  !!hwbuffer36,#00h  xdaa:mov   !!inget1,#01h    movg   whl,#xd3    movg   !!inget2,whl    call   !!xtm6z    call   !!phw3    br!!out  xd3:   push    psw    sel    rb5    bfp0.6,$xdaa1    movg   whl,#xd4    call   !!pulp    call   !!adonez;    br!!out  xdaal:  mov    a,!!hwbuffer36    inc    a    mov    !!hwbuffer36,a    mov    x,#hwtm1    inc    x    cmp    a,x    bc$xdaa1i1    br!!xdbb5  xdaa1i1:  cmp    a,#hwtm1    bc$xdi31    mov    a,!!hwbuffer1    cmp    a,#09h    bnc    $xdaa3    mov    r7,#0fh    call   !!hwset    mov    !!oldlcdflag,#00h    br!!xdaa5 xdi31:mov  !!inget1,#01h    movg   whl,#xd3    movg   !!inget2,whl    call   !!xtm6z    call   !!phw3    br!!out  xdaa3: mov   r7,#0ffh    mov    r6,#0fh    movw   ax,!!hwbuffer8    movw   rp2,ax    movw   ax,!!hwbuffer14    movw   rp1,ax    movg   whl,#hwbuffer4    call   !!phwall    mov    !!oldlcdflag,#00h   xdaa5:mov!!hwbuffer1,#00h    mov    !!hwbuffer2,#0ffh;    mov    !!hwbuffer3,#0ffh;    call   !!phw3    call   !!phw2    br!!xdbb5  xdaa4:  mov    a,!!hwbuffer36    cmp    a,hwtm2    bnc    $xdaa4i1    mov    !!inget1,#01h    movg   whl,#xd3    movg   !!inget2,whl    call   !!xtm8z    call   !!phw3    br!!out  xdaa4i1:mov  a,!!hwbuffer1    cmp    a,#09h    bnc    $xdaa41    movg   whl,#hwall    movw   ax,[whl]    cmpw   ax,#00h    bnz    $xdaa42    br!!xd1  xdaa42:  mov r7,#04fh    call   !!hwset    br!!xdaa43  xdaa41:  mov r7,#0ffh    mov    r6,#4fh    movw   ax,!!hwbuffer8    movw   rp2,ax    movw   ax,!!hwbuffer14    movw   rp1,ax    movg   whl,#hwbuffer4    call   !!phwall    mov    !!oldlcdflag,#00h  xdaa43:  call!!phw3    call   !!phw2    br!!out  xldaa:br !!xdaa  xd4:push    psw    sel    rb5    movw   ax,!!lcdxyx    cmpw   ax,#0ffffh    bz$xldaa    cmp    a,#bdy0    bc$xd41    cmp    a,#bdy2    bz$xd42    bnc    $xd11    xd42:  cmp    x,#bdx0    bc$xd41    cmp    x,#bdx2    bz$xd43    bnc    $xd41    br!!xd43  xd41:  cmp    hwtm2,#0ffh    bnz    $xd411    bf!!hwbuffer2.0,$xd412    clr1    !!hwbuffer2.0    br!!xdaa  xd412:  br    !!xd13  xd411:  br    !!xdaa  xd43:  set1   !!hwbuffer2.0    movg    whl,#hwbuffer8    movg    inget1,whl    movg    whl,#lcdxyx    movg    inget4,whl    movg    whl,#hwbuffer37    movg    inget7,whl    call    !!aslz    movg whl,#hwbuffer37    movg    tde,#hwbuffer4    mov     c,#04h    movbk   [tde+],[whl+]    movw    ax,!!lcdxyx    movw    !!hwbuffer14,ax    mov     a,!!hwbuffer38    cmp     a,#xmax1    bnc     $xd44    mov     a,!!hwbuffer40    cmp     a,#ymax1    bnc     $xd44    br !!xdaa2  xd44:mov    a,!!hwbuffer38    cmp     a,#xmax3    bnh     $xd441    br!!xdaa2  xd441:mov    a,!!hwbuffer40    cmp     a,#ymax3    bnh     $xdaa7    br!!xdaa2  xdaa7:  movw ax,!!lcdxyx    movw    !!hwbuffer14,ax    mov     !!hwbuffer1,#0eh    call    !!pdot    movg    tde,#hwbuffer10    movg    whl,#hwbuffer37    mov     c,#04h    movbk[tde+],[whl+]    mov     a,!!hwbu ffer38    cmp     a,#xmax2    bnc    $xdaa71    mov    a,!!hwbu ffer40    cmp    a,#ymax2    bnc    $xdaa71    br!!xdaa2  xdaa71:clr1!!hwbuffer2.7    movg    tde,#hwbu ffer4    movg    whl,#hwbuffer37    mov     c,#04h    movbk   [tde+],[whl+]  xdbb2:    mov     !!hwbuffer36,#00h  xdbb:mov    !!inget1,#01h    movg    whl,#xd5    movg    !!inget2,whl    call    !!xtm6z    call    !!phw3    br!!out  xd5:  push    psw    sel     rb5    bfp0.6,$xdbb1    movg    whl,#xd6    call    !!pulp    call    !!adonez    br!!out  xdbb1:  mov    a,!!hwbuffer36    inc      a    mov      !!hwbuffer36,a    cmp      a,#hwtm1    bc$xd51    mov      r7,#0ffh    mov      r6,#0fh    movw     ax,!!hwbuffer8    movw     rp2,ax    movw     ax,!!hwbuffer14    movw     rp1,ax    movg     whl,#hwbuffer4    call     !!phwall    mov      !!oldlcdflag,#00h    ;    mov      !!hwbuffer1,#00h    mov      !!hwbuffer2,#0ffh    mov      !!hwbuffer3,#0ffh    call     !!phw3    call     !!phw2    xdbb5:mov  !!inget1,#01h    movg     whl,#xd52    movg     !!inget2,whl    call     !!xtm8z    call     !!phw3    br!!out  xd51:  mov    !!inget1,#01h    movg    whl,#xd5    movg    !!inget2,whl    call    !!xtm6z    call    !!phw3    br!!out  xd52:  push  psw    sel     rb5    bfp0.6,$xd521    movg    whl,#xd2    call    !!pulp    call    !!adonez;    br!!out  xd521:cmp  hwtm2,#0ffh    bnz     $xd5211    br!!xdbb5  xd5211:  mov  a,!!hwbuffer36    inc     a    mov     !!hwbuffer36,a    cmp     a,hwtm2    bnc     $xd522    br!!xdbb5  xd522:  movg tde,#hwall    movw    ax,[tde]    cmpw    ax,#00h    bnz     $xd5221    br!!xd5222  xd5221:  movg    vvp,#00h    movw    rp4,ax    addg    tde,#02h    addg    tde,vvp    decg    tde    mov     a,[tde]    and     a,#3fh    add     a,#40h    mov     [tde],a  xd5222:    mov     !!oldlcdflag,#00h    mov     !!handwend,#00h    call    !!phw3    call    !!phw2    br!!out  xldbb:    br    !!xdbb  xd6:  push    psw    sel     rb5    movw    ax,!!lcdxyx    cmpw    ax,#0ffffh    bz$xldbb    cmp     a,#bdy0    bc$xd61    cmp    a,#bdy2    bz$xd62    bnc    $xd61  xd62:  cmp    x,#bdx0    bc$xd61    cmp    x,#bdx2    bz $xd63    bnc    $xd61    br!!xd63  xd61:  cmp    hwtm2,#0ffh    bz$xd611    br!!xdbb    xd611:    bf !!hwbuffer2.0,$xd6111    clr1   !!hwbuffer2.0    br!!xdbb  xd6111:  br  !!xd13  xd63:  set1  !!hwbuffer2.0    movg whl,#hwbuffer14    movg    inget1,whl    movg    whl,#lcdxyx    movg    inget4,whl    movg    whl,#hwbuffer37    movg    inget7,whl    call    !!aslz    mov     a,!!hwbuffer38    cmp     a,#xmax1    bnc     $xd64    mov     a,!!hwbuffer40    cmp     a,#ymax1    bnc     $xd64    br!!xdbb2  xd64:  mov    a,!!hwbuffer38    cmp     a,#xmax3    bnh     $xd641    br!!xdbb2  xd641:  mov    a,!!hwbuffer40    cmp     a,#ymax3    bnh     $xdbb6    br !!xdbb2 xdbb6:call!!pdot    movw    ax,!!lcdxyx    movw    !!hwbuffer20,ax    movg    tde,#hwbuffer16    movg    whl,#hwbuffer37    mov     c,#04h    movbk[tde+],[whl+]    mov    a,!!hwbuffer1    add     a,#06h    mov   !!hwbuffer1,a    movg    whl,#hwbuffer4    movg    !!inget1,whl    movg    whl,#hwbuffer16    movg    !!inget4,whl    movg    whl,#hwbuffer35    movg    !!inget7,whl    call  !!xvtcz    mov   a,!!hwbuffer35    cmp   a,#00h    bz$xdbb61    cmp   a,#01h    bnz   $xdbb62    clr1  !!hwbuffer3.0    br!!xdcc2  xdbb62:  cmp a,#0e1h    bnz   $xdbb63    clr1  !!hwbuffer3.7    br!!xdbb61  xdbb63:  cmp a,#0e2h    bnz   $xdbb6i1    clr1  !!hwbuffer3.6    br!!xdbb61  xdbb6i1:cmp a,#0e8h    bnz   $xdbb6i2    bt  !!hwbuffer2.6,$xdbb61    bf  !!hwbuffer2.5,$xdbb61    clr1    !!hwbuffer3.0    br!!xdbb61  xdbb6i2:cmp a,#0e3h    bnz     $xdbb61    clr1    !!hwbuffer3.0  xdbb61:    movg    whl,#hwbuffer8    movg    inget1,whl    movg    whl,#hwbuffer20    movg    inget4,whl    movg    whl,#hwbuffer10    movg    inget7,w hl    call    !!aslz    movg    whl,#hwbuffer4    movg    !!inget1,whl    movg    whl,#hwbuffer10    movg    !!inget4,whl    movg    whl,#hwbuffer35    movg    !!inget7,whl    call    !!xvtmz    mov     a,!!hwbuffer35    cmp     a,#00h    bz$xdcc2    cmp      a,#01h    bnz      $xdbb66    set 1    !!hwbuffer2.5    clr 1    !!hwbuffer2.6    br!!xdcc2  xdbb66:cmp a,#02h    bnz     $xdbb67    set1    !!hwbuffer2.6    clr1    !!hwbuffer2.5    br!!xdcc2    xdbb67:cmp  a,#03h    bnz     $xdcc2    clr1    !!hwbuffer3.0  xdcc2:    mov !!hwbuffer36,#00h  xdcc:   mov    !!inget1,#01h    movg   whl,#xd7    movg   !!inget2,whl    call   !!xtm6z    call   !!phw3    br!!out  xd7:  push    psw    sel    rb5    bfp0.6,$xdcc1    movg  whl,#xd8    call   !!pulp    call   !!adonez;    br!!out  xdcc1:mov    a,!!hwbuffer36    inc    a    mov    !!hwbuffer36,a    cmp    a,#hwtm1    bc$xdccll    mov    r7,#0ffh    mov    r6,#0fh    movw   ax,!!hwbuffer8    movw   rp2,ax    movw   ax,!!hwbuffer20    movw   rp1,ax    movg     whl,#hwbuffer10    call   !!phwall    mov    !!oldlcdflag,#00h    mov    !!hwbuffer1,#00h    mov    !!hwbuffer2,#0ffh    mov    !!hwbuffer3,#0ffh      call !!phw3    call   !!phw2    br!!xdbb5  xdcc11:mov  !!inget1,#01h    movg   whl,#xd7    movg  !!inget2,whl    call  !!xtm6z    call  !!phw3    br!!out  xldcc:    br    !!xdcc  xd8:  push    psw    sel   rb5    movw  ax,!!lcdxyx    cmpw  ax,#0ffffh    bz$xldcc    cmp   a,#bdy0    bc$xd81    cmp   a,#bdy2    bz$xd82    bnc   $xd81  xd82:  cmp    x,#bdx0    bc$xd81    cmp   x,#bdx2    bz$xd83    bnc   $xd81    br!!xd83 xd81:cmp  hwtm2,#0ffh    bnz    $xd811    bf!!hwbuffer2.0,$xd812    clr1    !!hwbuffer2.0    br !!xdcc  xd812:  br    !!xd14  xd811:  br    !!xdcc  xd83:  set1   !!hwbuffer2.0    movg    whl,#hwbuffer20    movg    inget1,whl    movg    whl,#lcdxyx    movg    inget4,whl    movg    whl,#hwbuffer37    movg    inget7,whl    call    !!aslz    mov     a,!!hwbuffer38    cmp     a,#xmax1    bnc     $xd84    mov     a,!!hwbuffer40    cmp     a,#ymax1    bnc     $xd84    br!!xdcc  xd84:mov    a,!!hwbuffer38    cmp     a,#xmax3    bnh     $xd841    br!!xdcc  xd841:mov    a,!!hwbuffer40    cmp     a,#ymax3    bnh     $xd831    br!!xdcc  xd831: movg  tde,#hwbuffer22    movg   whl,#hwbuffer37    mov    c,#04h    movbk  [tde+],[whl+]    call   !!pdot    movw   ax,!!lcdxyx    movw   !!hwbuffer26,ax    mov    a,!!hwbuffer1    add    a,#06h    mov    !!hwbuffer1,a    bt  !!hwbuffer3.0,$xdcc4    br !!xde1  xdcc4:movg  whl,#hwbuffer8     movg   inget1,whl    movg   whl,#hwbuffer26    movg   inget4,whl    movg   whl,#hwbuffer37    movg   inget7,whl    call   !!aslz    movg   whl,#hwbuffer10    movg   !!inget1,whl    movg   whl,#hwbuffer37    movg   !!inget4,whl    movg   whl,#hwbuffer35    movg   !!inget7,whl    call   !!xvtmz    mov    a,!!hwbuffer35    cmp    a,#00h    bnz    $xdcc41  xdcc42:  br  !!xddd3  xdcc41:cmp a,#01h    bnz    $xddd1    bf  !!hwbuffer2.4,$xdcc42  xddd2:    bt  !!hwbuffer2.6,$xdcc43  xdcc44:clr1 !!hwbuffer2.6    set1    !!hwbuffer2.5    br!!xddd3  xdcc43:    bt  !!hwbuffer2.5,$xdcc44    clr1    !!hwbuffer2.4    br!!xddd3  xddd1:cmp    a,#02h    bnz    $xddd3i1    bt  !!hwbuffer2.4,$xddd11    br !!xddd3  xddd11:    bf !!hwbuffer2.6,$xddd12  xddd13:set1 !!hwbuffer2.6    clr1  !!hwbuffer2.5    br!!xddd3  xddd12:    bf !!hwbuffer2.5,$xddd13    clr1  !!hwbuffer2.4    br!!xddd3  xddd3i1:    clr1  !!hwbuffer3.0  xddd3:    movg  whl,#hwbuffer10    movg  !!inget1,whl    movg  whl,#hwbuffer22    movg  !!inget4,whl    movg  whl,#hwbuffer35;    movg  !!inget7,whl    call  !!xvtcz    mov   a,!!hwbuffer35    cmp   a,#00h    bnz   $xddd31    movg  tde,#hwbuffer10    movg  whl,#hwbuffer37    mov   c,#04h    movbk [tde+],[whl+]    br!!xddd4  xddd31:cmp a,#01h    bnz   $xddd32    clr1  !!hwbuffer3.0    br!!xde2  xddd32:    movg  tde,#hwbuffer10    movg  whl,#hwbuffer37    mov   c,#04h    movbk[tde+],[whl+]    cmp   a,#0e1h    bnz   $xddd33    clr1  !!hwbuffer3.7    br!!xddd5  xddd33:cmp a,#0e2h    bnz   $xddd34    clr1  !!hwbuffer3.6    br!!xddd5  xddd34:cmp a,#0f3h    bnz   $xddd35    bf !!hwbuffer3.7,$xddd36    bf !!hwbuffer3.1,$xddd36    br!!xddd5  xddd36:clr1 !!hwbuffer3.3       br!!xddd5  xddd35:cmp a,#0f4h    bnz    $xdp8a    bf !!hwbuffer3.6,$xddd37    bf !!hwbuffer3.2,$xddd37    br!!xddd5  xdp8a:cmp  a,#0e8h    bnz    $xdp8a1    bt !!hwbuffer2.6,$xddd5    bf !!hwbuffer2.5,$xddd5    clr1  !!hwbuffer3.0    br!!xde2  xdp8a1:cmp a,#0e3h    bnz   $xddd5    clr1  !!hwbuffer3.0    br!!xde2  xddd37:clr1 !!hwbuffer3.3    br!!xddd5  xddd4:    bt !!hwbuffer3.7,$xddd41    clr1  !!hwbuffer3.1    br!!xddd5  xddd41:    bt !!hwbuffer3.6,$xddd5    clr1  !!hwbuffer3.2  xddd5:  movg tde,#hwbuffer14    call  !!hbdel    br!!xdcc2  xde1:movg whl,#hwbuffer14    movg  inget1,whl    movg  whl,#hwbuffer26    movg  inget4,whl    movg  whl,#hwbuffer37    movg  inget7,whl    call  !!aslz    movg  whl,#hwbuffer4    movg  !!inget1,whl    movg  whl,#hwbuffer22    movg  !!inget4,whl    movg  whl,#hwbuffer35    movg  !!inget7,whl    call  !!xvtcz    mov   a,!!hwbuffer35    cmp   a,#01h    bz$xdell    cmp   a,#0e1h    bnz   $xde12    clr1  !!hwbuffer3.7    br!!xde13  xde12:cmp  a,#0e2h    bz$xde14    cmp   a,#0e8h    bz$xde112    cmp  a,#0e3h    bz$xde112    br!!xde13  xde14:clr1  !!hwbuffer3.6    br !!xde13  xde11:    bf !!hwbuffer2.6,$xde111  xde112:mov r7,#0ffh    br!!xde113  xde111:    bf !!hwbuffer2.5,$xde112    bf !!hwbuffer2.4,$xde112    bf !!hwbuffer3.3,$xde112    bf !!hwbuffer3.1,$xde114    bt !!hwbuffer3.2,$xde112    mov    r7,#0ffh    br!!xde113  xde114:mov r7,#0ffh  xde113:mov r6,#0cfh    movw  ax,!!hwbuffer8    movw  rp2,ax    movw  ax,!!hwbuffer14    movw  rp1,ax    movg  whl,#hwbuffer4    call  !!phwall    br!!xddd6  xde13:set1  !!hwbuffer3.0    movw  ax,!!hwbuffer26    movw  !!hwbuffer20,ax    movg  tde,#hwbuffer16    movg  whl,#hwbuffer22    mov   c,#04h    movbk [tde+],[whl+]    mov   a,!!hwbuffer1    sub   a,#06h    mov   !!hwbuffer1,a    br!!xdcc2  xddd6:  call  !!phw3    call  !!phw2    mov   !!hwbuffer2,#0ffh    mov   !!hwbuffer3,#0ffh    movw  ax,!!hwbuffer14    movw  !!hwbuffer8,ax    movw  ax,!!hwbuffer26    movw  !!hwhuffer14,ax    movg  tde,#hwbuffer4    movg  whl,#hwbuffer37    mov   c,#04h    movbk [tde+],[whl+]    movg   tde,#hwbuffer10    movg   whl,#hwbuffer37    mov    c,#04h    movbk  [tde+],[whl+]    mov    !!hwbuffer1,#0eh    mov    a,!!hwbu ffer38    cmp    a,#xmax2    bnc    $xddd61    mov    a,!!hwbuffer40    cmp    a,#ymax2    bnc    $xddd61    br!!xdaa2  xddd61:  clr1 !!hwbuffer2.7    br!!xdbb2  xde2:mov  !!hwbuffer36,#00h  xde4:mov  !!inget1,#01h    movg   whl,#xd9    movg   !!inget2,whl    call   !!xtm6z    call   !!phw3    br!!out  xd9:push    psw    sel    rb5    bfp0.6,$xde5    movg   whl,#xd10    call    !!pulp    call    !!adonez;    br!!out  xde5:mov    a,!!hwbuffer36    inc     a    mov     !!hwbuffer36,a    cmp     a,#hwtm1    bnc     $xde6    mov     !!inget1,#01h    movg    whl,#xd9    movg    !!inget2,whl    call    !!xtm6z    call    !!phw3    br!!out  xde6:bf !!hwbuffer2.6,$xde61  xde62:mov    r7,#0ffh    br!!xde63  xde61:  xde63:mov    r6,#0fh  xd164:  movw  ax,!!hwbuffer8    movw    rp2,ax    movw    ax,!!hwbuffer20    movw    rp1,ax    movg    whl,#hwbuffer10;    call    !!phwall    call  !!phw3    call  !!phw2    mov   !!oldlcdflag,#00h     mov   !!hwbuffer1,#00h    mov   !!hwbuffer2,#0ffh  xdl63:mov  !!hwbuffer3,#0ffh    br!!xdbb5  xlde4:br    !!xde4  xd10:  push  psw    sel   rb5    movw  ax,!!lcdxyx    cmpw  ax,#0ffffh    bz$xlde4    cmp   a,#bdy0    bc$xd101    cmp   a,#bdy2    bz$xd102    bnc   $xd101  xd102:cmp    x,#bdx0    bc$xd101    cmp   x,#bdx2    bz$xd103    bnc   $xd101    br!!xd103  xd101:cmp    hwtm2,#0ffh;    bnz   $xd1011    bf!!hwbuffer2.0,$xd1012    clr1  !!hwbuffer2.0    br!!xde2  xd1012:  br  !!xd14  xd1011:  br  !!xde2  xd103:set1  !!hwbuffer2.0    movg  whl,#hwbuffer26    movg  inget1,whl    movg  whl,#lcdxyx    movg  inget4,whl    movg  whl,#hwbuffer37    movg  inget7,whl    call  !!aslz    mov   a,!!hwbuffer38    cmp   a,#xmax1    bnc   $xd104    mov   a,!!hwbuffer40    cmp   a,#ymax1    bnc   $xd104    br!!xde2  xd104: mov    a,!!hwbuffer38    cmp   a,#xmax3    bnh   $xd1041    br!!xde2  xd1041: mov  a,!!hwbuffer40    cmp    a,#ymax3    bnh    $xd1031    br!!xde2  xd1031: mov  a,!!hwbuffer1    add    a,#06h    mov    !!hwbuffer1,a    movw   ax,!!lcdxyx    movw   !!hwbuffer32,ax    movg   tde,#hwbuffer28    movg   whl,#hwbuffer37    mov    c,#04h    movbk  [tde+],[whl+]    call   !!pdot  xde7:movg whl,#hwbuffer20    movg   inget1,whl    movg   whl,#hwbuffer32    movg   inget4,whl    movg   whl,#hwbuffer37    movg   inget7,whl    call   !!aslz    movg whl,#hwbuffer10    movg   !!inget1,whl    movg   whl,#hwbuffer37    movg   !!inget4,whl    movg   whl,#hwbuffer35    movg   !!inget7,whl    call   !!xvtcz    mov    a,!!hwbuffer35    cmp    a,#00h    bnz    $xd10i1  xd10i8:set1!!hwbuffer3.0    movw   ax,!!hwbuffer32    movw   !!hwbuffer26,ax    movg   tde,#hwbuffer22    movg   whl,#hwbuffer37;    mov    c,#04h    movbk  [tde+],[whl+]    mov    a,!!hwbuffer1    sub    a,#06h    mov    !!hwbuffer1,a    br!!xdcc4  xd10i1:  cmp a,#01h    bz$xd10i7    cmp    a,#0e8h    bnz    $xd10i11    bt !!hwbuffer2.6,$xd10i8    bf !!hwbuffer2.5,$xd10i8    br!!xd10i3  xd10i11:cmp a,#0e3h    bnz    $xd10i8    br!!xd10i3:  xd10i7:bf  !!hwbuffer2.6,$xd10  i2  xd10i3:mov r7,#0ffh    br!!xd10i5;ldy020501  xd10i2:bf  !!hwbuffer2.5,$xd10  i3    bf !!hwbuffer2.4,$xd10i3    bf !!hwbuffer3.3,$xd10i3    bf !!hwbuffer3.1,$xd10i4    bt !!hwbuffer3.2,$xd10i3    mov  r7,#0ffh    br!!xd10i5  xd10i4:  mov r7,#0ffh  xd10i5:  mov r6,#0cfh    movw   ax,!!hwbuffer8    movw   rp2,ax    movw   ax,!!hwbuffer20    movw   rp1,ax    movg   whl,#hwbuffer10    call   !!phwall      call !!phw3    call   !!phw2    mov    !!hwbuffer2,#0ffh    mov    !!hwbuffer3,#0ffh    movw   ax,!!hwbuffer20    movw   !!hwbuffer8,ax    movw   ax,!!hwbuffer32    movw   !!hwbuffer14,ax    movg   tde,#hwbuffer4    movg   whl,#hwbuffer37    mov    c,#04h    movbk  [tde+],[whl+]    movg   tde,#hwbuffer10    movg   whl,#hwbuffer37    mov    c,#04h    movbk  [tde+],[whl+]    mov    !!hwbuffer1,#0eh    mov    a,!!hwbuffer38    cmp    a,#xmax2    bnc    $xd10i6    mov    a,!!hwbuffer40    cmp    a,#ymax2    bnc    $xd10i6    br!!xdaa2  xd10i6:clr1 !!hwbuffer2.7    br!!xdbb2  xd13:  mov    a,!!hwbuffer1    cmp    a,#09h    bnc    $xd131    movw   ax,!!hwall    cmpw   ax,#00h    bz$xd132    movg   vvp,#00h    movw   rp4,ax    movg   tde,#hwall    addg   tde,#02h    addg   tde,vvp    decg   tde    mov    a,[tde]    cmp    a,#0cfh    bz$xd133    and    a,#3fh    add    a,#40h    br!!xd132  xd133:mov  a,#4fh    mov    [tde],a  xd132:  set1!!z_intflg1.0    mov    !!handwend,#00h    call   !!phw3    call   !!phw2    br!!out  xd131:  mov    r7,#0ffh    mov    r6,#4fh    movw   ax,!!hwbuffer8    movw   rp2,ax    movw   ax,!!hwbuffer14    movw   rp1,ax    movg   whl,#hwbuffer4    call   !!phwall  xd1311:    mov    !!hwbuffer1,#00h    mov    !!hwbuffer2,#0ffh    mov    !!hwbuffer3,#0ffh    br!!xd132  xd14:mov    r7,#0ffh    mov    r6,#4fh    movw   ax,!!hwbuffer8    movw   rp2,ax    movw   ax,!!hwbuffer14    movw   rp1,ax    movg   whl,#hwbuffer10    call   !!phwa11    mov    !!oldlcdflag,#00h     br!!xd1311  out:  pop    psw    ret  pulp: movg    tde,#lintprog    movg  vvp,#00h    mov   r8,#handwv    addg  tde,vvp    mov   a[tde]    mov   x,a    inc   a    mov   [tde],a    mcv   a,#03h    mulu  x    movw  rp4,ax    addg  tde,#02h    addg  tde,vvp    movg  [tde],whl    ret  hwset:  movg tde,#hwall    movw  ax,[tde]    cmpw  ax,#00h    bnz   $ht2    br!!htout ht2:  movg  vvp,#00h    movw  rp4,ax    addg  tde,#02h    addg  tde,vvp    decg  tde    mov   a,r7    mov   [tde],a  htout:    ret  phwall:movg    tde,#hwall    movw  ax,[tde]    cmpw  ax,#0200h    bnc   $phwall2    movg  vvp,#00h    movw  rp4,ax    addw  ax,#0ah    movw  [tde],ax;    addg  tde,#02h    addg  tde,vvp    mov   a,r7    mov   [tde],a    incg  tde    movw  ax,rp2    movw  [tde],ax    addg  tde,#02h    movw  ax,rp1    mov   c,#04h    movbk [tde+],[whl+]    movw  [tde],ax    addg  tde,#02h    mov   a,r6    mov   [tde],a    ret  phwall2:ret  phw2:movg tde,#lintsp    mov   a,[tde]    movg  vvp,#00h    mov   r8,a    inc   a    mov   [tde],a    incg  tde    addg  tde,vvp    mov   a,#handwv2    mov   [tde],a    ret  pdot:  movg tde,#lintsp    mov   a,[tde]    movg  vvp,#00h    mov   r8,a    inc   a    mov   [tde],a    incg  tde    addg  tde,vvp    mov   a,#dothpv    mov   [tde],a    ret   hbdel:  mov a,!!hwbuffer1    movg  vvp,#00h    mov   r8,a    sub   a,#06h    mov   !!hwbuffer1,a    movg  whl,#hwbuffer2    addg  vvp,whl    movg  whl,tde    addg  whl,#06h    subg  vvp,whl    mov   c,r8    movbk [tde+],[whl+]    ret    phw3:  movg  tde,#lintsp    mov   a,[tde]    movg  vvp,#00h    mov   r8,a    inc   a    mov   [tde],a    incg  tde    addg  tde,vvp    mov   a,#handwv3;    mov   [tde],a;    ret  END  10、TM6中断服务程序:    NAME xtm6n  PUBLIC  xtm6z,inttm6  extrn   inget1,tm6hpv,  tm6prog,lintprog,lintsp,  tm6flag      CSEG  xtm6z:  push    psw    sel   rb3    push  ax    push  rp1    push  tde    push  vvp    push  whl    call  !!ptp    mov   a,!!tm6flag    cmp   a,#0ffh    bnz   $out    mov   !!tm6flag,#00h    mov   cr60,#3ah    mov   prm6,#07h    mov   tmic6,#00h    mov   tmc6,#80h  out:  pop whl     pop   vvp    pop   tde    pop   rp1    pop   ax    pop   psw    ret  inttm6:  sel rb7    push  ax    push  rp1    push  rp2    push  rp3    push  whl    push  vvp    push  tde    push  uup    movg  whl,sp    addg  whl,#14h    movg  tde,#0ffaa0h    mov   c,#04h    movbk [tde+],[whl+]    movg  uup.#tm6prog    mov   a,[uup]    cmp   a,#00h    bnz   $t8    br!!t2  t8:  mov r7,a    mov    r6,#00h    mov    r5,#00h    incg   uup  t7:mov a,[uup]    dec    a    cmp    a,#00h    bnz    $t3    incg   uup    movg   whl,[uup]    call   !!plp    decg   uup    movg   tde,uup    call   !!del    mov    r5,#0ffh;    call   !!pls    br!!t4 t3:  mov[uup],a    addg   uup,#04h    dec    r7 t4:cmpr7,#00h    bz$t5    br!!t7 t5:  movg  whl,#tm6prog    mov    a,[whl]    sub    a,r6     mov    [whl],a    cmp    r5,#0ffh    bz$t6    br!!tout  t6:  movg  uup,#tm6prog    mov    a,[uup]    cmp    a,#00h    bz$t2    br!!tout  t2:  mov!!tm6flag,#0ffh    clr1   tmc6.7    set1   tmic6.6  tout:  pop  uup    pop    tde    pop    vvp    pop    whl    pop    rp3    pop    rp2    pop    rp1    pop    ax    reti ptp:  movg  tde,#tm6prog    mov    a,[tde]      mov    x,a      inc    a      mov    [tde],a      mov    a,#04h      mulu   x      movg   vvp,#00h      movw   rp4,ax      incg   tde      addg   tde,vvp      mov    c,#04h      movg   whl,#inget1      movbk  [tde+],[whl+]      ret    del:    dec    r7      cmp    r7,#00h      bz$dout      mov    a,r7;      mov    x,#04h      mulu   x      movg   whl,tde      addg   whl,#04h      mov    c,x      cmp    c,#00h      bz $d1      movbk  [tde+],[whl+]    d1:  cmp a,#00h      bz$dout      mov    c,#0ffh      movbk  [tde+],[whl+]      dec    a      br!!d1    dout:    inc    r6      ret    plp:  movg  tde,#lintprog      movg   vvp,#00h      mov    a,#tm6hpv      mov    r8,a      addg   tde,vvp      mov    a,[tde]      inc    a;      mov    [tde],a      dec    a      mov    x,#03h      mulu   x      movw   rp4,ax      addg   tde,vvp      addg   tde,#02h;      movg   vvp,whl       movg   whl,[tde]       addg   tde,#03h;    movg  [tde],whl    movg  whl,vvp    subg  tde,#03h    movg  [tde],whl    ret  pls:  movg  tde,#lintsp    movg  vvp,#00h    mov   a,[tde]    mov   r8,a    inc   a    mov   [tde],a    incg  tde    addg  tde,vvp    mov   a,[tde]    incg  tde    mov   [tde],a    decg  tde    mov   a,#tm6hpv    mov   [tde],a    ret END 11、TM8中断服务程序:     NAME xtm8n PUBLIC  xtm8z,inttm8 extrn   inget1,tm8hpv ,tm8prog,lintprog,lintsp,tm8f lag    CSEG xtm8z:  push    psw   sel   rb3   push  ax   push  rp1   push  tde   push  vvp   push  whl   call  !!ptp   mov   a,!!tm8flag   cmp   a,#0ffh   bnz   $out   mov   !!tm8flag,#00h   mov   cr80,#80h   mov   prm8,#07h   mov   tmic8,#00h   mov   tmc8,#80h out:  pop  whl   pop   vvp   pop   tde   pop   rp1    pop   ax    pop   psw      ret    inttm8:   sel rb7      push    ax      push    rp1      push    rp2      push    rp3      push    whl      push    vvp      push    tde      push    uup      movg    whl,sp      addg    whl,#14h      movg    tde,#0ffaa0h      mov     c,#04h      movbk   [tde+],[whl+]      movg    uup,#tm8prog      mov     a,[uup]      cmp     a,#00h      bnz     $t8      br!!t2    t8:  mov r7,a      mov     r6,#00h      mov     r5,#00h      incg    uup    t7:mov a,[uup]      dec     a      cmp     a,#00h      bnz     $t3      incg    uup      movg    whl,[uup]      call    !!plp      decg    uup      movg    tde,uup      call    !!del      mov     r5,#0ffh      call    !!pls      brt4    t3:  mov [uup],a      addg    uup,#04h      dec     r7    t4:  cmp r7,#00h      bz$t5      brt7    t5:  movg    whl,#tm8prog      mov     a,[whl]      sub     a,r6      mov     [whl],a      cmp     r5,#0ffh       bz$t6       brtout  t6:    movg    uup,#tm8prog    mov    a,[uup]    cmp    a,#00h    bz$t2    brtout  t2:mov !!tm8flag,#0ffh    clr1    tmc8.7    set1    tmic8.6  tout:   pop    uup    pop    tde    pop    vvp    pop    whl    pop    rp3    pop    rp2    pop    rp1    pop    ax    reti  ptp:  movg    tde,#tm8prog    mov    a,[tde]    mov    x,a    inc    a    mov    [tde],a    mov    a,#04h    mulu   x    movg   vvp,#00h    movw   rp4,ax    incg   tde    addg   tde,vvp    mov    c,#04h    movg   whl,#inget1    movbk  [tde+],[whl+]    ret  del:    dec    r7    cmp    r7,#00h    bz$dout    mov    a,r7    mov    x,#04h    mulu   x    movg   whl,tde    addg   whl,#04h    mov    c,x    cmp    c,#00h    bz$d1    movbk  [tde+],[whl+]  d1:  cmp a,#00h    bz$dout    mov    c,#0ffh    movbk  [tde+],[whl+]    dec    a    brd1  dout:    inc    r6    ret  plp:movg    tde,#lintprog    movg   vvp,#00h    mov    a,#tm8hpv    mov    r8,a    addg   tde,vvp    mov    a,[tde]    inc    a    mov    [tde],a    dec    a    mov    x,#03h    mulu   x    movw   rp4,ax    addg   tde,vvp    addg   tde,#02h;t    movg   vvp,whl    movg   whl,[tde]    addg   tde,#03h;    movg   [tde],whl    movg   whl,vvp    subg   tde,#03h;tde-3    movg   [tde],whl    ret  pls:  movg  tde,#lintsp    movg   vvp,#00h    mov    a,[tde]    mov    r8,a    inc    a    mov    [tde],a    incg   tde    addg   tde,vvp    mov    a,[tde]    incg   tde    mov    [tde],a    decg   tde    mov    a,#tm8hpv    mov    [tde],a    ret END 12、矢量变化检测程序:      NAME  xvtcn  PUBLIC    xvtcz  extrn    inget1,inget4,  inget7,xcon1,ycon1,xcon2  ,ycon2  extrn    xcon3,xcon4  ,ycon3,ycon4,ycon6,ang30min      CSEG  xvtcz:  push    psw    sel    rb3    movg   whl,inget1    movg   uup,inget4    mov    a,[whl]    mov    x,a    mov    a,[uup]    cmp    a,x    bz$xv1    addg   whl,#02h    addg   uup,#02h    mov    a,[whl]    mov    x,a    mov    a,[uup]    cmp    a,x    bnz    $xv2    br!!xv3  xv2:  mov  a,#01h    mov    [%inget7],a    br!!out  xv1:  addg    whl,#02h    addg    uup,#02h    mov    a,[whl]    mov    x,a    mov    a,[uup]    cmp    a,x    bz$xv4    br!!xv5  xv4:  decg    whl    decg   uup    mov    a,[whl]    mov    x,a    cmp    x,#00h    bnz    $xv42    mov    a,[uup]    cmp    a,x    bnz    $xv42  xv43:  mov  a,#00h    mov    [%inget7],a    br!!out  xv42:  addg  whl,#02h    addg   uup,#02h    mov    a,[whl]    mov    x,a;    cmp    x,#00h    bnz    $xv41    mov    a,[uup]    cmp    a,x    bnz    $xv4i    br!!xv43  xv41:  movg  whl,inget1    movg   uup,inget4    mov    a,[whl]    cmp    a,#01    bz$xv44;    br!!xv45;  xv44:  addg  whl,#02h    mov    a,[whl]    cmp    a,#00h    bz$xv46    br!!xv47  xv46:    incg  whl    mov    a,[whl]    cmp    a,#00h    bnz    $xv48    mov    a,#01h  xv48:  mov    c,a;    subg   whl,#02h    addg   uup,#03h    mov    a,[whl]    mov    x,a    mov    a,[uup]    mulu   x    divuw  c    movw   rp1,ax    subg   uup,#02h    mov    a,[uup]    mov    x,a    mov    a,#00h    cmpw   ax,rp1    bnz    $xv49    br!!xv43  xv49:  bc    $xv410    br!!xv411  xv410:  movg whl,inget1    incg   whl    mov    a,[whl]    mov    x,#xcon1    mulu   x    movw   rp1,ax    addg   whl,#02h    mov    a,[whl]    mov    x,#ycon1    mulu   x    cmpw   ax,rp1    bnc    $xv4101    movg   uup,inget4    incg   uup    mov    a,[uup]    mov    x,#xcon4    mulu   x    movw   rp1,ax    addg   uup,#02h    mov    a,[uup]    mov    x,#11h    mulu   x    cmpw   rp1,ax    bnc    $xv4101    mov    a,#01h    mov    [%inget7],a    br!!out  xv4101:  br  !!xv43  xv411:  movg whl,inget1    incg   whl    mov    a,[whl]    mov    x,#ang30min;    mulu   x    movw   rp1,ax    addg   whl,#02h    mov    a,[whl]    mov    x,#0ah    mulu   x    cmpw   ax,rp1    bc$xv4111    movg   uup,inget4    incg   uup    mov    a,[uup]    mov    x,#0ah    mulu   x    movw   rp1,ax    addg   uup,#02h    mov    a,[uup]    mov    x,#ang30min    mulu   x    cmpw   ax,rp1    bnc    $xv4111    mov    a,#01h    mov    [%inget7],a    br!!out  xv4111:  br  !!xv43  xv47:  incg  whl    mov    a,[whl]    cmp    a,#00h    bnz    $xv471    mov    a,#01h  xv471:mov  c,a    subg   whl,#02h    addg   uup,#03h    mov    a,[whl]    mov    x,a    mov    a,[uup]    mulu   x    divuw  c    movw   rp1,ax    subg   uup,#02h    mov    a,[uup]    mov    x,a    mov    a,#00h    cmpw   ax,rp1    bnz    $xv472    br!!xv43  xv472:    bc    $xv473    br!!xv474  xv473:  br    !!xv410  xv474:  movg whl,inget1    incg   whl    mov    a,[whl]    mov    x,#ycon6    mulu   x    movw   rp1,ax    addg   whl,#02h    mov    a,[whl]    mov    x,#0eh    mulu   x    cmpw   rp1,ax    bnc    $xv475    movg   uup,inget4    addg   uup,#03h    mov    a,[uup]    mov    x,#0eh    mulu   x    movw   rp1,ax    subg   uup,#02h    mov    a,[uup]    mov    x,#ycon6    mulu   x    cmpw   rp1,ax    bnc    $xv475    mov    a,#01h    mov    [%inget7],a    br!!out  xv475:  br    !!xv43  xv45:  addg  whl,#02h    mov    a,[whl]    cmp    a,#00h    bz$xv451    br!!xv43  xv451:movg  whl,inget1    addg   whl,#03h    mov    a,[whl]    cmp    a,#00h    bnz    $xv452    mov    a,#01h  xv452:  mov  c,a    subg   whl,#02h    movg   uup,inget4    addg   uup,#03h    mov    a,[whl]    mov    x,a    mov    a,[uup]    mulu   x    divuw  c    movw   rp1,ax    subg   uup,#02h    mov    a,[uup]    mov    x,a    mov    a,#00h    cmpw   ax,rp1    bc $xv453    mov    a,[whl]    mov    x,#ang30min    mulu   x    mov    c,#08h    divuw  c    movw   rp1,ax    addg   whl,#02h    mov    a,[whl]    mov    x,a    mov    a,#00h    cmpw   rp1,ax    bnc    $xv454    mov    a,[uup]    mov    x,a    mov    a,#00h    movw   rp2,ax    addg   uup,#02h    mov    a,[uup]    mov    x,#ang30min    mulu   x    mov    c,#0ch    divuw  c    cmpw   ax,rp2    bnc    $xv454    mov    a,#01h    mov    [%inget7],a    br!!out  xv454:  br    !!xv43  xvl4101:br!!xv4101    xv453:  movg whl,inget1    incg   whl    mov    a,[whl]    mov    x,#18h    mulu   x    movw   rp1,ax    addg   whl,#02h    mov    a,[whl]    mov    x,#ycon1    mulu   x    cmpw   ax,rp1    bnc    $xv14101    movg   uup,inget4    incg   uup    mov    a,[uup]    mov    x,#xcon4    mulu   x    movw   rp1,ax    addg   uup,#02h    mov    a,[uup]    mov    x,#07h    mulu   x    cmpw   rp1,ax    bnc    $xv14101    mov    a,#01h    mov    [%inget7],a    br!!out  xv3:  incg  whl    incg   uup    mov    a,[whl]    mov    x,a    mov    a,[uup]    cmp    a,x    bnc    $xv31    mov    r6,x    mov    r4,a    subg   whl,#02h    subg   uup,#02h    mov    a,[whl]    mov    r7,a    mov    a,[uup]    mov    r5,a    br!!xv32  xv31:  mov    r6,a    mov    r4,x    subg   whl,#02h    subg   uup,#02h    mov    a,[uup]    mov    r7,a    mov    a,[whl]    mov    r5,a  xv32:  cmp    r4,#00h    bnz    $xv34    br!!xv33  xv131:br !!xv132  xv34:  movg  whl,inget1    mov    a,[whl]    cmp    a,#00h    bz$xv13a    movg   whl,inget4    mov    a,[whl]    cmp    a,#00h    bnz    $xv131  xv13a:  mov  a,r6    mulu   r5    divuw  r4    mov    c,r7    mov    b,#00h    addw   ax,bc    mov    c,#xcon2    muluw  rp1    cmp    x,#00h    bnz    $xv33    mov    a,#10h    mulu   r6    cmpw   ax,bc    bc$xv33    movg   whl,inget1    addg   whl,#02h    mov    a,[whl]    cmp    a,#00h    bnz    $xv35    subg   whl,#02h    mov    a,[whl]    cmp    a,#00h    bz$xv36    mov    a,#0e2h    mov    [%inget7],a    br!!out  xv36:mov    a,#0f4h    mov    [%inget7],a    br!!out  xv35:    subg  whl,#02h    mov    a,[whl]    cmp    a,#00h    bz$xv37    mov    a,#0f2h    mov    [%inget7],a    br!!out  xv37:  mov    a,#0e4h    mov    [%inget7],a    br!!out  xv33:mov    a,#01h    mov    [%inget7],a    br !!out  xv132:     mov  a,r6    mulu   r5    divuw  r4    mov    c,r7    mov    b,#00h    addw   ax,bc    mov    c,#xcon2    muluw  rp1    cmp    x,#00h    bnz    $xv33    mov    a,#xcon2    mulu   r6    cmpw   ax,bc    bc$xv33    movg   whl,inget1    addg   whl,#02h    mov    a,[whl]    cmp    a,#00h    bnz    $xv35    subg   whl,#02h    mov    a,[whl]    cmp    a,#00h    bz$xv36    mov    a,#0e2h    mov    [%inget7],a    br!!out  xv5:  decg  whl    decg   uup    mov    a,[whl]    mov    x,a    mov    a,[uup]    cmp    a,x    bnc    $xv51    mov    r7,x    mov    r5,a    addg   whl,#02h    addg   uup,#02h    mov    a,[whl]    mov    r6,a    mov    a,[uup]    mov    r4,a    br!!xv52  xv51:  mov  r7,a    mov    r5,x    addg   whl,#02h    addg   uup,#02h    mov    a,[uup]    mov    r6,a    mov   a,[whl]    mov   r4,a  xv52:  cmp  r5,#00h    bnz   $xv54    br!!xv53  xv54:  mov  a,r7    mulu  r4    divuw r5    mov   c,r6    mov   b,#00h    addw  ax,bc    mov   c,#yconl    muluw rp1    cmp   x,#00h    bnz   $xv53    mov   a,#ycon1    mulu  r7    cmpw  ax,bc    bc$xv53    movg  whl,inget1    mov   a,[whl]    cmp   a,#00h    bnz   $xv55    addg  whl,#02h    mov   a,[whl]    cmp   a,#00h    bz$xv56    mov   a,#0f1h    mov   [%inget7],a    br!!out  xv56:  mov  a,#0e3h    mov   [%inget7],a    br!!out  xv55:  addg whl,#02h    mov   a,[whl]    cmp   a,#00h    bz$xv57    mov   a,#0e1h    mov   [%inget7],a    br!!out  xv57:  mov  a,#0f3h    mov   [%inget7],a    br!!out  xv53:  mov  a,#01h    mov   [%inget7],a  out:pop psw    ret  END  13、测矢量的运动趋势:    NAME xvtmn PUBLIC  xvtmz,xvtm2z extrn  inget1,inget4,inget7    CSEG xvtmz:  push psw    sel   rb3    movg  whl,inget1    movg  uup,inget4    mov   a,[whl]    mov   x,a    mov   a,[uup]    cmp   a,x    bz$xv1    addg  whl,#02h    addg  uup,#02h    mov   a,[whl]    mov   x,a    mov   a,[uup]    cmp   a,x    bnz   $xv2    br!!xv3  xv2:  mov  a,#03h    mov   [%inget7],a    br!!out  xv1:  addg  whl,#02h    addg  uup,#02h    mov   a,[whl]    mov   x,a    mov   a,[uup]    cmp   a,x    bz$xv4    br!!xv5  xv4:  subg  whl,#02h    mov   a,[whl]    cmp   a,x    bnz   $xv41    incg  whl    mov   a,[whl]    mov   x,a    incg  uup    mov   a,[uup]    mulu  x    movw  rp1,ax    addg  whl,#02h    subg  uup,#02h    mov   a,[whl]    mov   x,a    mov   a,[uup]    mulu  x    cmpw  ax,rp1    bnz   $xv42    xv44:  mov    a,#00h      mov    [%inget7],a      br!!out    xv42:    bnc  $xv43      mov    a,#02h      mov    [%inget7],a      br!!out    xv43:  mov    a,#01h      mov    [%inget7],a      br!!out    xv41:  incg whl      mov    a,[whl]      mov    x,a      incg   uup      mov    a,[uup]      mulu   x      movw   rp1,ax      addg   whl,#02h      subg   uup,#02h      mov    a,[whl]      mov    x,a      mov    a,[uup]      mulu   x      cmpw   ax,rp1      bnz    $xv45      br!!xv44    xv45:  bc    $xv43      br!!xv42    xv3:  cmp    a,#00h      bnz    $xv31      subg   whl,#02h      mov    a,[whl]      cmp    a,#00h      bnz    $xv32    xv33:  mov    a,#02h      mov    [%inget7],a      br!!out    xv32:mov    a,#01h      mov    [%inget7],a      br!!out   xv31:  subg whl,#02h      mov    a,[whl]      cmp    a,#00h      bnz    $xv33      br!!xv32   xv5:  subg    whl,#02h      mov    a,[whl]      cmp    a,#00h      bnz    $xv51      addg   whl,#02h    mov    a,[whl]    cmp    a,#00h    bnz    $xv52  xv53:    mov    a,#01h    mov    [%inget7],a    br!!out  xv52:mov  a,#02h    mov    [%inget7],a    br!!out  xv51:  addg  whl,#02h    mov  a,[whl]    cmp    a,#00h    bnz    $xv53    br!!xv52  xvtm2z:  push    psw    sel    rb3    movg   whl,inget1    movg   uup,inget4    mov    a,[whl]    mov    x,a    mov    a,[uup]    cmp    a,x    bnz    $xvt1    br!!xv1  xvt1:addg    whl,#02h    addg   uup,#02h    mov    a,[whl]    mov    x,a    mov    a,[uup]    cmp    a,x    bnz    $xvt2    br!!xv3  xvt2:  incg    whl    mov    a,[whl]    cmp    a,#00h    bnz    $xvt3    mov    a,#01h  xvt3:mov    c,a    subg   whl,#02h    incg   uup    mov    a,[whl]    mov    x,a    mov    a,[uup]    mulu   x    divuw  c    movw   rp1,ax    subg   uup,#02h    mov    a,[uup]    mov    x,a      mov    a,#00h      movw   rp2,ax      decg   whl      mov    a,[whl]      cmp    a,#00h      bnz    $xvt4      cmpw   rp1,rp2      bnc    $xvt5    xvt6:      mov    a,#01h      mov    [%inget7],a      br!!out    xvt5:  mov    a,#02h      mov    [%inget7],a      br!!out    xvt4:  cmpw  rp1,rp2      bnc    $xvt6      br!!xvt5    out:  pop    psw      ret ·———————————— · END14、AD中断处理、P06端口中断处理、TM7时间中断处理等程序NAME zpubnpublic readfend,readfinit,writf,get_data,ztoabs,disp_key,disp_one,disp_addr,readlcd,rprs1,prs1,prs0public disp_word,ini_1,ini_2,clrram,clear,disp_line,get_datamnpublic intp01,intp06,inttm2,inttm7,intad,rprs2extrn aqs2z,aqslz,indexallin,lcd_lin,lcd_vol,lcd_data,key_code,disp_code,z_sys1flaginfind1,zf,hzextrn sptemp,indexallout,infind5,infind8,z_sysflag,infind2,lcd_linmax,lcd_volmaxz_mtemp,z_offtempextrnaddrad,hzword,z_intflg1,z_intflg4,z_actbtemp,z_ltcmp,z_maddtcmp,infind6,z_offabsextrn z_sys4flag,lintsp,handwv,adonez,picbytes,getdataaddr,lcdxy,z_intflg3,    lcdxyx,lcdxyy,x00,y00,xmax,    ymax    extrn luqd860z        cseg    intp06:sel rb6        clr1 z_intflg3.4        bt z_sys4flag.2,$handp06    intp060:        mov pic6,#01000011b        clr1 egp0.6        clrl egn0.6        mov tmic7,#00000011b        mov tmc7,#10000000b        mov prm7,#00000111b        mov cr70,#7fh        setl z_sys1flag.1        clr1 z_sys1flag.2        clr1 z_sys1flag.3        clr1 z_sys1flag.4        reti   handp06:        mov pic6,#01000011b        clr1 egp0.6        clr1 egn0.6        mov tmic7,#00000011b        mov tmc7,#10000000b        mov prm7,#00000111b        mov cr70,#3ah        reti    handtm7:        bf z_sys1flag.4,$inttm70        bf p0.6,$torethand        call !!adonez        br !!toret    torethand:push vvp      movw  !!lcdxy,#0ffffh      movg  tde,#lintsp      movg  vvp,#00h      mov   a,[tde]      mov   r8,a      jnc   a      mov   [tde],a      incg  tde      addg  tde,vvp      mov   a,[tde]      incg  tde      mov   [tde],a      decg  tde      mov   a,#handwv      mov   [tde],a      mov  tmic7,#01000011b      mov  tmc7,#00000111b      pop  vvp      pop  tde      pop  ax      reti  inttm7:  sel rb7      push ax      push tde      bt z_sys4flag.2,$handtm7      setlz_intflg3.2  inttm70:      bt z_sys1flag.2,$multm1      mov a,p0      bf p0.6,$toerr      set1 pm0.4      clr1 pm0.4      clrl p0.4      set1 pm0.6      clr1pm9.4      set1 pm0.3      clr1 pm0.5      set1 p0.5      clr1p9.4      mov adic,#00000011b      mov adm,#10100000b      mov adis,#00000111b      movg tde,#0ffd57h      movg addrad,tde      set1 z_sys1flag.0      set1 z_sys1flag.2  toret:    pop tde      pop ax      reti  toerr:  set1 pm0.3      set1 pm0.5      set1 pm0.4      set1 pm0.6      set1pm9.4      clr1 pm0.5      clr1 pm0.4      clr1 p0.4      clr1 p0.5      mov pic6,#00000011b      set1 egp0.6      clr1 egn0.6      mov tmic7,#01000011b      mov tmc7,#00000111b      set1 z_sys1flag.4      br!toret  multm1:  bf p0.6,$nopress  press:   br !toret  sectm1:  set1    z_sys1flag.3      br!toret  nopress:    bf z_sys1flag.3,$sectml      set1 z_sys1flag.4      mov tmic7,#01000011b      mov tmc7,#00000111b      mov pic6,#00000000b      set1 egp0.6      clr1 egn0.6      clr1 z_sys1flag.2      clr1 z_sys1flag.3      set1 pm0.3      clr1 pm0.5      clr1 pm0.4      set1pm9.4      clr1 p0.4      clr1 p0.5      set1 pm0.6      br !toret  intad:    sel rb6      push whl      pushtde      push ax      mov a,adcr      mov adic,#01000011b      mov adm,#00100000b      bf      z_sys4flag.2,$intapl1      bf  z_intflg3.1,$intapl2      cmp a,#0fch      bc    $intapl3      clr1 pm0.4      clr1 pm0.5      set1p0.5      clr1p0.4      set1pm0.3      clr1pm9.4      clr1p9.4      setlz_sys1flag.0      clr1z_intflg3.1      setz_intflg3.2      mov adis,#00000111b      mov adic,#00000011b      nop      nop      nop      nop      nop      nop      mov adm,#10100000b      br!intadpret  intap13:    movw !!lcdxyx,#0ffffh      br   !!adhand  intapl2:bt  z_intflg3.2,$intapl1      cmp a,#0fch      bc  $intapl3      br  !!adhand  intapl1:      bf z_sys1flag.0,$intad6p      set1 p9.4      nop      nop      nop      nop      nop      set1 pm0.6      clr1 pm0.5      clr1 pm0.4      set1 p0.4      clr1 p0.5      set1 pm9.4      nop      nop      nop      nop      clr1 pm0.3      clr1 p0.3      clr1 z_sys1flag.0      movg whl,addrad      bf z_intflg3.3,$changey  savey:    mov [whl],a      mov  !!lcdxyy,a      subg whl,#1      movg addrad,whl      mov adis,#00000110b      mov adic,#00000011b mov  adm,#10100000b      br  !intadpret  changey:sub a,y00      mov x,#0ffh      mulu x      mov e,ymax      sub e,y00      divuw e      mov a,x      br $!savey  changex:sub a,x00      mov x,#0ffh      mulu x      mov e,xmax      sub e,x00      divuw e      mov a,x      br $!savex  intad6p:set1 p9.4      movg whl,addrad      mov x,#0ffh      sub x,a      mov a,x      bf z_intflg3.3,$changex  savex:  mov[whl],a      mov  !!lcdxyx,a      clr1 adm.7      mov adic,#01000011b      set1 pm0.3      set1 pm0.6      clr1 pm0.5      clr1 pm0.4      clr1 p0.4      clr1 p0.5      set1 pm9.4      set1 z_intflg1.6      clr1 z_sys1flag.1      bf  z_sys4flag.2,$intadpret2      clr1 pm0.3      clr1p0.3      set1z_sys1flag.0      clr1z_intflg3.1      clr1z_intflg3.2      mov adis,#00000110b      mov adic,#00000011b      mov adm,#10100000b      br !!intadpret  intadpret2:set1 z_intflg4.7      br !!intadpret  adhand:  push tde      movg whl,#lintsp      mov a,[whl]      add a,#1      mov[whl],a      movg tde,#0      mov e,a      addg whl,tde      mov a,#handwv      mov[whl],a      pop tde      mov tmic7,#01000011b mov  tmc7,#00000111b  set1 pm0.3      clr1 pm0.5      clr1 pm0.4      clr1 p0.5      clr1 p0.4      set1 pm0.6      set1 pm9.4  intadpret:pop ax      pop  tde      pop whl      reti END 15、主程序: manu 52h; manuheader1 manu 52h ffh; #include″l2.h″; begin;define at 0ffd00h  back 41 flagy code num1 data d3 tempadd todata 2(1 binum1 1 binum2)binum 1 errnum 4 bdataaddr 1 f5num at 0ffe57h zsysflag zintflg1  zintflg2 1 1 zsys4flag at 0ffe7ah tempcode  zsys2flag 2 1 user zsys1flag at 0ffdb6h zsys5flag at 0ffd56h xx yy at 0fff0dh p130 at 0ff400h 2 hwall at 0ffd5fh hwtm2 at 0ffdb7h hwtm2copy at 0ff370h handdatal at 0ffd20h 3inter1 at 0ffaa0h resend at 0ffab0h sendok at 0ffac0h senddata at 0ff828h num11 num12 at 0ff768h num10 num20 at 0fe008h 3record at 0fe007h send2; flagy=0; let2(zsysflag(08h))=0; start0:let2(flagy(40h))=0;    start:if zsys4flag(80h)=0h    elsegoto startin;    play    _to(0fe008h),_text(02h,07h,00    h,f1h,00h,f5h,00h,00h,00h,00h    );    num10=1,num20=1;    startin:clearscreenall;    displaycin(3,1)is 00dah;    displaycin(7,1)is 1ebfh 1ec0h    1ec1h 1ec2h;    displayin(4,14)is 3ah;    play    _to(0ff820h),_text(1,1,1,1,1,    42h,1,1,1,1,1,1);    num11=num10,num12=num20,tempa    dd=0ff820h+6,{tempadd}=num10,    tempadd=0ff820h+7,{tempadd}=n    um20;    refresh    _from(record),_para(0ff820h),    _mode(2),_back(back);    dispcur    _from(record),_para(0ff820h),    _mode(0),_back(back);    play    _to(senddata),_text(00h,ffh,c    ah,ffh);    d=1,todata=0ff890h+1,{todata}    =0;    ishand:if flagy(40h)=40h goto    start0;    hwall=0;    play    _to(0ff370h),_text(0,0,0,0,0,    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0    ,0);    let2(zsys4flag(04h))=04h;    let2(zintflg1(01))=0;    coor dinate;    waitnew_name(70),_line(t1);    t1:if zintflg1(01)=01 goto    iskey;    ishand1:cmk8    _data($hwall),_back(back);    handbag;    goto tosend3;    ifhand:switch zsys5flag={1    ishand,3ishand,4ifishand};        goto ifkey;  ifishand:if flagy(20h)=20h  goto ifkey;      goto ishand;  ifkey:keywait;  iskey:ad  _from(xx,yy),_to(tempcode),_m  anu(78h),_line(0ah);  if tempcode=0 goto ad2;  let2(flagy(80h))=0;  code=tempcode;  switch code={9fh esc,a3h  cancel,89h enter,83h left,84h  right};  if zsys5flag=3 goto ishand1;  goto ishand;  left:dispcur  _from(record),_para(0ff820h),  _mode(1),_back(back);  toleft:switch back={2 left3,3  right5,5 right5};  goto ifhand;  left3:refresh  _from(record),_para(0ff820h),  _mode(3),_back(back);  dispcur  _from(record),_para(0ff820h),  _mode(0),_back(back);  goto ifhand;  right5:refresh  _from(record),_para(0ff820h),  _mode(1),_back(back);  dispcur  _from(record),_para(0ff820h),  _mode(0),_back(back);  goto ifhand;  right:dispcur  _from(record),_para(0ff820h),  _mode(2),_back(back);  goto toleft;  cancel:tempadd=0ff888h,{tempa  dd}=num11,tempadd=tempadd+1,{  tempadd}=num12;  delete  _from(record),_text(0ff888h),  back(back);  refresh  _from(record),_para(0ff820h),  _mode(2),_back(back);  dispcur  _from(record),_para(0ff820h),  _mode(0),_back(back);  goto ifhand;  function:clearscreenall;  num1=1;  displaycin 1,1,is″自动刷新″  nextline 1″半自动刷新″;  displaycin 5,1,is″手动刷新″  nextline 1″速度设置″;  displayin(2,65)is  3ah,(4,81)is 3ah,(6,65)is  3ah,(8,65)is 3ah;  call funcset;  function1:displayinflag52h  flag1 zsys5flag is e5h;   inputa:keywait;  ad  _from(xx,yy),_to(tempcode),_m  anu(78h),_line(0ah);  if tempcode=0 goto ad2a;  getkeyto  back,code,data,zsys5flag,num1  ,1,4,1;  switch data={7 entera,8 esca,1  movea};  goto inputa;  entera:goto funcret;  esca:goto funcret;  toinputa:let2(flagy(08h))=0;  goto inputa;  movea:clearscreenfrom  (2,70)to(2,77),(4,86)to(4,93)  ,(6,70)to(6,77),(8,70)to(8,77  );  displayinflag 52h flag1  zsys5flag is e5h;  call funcset;  goto inputa;  flag1:dbcur  (2,70),(4,86),(6,70),(8,70);  ad2a:ad  _from(xx,yy),_to(data),_manu(  78h),_line(21h);  switch data={5 suba,6 adda};  zsys5flag=data;  goto movea;  suba:if flagy(08h)=08h  elsegoto inputa;  if hwtm2>=32h elsegoto inputa  hwtm2=hwtm2-19h,hwtm2copy=hwt  m2;    goto dispa;    adda:if flagy(08h)=08h    elsegoto inputa;    if hwtm2<=elh elsegoto inputa;    hwtm2=hwtm2+19h,hwtm2copy=hwt    m2;    goto dispa;    funcret:goto start;    funcset:switch zsys5flag={1    set1,2 set2,3 set3,4 set4};    return;    set1:hwtm2=hwtm2copy;    let2(flagy(20h))=0h;    return;    set2:hwtm2=hwtm2copy;    let2(flagy(20h))=20h;    return;    set3:hwtm2=ffh;    return;    set4:hwtm2=hwtm2copy;    displaycin(7,84)is lebfh move    16lec0h;    let2(flagy(08h))=08h;    num1=hwtm2/    19h-1,num1=num1+30h,code=8,da    ta=105;    displayin(code,data)is num1;    return;    dispa:num1=hwtm2/    19h-1,hum1=num1+30h,code=8,da    ta=105;    displayin(code,data)is num1;    goto inputa;    tosend3:binum=hwall,tempadd=0    ffa00h,errnum=0;    if binum1=0 goto ishand;    send1_from(#hwall);    goto wait3;    send:tempadd=0ffa00h,errnum=0    ;    main2:send1_from(#senddata);    wait3:if zintflg1(20h)=20h    elsegoto wait3;    resend21:download3    _to(tempadd),_back(data);    waitnew_name(84),_line(t2);    t2:if data=0 elsegoto    toresend2;    todata=tempadd+4,data={todata    };  switch data={2 tomain2,3  ifhand,14h nodata};  goto nodata;  tomain2:clearscreenall;  displaycin(3,34)is″通讯错误″  00bch nextline 6″请按任意键返  回″;  keywait;  goto start;  toresend2:play  _to(resend),_text(09h,ffh,cah  ,ffh,04h,57h,5bh,00h,ffh,ffh)  ;  send1_from(#resend);  wait5:if zintflg1(20h)=20h  elsegoto wait5;  goto resend21;  nodata:clearscreenfrom(3,17)t  o(4,64),(5,1)to(6,64);  displaycin(3,1)is 00dah″无数  据″;  goto ifhand;  sendret:goto ishand;  enter:if zsys4flag(80h)=80h  goto iscall;  ispcbj:goto tosend3;  iscall:return;  esc:return;  ad2:ad  _from(xx,yy),_to(num1),_manu(  78h),_line(20h);  revlcdfrom  _line(revlcd),_num(num1);  adwait:if zsys1flag(10h)=10h  elsegoto adwait;  revlcdfrom  _line(revlcd),_num(num1);  let2(flagy(80h))=00h;  switch num1={0bh function};  if zsys5flag=3 goto ishand1;  goto ishand;  revlcd:db  (3,17,4,32),(3,33,4,48),(3,49  ,4,64),(5,1,6,16),(5,17,6,32)  ,(5,33,6,48),(5,49,6,64),(7,1  ,8,16),(7,17,8,32),(7,33,8,48  ),(7,49,8,64),(0,0,0,0);  end;

一种使通信终端实现手写笔迹信息交流的方法.pdf_第1页
第1页 / 共39页
一种使通信终端实现手写笔迹信息交流的方法.pdf_第2页
第2页 / 共39页
一种使通信终端实现手写笔迹信息交流的方法.pdf_第3页
第3页 / 共39页
点击查看更多>>
资源描述

《一种使通信终端实现手写笔迹信息交流的方法.pdf》由会员分享,可在线阅读,更多相关《一种使通信终端实现手写笔迹信息交流的方法.pdf(39页珍藏版)》请在专利查询网上搜索。

一种使通信终端实现手写笔迹信息交流的方法。涉及文字及图像信息的输入及信息交流的技术。本发明适用于移动通讯终端、固定信息电话机、新型的以笔迹交流为主的通讯终端。本发明采用触摸屏代替现有通信终端的显示器正面与外部之间的透光材料,以一个触摸屏控制器来控制触摸屏,当需要时该触摸屏控制器采集手写笔迹的坐标,分析坐标之间的关系生成笔划矢量数据。将包含有笔划矢量数据的数据传送给通信终端的主控制器。通信终端的主控。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1