[go: up one dir, main page]

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

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

Info

Publication number
CN100380907C
CN100380907C CNB031227309A CN03122730A CN100380907C CN 100380907 C CN100380907 C CN 100380907C CN B031227309 A CNB031227309 A CN B031227309A CN 03122730 A CN03122730 A CN 03122730A CN 100380907 C CN100380907 C CN 100380907C
Authority
CN
China
Prior art keywords
mov
whl
handwriting
movg
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB031227309A
Other languages
English (en)
Other versions
CN1538722A (zh
Inventor
张烂熳
刘丁阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Swift Information Communication Technology Co Ltd
Original Assignee
Xiamen Swift Information Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Swift Information Communication Technology Co Ltd filed Critical Xiamen Swift Information Communication Technology Co Ltd
Priority to CNB031227309A priority Critical patent/CN100380907C/zh
Publication of CN1538722A publication Critical patent/CN1538722A/zh
Application granted granted Critical
Publication of CN100380907C publication Critical patent/CN100380907C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Character Discrimination (AREA)

Abstract

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

Description

一种使通信终端实现手写笔迹信息交流的方法
技术领域
本发明涉及文字及图像信息的输入及信息交流的技术,是一种在通信终端进行手写笔迹输入(包括文字和图形)并经通信终端发送,由其它通信终端接收并重现手写笔迹,从而实现信息交流的方法。
背景技术
现有的通信终端按文字输入方式可归为两类,一类具有用笔手写输入方式,比如:摩托罗拉公司的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应有的值;如果条件满足则:如果本点坐标还未采集完则继续采集,如果本点坐标已采集完则采集的坐标值有效;如果条件不满足则:本次采集该点坐标的值无效;须等待预设的一段时间间隔后重新采集。
所述的笔划矢量数据的生成方法是:当触摸屏控制器采集得笔迹的先后的两点坐标时,先存起来,并将第二点坐标存为最后坐标;当采集得第三点坐标后,计算第一点坐标与第三点坐标构成的位移矢量1和第一点坐标与最后坐标构成的位移矢量2;判断是否满足条件1:矢量1与矢量2的方向夹角小于预设的范围且矢量1的长度不小于矢量2的长度;如果满足该条件1则第三坐标存为最后坐标,等过预设的一段时间后再继续采集新的一点坐标作为第三点坐标;如果不满足该条件1则过一段时间后采集第四点坐标,得到第四点坐标后,计算第一点坐标与第四点坐标构成的位移矢量3;判断是否满足条件2:矢量3与矢量1的方向夹角小于预设的范围且矢量1的长度不小于矢量3的长度;如果满足条件2则舍去第三点坐标将第四点坐标存为最后坐标,过预设的一段时间后再重新采集新的一点坐标作为第三点坐标;如果不满足条件2则将第一点坐标和最后坐标构成的矢量作为已生成的一个笔划的矢量数据,将第三点坐标作为新的一个笔划的第一点坐标,将第四点坐标作为新的一个笔划的第二点坐标和最后坐标;如果采集到触摸屏水平方向与垂直方向不接触,则统计连续的不接触时间,如果该时间超过预设的间隔则将第一点坐标和最后坐标构成的矢量作为已生成的一个笔划的矢量,并设一个标志表示下一个采到的坐标为第一点坐标,如果连续的不接触时间大于另一设定的间隔则说明本次书写结束,重复上述过程可实现将一次书写过程的每个笔划的矢量数据采集得到。
所述的笔划矢量数据至少包含了该笔划的起点坐标和终点坐标。
所述的每个笔迹矢量数据包含有表示一次书写的笔迹的数据长度或笔划个数的数据段,包含有本次书写的每个笔划的笔划矢量数据;当所述的笔迹矢量数据以同一个数据段位置来表示前后两个笔划共用一点坐标时,则还包含有若干数据段用于表示每个后面的笔划是否与前面的笔划共用同一点坐标;当所述的笔迹矢量数据与现有的其它方式输入的现有的文字编码相混合时则所说的笔迹矢量数据至少包含有一个数据段用于表示这是新的特殊的文字码,以便依次读取这种混合的数据时区分现有的文字编码还是新的完整的笔迹矢量数据;当所述的笔迹矢量数据与现有的图像或声音或其它格式的数据相混合以便发送给其它通信终端,或者以现有的发送数据的方法发送笔迹矢量数据时,所述的每个笔迹矢量数据至少包含有一个数据段用于与现有的其它数据结构相区别。
所述的依据每个笔迹矢量数据重新画出每个笔迹,其方法是依次读取每个笔迹矢量数据所包含的每个笔划矢量数据,依据每个笔划矢量数据的起点和终点坐标,在要显示的位置上依据需显示的大小与整个笔迹的原大小或原边界的对应关系,计算出该笔划的起点和终点所对应的位置,并在该起点和终点所对应的位置间画一直线,将每个笔迹矢量数据所包含的每个笔划矢量数据依次按同样的方法画出直到全部画完为止。
由于本发明对所写的笔迹无需经过识别过程,需要显示的只是手写的笔迹,不需显示当有识别时需要的备选字,因此对通信终端显示屏大小无特别要求,方便于在现有的移动通信终端中实施,满足了人们对移动通信终端体积越小越好的要求。又因为省去了复杂的识别过程,因此速度快。本发明采用触摸屏来代替现有通信终端在显示器正面与外部之间现有的一层透光的保护性材料。在结构上与现有通信终端相同,更容易实施。触摸屏控制器在采集任一点坐标中至少特定的流程执行两遍可以防止一般的触摸屏容易出现的当在笔接触触摸屏时当触摸屏的水平方向和垂直方向的接触出现抖动时,触摸屏控制器采集到的坐标值不准确的现象。本发明所采用的笔迹矢量数据结构的优点是:(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 intst1a,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 !!intst1a
    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,h1x0,h1y0
abh8f    equ 0ffd80h
abh8xs   equ 0ffd81h
abh8ys   equ 0ffd82h
abh8px   equ 0ffd83h
abh8ax   equ 0ffd84h
abh8py   equ 0ffd85h
ahh8ay   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,a
abh8_4:mov a,!!hxmax2
   sub a,!!hxmin2
   mov !!h1x0,a
   mov a,!!hymax2
   sub a,!!hymin2
   mov !!h1y0,a
   mov abh8k,#01h
   call$!aqk
   call$!anz
   cmp x,#00h
   bnz $abh8_1
   mov a,#01h
   mov [%inter4],a
   br  $!abh8 ret
abh8_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 abh8 k,x
   bc  $abh8_29
abh8_ret:pop psw
   ret
abh8_29:inc abh8k
   call$!aqk
   br  $!abh8_1
abh8_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
   mulu x
    mov  c,!!h1x0
    divuw   c
    inc  x
    mov  b,#04h
    sub  b,x
    br   $!abh8_2b
abh8_24:mov b,#03h
    br   $!abh8_2b
abh8_25:mov  b,#01h
abh8_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
    mulu x
    mov  c,!!h1y0
    divuw    c
    br$!abh8_28
abh8_26:mov x,#00h
    br   $abh8_28
abh8_27:mov  x,#02h
abh8_28:mov  a,#03h
    mulux
    add  x,b
    or   x,#0f0h
    ret
aqk:movgwhl,inter1
    movwax,[whl]
    cmpwax,#0200h
    bnc$aqk1
    movg vvp,#00h
    mov  a,abh8k
    dec  a
    mov  x,#0ah
    mulux
    movw vp,ax
    addg whl,#02h
    addg whl,vvp
    movg uup,whl
    movg tde,#0ffd80h
    mov  c,#0ah
    movbk  [tde+],[whl+]
aqk1:ret
anz:movgtde,inter1
    movw ax,[tde]
    mov  c,#0ah
    divum    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,#abh7_2
    call!!pulp
    br  !!abh7_ret
abh7_2:push psw
    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,#0dfh
abh7_25:movgwhl,uup
    mov  [whl],a
abh7_2a:mov  r4,!!hxmax
    mov  r5,!!hxmax2
    cmp  abh7px,#00h
    bnz  $abh7_28
    mov  r6,abh7xs
    mov  r7,abh7xe
    br   $!abh7_214
abh7_28:mov r6,abh7xe
    mov  r7,abh7xs
abh7_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_210
abh7_29:mov r5,r4
    mov  !!hxmax2,r5
    mov  a,!!hxmaxk
    mov  !!hxmax2k,a
    mov  r4,r7
    mov  !!hxmax,r4
    cal1 $!anz
    mov  !!hxmaxk,x
    cmp  r5,r6
    bnc  $abh7_210
    mov  r5,r6
    mov  !!hxmax2,r5
    call $!anz
    mov  !!hxmax2k,x
abh7_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_212
abh7_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,x
abh7_212:
    mov  r4,!!hymax
    mov  r5,!!hymax2
    cmp  abh7py,#00h
    bnz  $abh7_213
    mov  r6,abh7ys
    mov  r7,abh7ye
    br   $!abh7_215
abh7_213:mov r6,abh7ye
    mov  r7,abh7ys
abh7_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_217
abh7_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,x
abh7_217:mov r4,!!hymin
    mov  r5,!!hymin2
    cmp  r6,r4
    bc   $abh7_218
    cmp  r6,r5
    bnc  $abh_73a
    mov  r5,r6
    mov  !!hymin2,r5
    call $!anz
    mov  !!hymin2k,x
    br   $!abh7_3a
abh7_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,x
abh7_3a:movgwhl,uup
    addg whl,#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_32
abh7_1a:br  $!abh7_1
abh7_31:mov a,#00h
    mov  !!handback,a
abh7_32:call !!pulp2
abh7_ret:pop psw
    ret
pulp: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
    mulu x
    movw rp4,ax
    addg tde,#02h
    addg tde,vvp
    movg [tde],whl
    ret
pulp2:
    movg tde,#mintsp
    mov  a,[tde]
    movg vvp,#00h
    mov  r8,a
    inc  a
    mov  [tde],a
    incg tde
    addg tde,vvp
    mov  a,#wordsv
    mov  [tde],a
    ret
aqn:movg whl,#hwall
    movw ax,[whl]
    cmpw ax,#0200h
    bnc  $aqn2
    movg vvp,#00h
    movw vp,ax
    addg whl,#02h
    addg whl,vvp
    subg whl,#0ah
    movg uup,whl
    movg tde,#0ffd80h
    mov  c,#0ah
    movbk  [tde+],[whl+]
aqn2:ret
anz:movg tde,#hwall
    movw ax,[tde]
    mov c,#0ah
    divuw   c
    ret
divm:mov a,#00h
    divuw  c
    ret
End
4、AD采样程序:
name adonen
public adonez
extrn
addrad,z_syslflag,z_intflg3
    cseg
adoncz: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
    set1 z_intflg3.1
    clr1 z_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_syslflag.0
    pop tde
toret:pop psw
    ret
totm7:mov mic7,#0000000b
mov tmc7,#10000000b
mov prm7,#00000111b
mov cr70,#3ah
br !!toret
end
5、手写笔迹打包程序:
NAME apakn
PUBLIC apakz
extrn  hwall
apakjsq equ 0ffd8ah
         CSEG
apakz:push psw
    sel  rb2
    mov  apakjsq,#00h
    movg whl,#hwall
    movw ax,[whl]
    movw rp2,ax
    cmpw rp2,#0ah
    bnc  $apak_4
    br   $!apak_ret
apak_4:addg whl,#02h
    movg tde,#0ffd80h
    mov c,#0ah
    movbk  [tde+],[whl+]
    movg vvp,whl
    subw rp2,#0ah
    movg uup,#hwall
    incg uup
    movg whl,#0ffcaffh
    movg [uup],whl
    addg uup,#04h
    mov  a,#70h
    mov  [uup],a
    incg uup
    movg whl,#0ffd81h
    movg tde,uup
    mov  c,#02h
    movbk  [tde+],[whl+]
    addg whl,#04h
    mov  c,#02h
    movbk  [tde+],[whl+]
    add apakjsq,#04h
    cmpwrp2,#0ah
    bc   $apak_1
    incg vvp
apak_2:movgwhl,vvp
    subw rp2,#0ah
    add  apakjsq,#04h
    mov  c,#02h
    movbk  [tde+],[whl+]
    addg whl,#04h
    mov  c,#02h
    movbk  [tde+],[whl+]
    cmpw rp2,#0ah
    bc   $apak_1
    addg vvp,#0ah
    br   $!apak_2
apak_1:add apakjsq,#09h
    mov  a,apakjsq
    movg whl,#hwall
    mov  [whl],a
    addg whl,#04h
    sub  a,#05h
    mov  [whl],a
    mov  r6,a
    mov  b,#00h
    mov  c,a
apak_3:incg whl
    mov  a,[whl]
    mov  x,a
    mov  a,#00h
    addw bc,ax
    dec  r6
    cmp  r6,#03h
    bnz  $apak_3
    incg whl
    movw ax,bc
    movw [whl],ax
    addg whl,#02h
    movw ax,#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
    movg whl,inget1
    movg tde,inget4
    movg uup,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,h
    sub  a,c
    incg uup
    mov  [uup],a
    br   !!asl_5
asl_2:mov a,#00h
    mov  [uup],a
    mov  a,c
    sub  a,b
    incg uup
    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
    incg uup
    mov  [uup],a
    mov  a,x
    sub  a,r4
    incg uup
    mov  [uup],a
    br   !!asl_ret
asl_4:mov a,#00h
    incg uup
    mov  [uup],a
    mov  a,r4
    sub  a,x
    incg uup
    mov  [uup],a
asl_ret:pop psw
    ret
End
7、串口发送数据程序:
NAME  sendln
public sendlz,intst1a
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
    clr1 z_intflg2.1
    clr1 pm2.2
    set1 p2.2
    clr1 z_intflg1.5
    add  portnum,#1
    mov  brgcl,#00011010b
    mov  csiml,#00000000b
    mov  sticl,#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
intst1a: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 !!senadd1,whl
    mov  c,!!sencnt1
    dbnz c,$intst12
    mov  sticl,#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 txsl,a
    br !intst11
END
8、手写实时显示程序,
    NAME  xhwd2n
PUBLIC    xhwd2z
extrn  inget1,inget2
,inget3,inget4,inget5
,lulz,lukz,xcldotz
extrn    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  $xhl
  br!!out
xhl: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,#hlcdx2
  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
xhloop2: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
  br!!xh32
xh31:cmp    x,r7
  bc$xh33
  br!!xh34
xh33:mov  inget1,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,#hlcdx2
  mov  a,#lcd_dotlinmax
  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,#hlcdx1
  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
  cmpx,#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    $xhdx11
  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!!xhd2
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  xod1n
PUBLIC    xod1z
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
xd1:set1 z_intflg3.4
    set1z_sys4flag.2
  clr1  egp0.6
  clr1  egn0.6
  set1  pm0.6
  mov   pic6,#40h
  movw  !!hwall,#0000h
  movg  whl,#lintprog
  mov   a,#dothpv
  mov   b,a
  mov   a,#00h
  mov   [whl+b],a
  mov   !!hwbuffer36,#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    x,#bdx0
  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
  clrl    !!hwbuffer2.0
  br!!xdbb5
xdi111:br  !!xd13
xdi3:setl  !!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
xdaa1:mov    a,!!hwbuffer36
  inc    a
  mov  !!hwbuffer36,a
  mov    x,#hwtml
  inc    x
  cmp    a,x
  bc$xdaalil
  br!!xdbb5
xdaalil:cmp    a,#hwtml
  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  !!phwa11
  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
  mmovw rp1,ax
  movg    whl,#hwbuffer4
  call  !!phwa11
  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    $xd41
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
  clrl  !!hwbuffer2.0
  br!!xdaa
xd412:br   !!xd13
xd411:br   !!xdaa
xd43:setl  !!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,#hwbuffer 10
  movg  whl,#hwbuffer37
  mov   c,#04h
  movbk [tde+],[whl+]
  mov   a,!!hwbuffer38
  cmp   a,#xmax2
  bnc   $xdaa71
  mov   a,!!hwbuffer40
  cmp   a,#ymax2
  bnc   $xdaa71
  br!!xdaa2
xdaa71:clrl !!hwbuffer2.7
  movg  tde,#hwbuffer4
  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
xdbbl: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  !!phwa11
  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,#0fh
  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
  clrl    !!hwbuffer2.0
  br!!xdbb
xd6111:br!!xd13
xd63:setl!!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,whl
  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
  set1    !!hwbuffer2.5
  clr1    !!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$xdcc11
  mov    r7,#0ffh
  mov    r6,#0fh
  movw   ax,!!hwbuffer8
  movw   rp2,ax
  movw   ax,!!hwbuffer20
  movw   rp1,ax
  movg   whl,#hwbuffer10
  call   !!phwa11
  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,#hmax3
  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:clrl !!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:setl !!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:clrl!!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:clrl !!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  !!hbde1
  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$xde1l
  cmp   a,#0e1h
  bnz   $xde12
  clr1  !!hwbuffer3.7
  br!!xde13
xde12:cmp  a,#Oe2h
  bz$xde14
  cmp  a,#0e8h
  bz $xde112
  cmp  a,#0e3h
  bz $xde112
  br!!xde13
xde14:clrl    !!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  !!phwa11
  br!!xddd6
xde13:setl  !!hwbuffer3.0
  movw  ax,!!hwbuffer26
  movw  !!hwbuffer20,ax
  movg  tde,#hwbuffer 16
  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   !!hwbuffer14,ax
  movg   tde,#hwbuffer4
  movg   whl,#hwbuffcr37
  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  !!phwa11
  call  !!phw3
  call  !!phw2
  mov   !!oldlcdflag,#00h
  mov   !!hwbuffer1,#00h
  mov   !!hwbuffer2,#0ffh
xd163: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:setl !!hwbuffer2.0
  movg  whl,#hwbuffer26
  movg  inget1,whl
  movgwhl,#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
  hnc    $xd104
  br!!xdo2
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:setl!!hwbuffer3.0
  movm    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    !!phwa11
    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:clrl!!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:setl!!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  !!phwa11
xd1311:
  mov  !!hwbuffer1,#00h
  mov  !!hwbuffer2,#0ffh
  mov    !!hwbuffer3,#0ffh
  br!!xd132
xd14:mov    r7,#0ffh
  moov    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
  mov     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
phwa11:movg    tde,#hwall
  movw    ax,[tde]
  cmpw    ax,#0200h
  bnc     $phwa112
  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
phwa112:ret
rhw2: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
hbde1: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
intm6: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
  rcti
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$dl
  movbk  [tde+],[whl+]
dl:cmp a,#00h
  bz$dout
  mov  c,#0ffh
  movbk  [tde+],[whl+]
  dec    a
  br!!dl
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:mova,[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:cmpr7,#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
dout: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$dl
  movbk [tde+],[whl+]
dl:cmp a,#00h
  bz$dout
  mov  c,#0ffh
  movbk  [tde+],[whl+]
  dcc    a
  brdl
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    rp,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
xv14101:br!!xv4i01
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
  movv  [%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,#ycon1
  muluw rp1
  cmp   x,#00h
  bnz   $xv53
  moov  a,#ycon1
  mulu  r7
  cmpw  ax,bc
  bc$xv53
  movg whl,inget1
  moov  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
xvl: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]
  moov  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
  END
14、AD中断处理、P06端口中断
处理、TM7时间中断处理等程序
NAME zpubn
public readfend,readfinit,
writf,get_data,ztoabs,
disp_key,disp_one,
disp_addr,readlcd,rprsl,
prs1,prs0
public disp_word,ini_1,
ini_2,clrram,clear,disp_line,
get_datamn
public intp01,intp06,inttm2,
inttm7,intad,rprs2
extrn aqs2z,aqslz,indexallin,
lcd_lin,lcd_vol,lcd_data,
key_code,disp_code,z_syslflag
infindl,zf,hz
extrn sptemp,indexallout,
infind5,infind8,z_sysflag,
infind2,lcd_linmax,lcd_vol max
z_mtemp,z_offtemp
extrn
addrad,hzword,z_intflg1,
z_intflg4,z_actbtemp,z_ltcmp,
z_maddtcmp,infind6,z_offabs
extrn 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
    clr1 egn0.6
    mov tmic7,#00000011b
    mov tmc7,#10000000b
    mov prm7,#00000111b
    mov cr70,#7fh
    set1 z_syslflag.1
    clr1 z_syslflag.2
    clr1 z_syslflag.3
    clr1 z_syslflag.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_syslflag.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
  inc   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
    set1 z_intflg3.2
inttm70:
    bt z_syslflag.2,$multm1
    mov a,p0
    bf p0.6,$toerr
    set1 pm0.4
    clr1 pm0.4
    clr1 p0.4
    set1 pm0.6
    clc1 pm9.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
    setl z_syslflag.0
    setl z_syslflag.2
toret:pop tde
    pop ax
    reti
toerr:set1 pm0.3
    set1 pm0.5
    set1 pm0.4
    set1 pm0.6
    set1 pm9.4
    clr1 pm0.5
    clr1 pm0.4
    clr1 p0.4
    clr1 p0.5
    mov pic6,#0000001b
    set1 egp0.6
    clr1 egn0.6
    mov tmic7,#01000011b
    mov tmc7,#00000111b
    setl z_sysl fiag.4
    br!toret
multm1:bf p0.6,$nopress
press:br!toret
sectml:set1    z_syslflag.3
    br!toret
nopress:
  bf z_syslflag.3,$sectm1
  set1 z_syslflag.4
  mov tmic7,#01000011b
  mov tmc7,#00000111b
  mov pic6,#00000000b
  set1 egp0.6
  clr1 egn0.6
  clr1 z_syslflag.2
  clr1 z_syslflag.3
  set1 pm0.3
  clr1 pm0.5
  clr1 pm0.4
  set1 pm9.4
  clr1 p0.4
  clr1 p0.5
  set1 pm0.6
  br!toret
intad:sel rb6
  push whl
  push tde
  push ax
  mov a,adcr
  mov adic,#01000011b
  mov adm,#00100000b
  bf
  z_sys4flag2,$intap11
  bf z_intflg3.1,$intap12
  cmp  a,#Ofch
  bc   $intap13
  clr1 pm0.4
  clr1 pm0.5
  set1 p0.5
  clr1 p0.4
  set1 pm0.3
  clr1 pm9.4
  clr1 p9.4
  set1z_syslflag.0
  clr1 z_intflg3.1
  set1 z_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
intap12:bt
z_intflg3.2,$intap11
    cmp  a,#0fch
    bc   $intap13
    br   !!adhand
intap11:
    bf z_syslflag.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_syslflag.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:setl 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_syslflag.1
    bf
z_sys4flag.2,$intadpret2
    clr1 pm0.3
    clr1 p0.3
    set1 z_syslflag.0
    clr1 z_intflg3.1
    clr1 z_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 setl 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″12.h″;
begin;define at 0ffd00h
back 41 flagy code
num1 data d 3 tempadd
todata 2(1 binum1 1
binum2)binum 1 errnum
4 bdataaddr 1 f5num
at 0ffe57h zsysflag zintflgl
zintflg2 1 1 zsys4flag
at 0ffe7ah tempcode
zsys2flag 2 1 user zsyslflag
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 3 inter1
at 0ffaa0h resend
at 0ffab0h sendok
at 0ffac0h senddata
at 0ff828h num11 num12
at 0ff768h num10 num20
at 0fe008h 3 record
at 0fe007h send2;
fiagy=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:clearscreena11;
displaycin(3,1)is 00dah;
displaycin(7,1)is lebfh lec0h
lec1h lec2h;
displayin(4,14)is 3ah;
play
_to(0ff820h),_text(1,1,1,1,1,
42h,1,1,1,1,1,1);
num11=hum10,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)=01goto
iskey;
ishand1:cmk8
_data($hwall),_back(back);
handbag;
goto tosend3;
ifhand:switch zsys5flag={1
ishand,3ishand,4ifishand};
goto ifkey;
ifishahd: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
csncel,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,5right5};
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;
csncel: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;
functionl:displayinflag 52h
flagl 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,8esca,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 elaegoto 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,2set2,3set3,4set4};
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,num1=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;
sendl  _from(#hwall);
goto wait3;
send:tempadd=0ffa00h,errnum=0
main2:sendl_from(#senddata);
wait3:if zintflg1(20h)=20h
elsegoto wait3;
resend21:download3
_to(tempadd),_back(dara);
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)
sendl_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 zsyslflag(10h)=10h
elsegoto adwait;
revlcdfrom
_line(revlcd),_num(num1);
let2(flagy(80h))=00h;
switch num1={0bh funnction};
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;

Claims (8)

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所述的一种使通信终端实现手写笔迹信息交流的方法,其特征在于:所述的笔划矢量数据的生成方法是当触摸屏控制器采集得笔迹的先后的两点坐标时,先存起来,并将第二点坐标存为最后坐标;当采集得第三点坐标后,计算第一点坐标与第三点坐标构成的位移矢量1和第一点坐标与最后坐标构成的位移矢量2;判断是否满足条件1:矢量1与矢量2的方向夹角小于预设的范围且矢量1的长度不小于矢量2的长度;如果满足该条件1则第三点坐标存为最后坐标,等过预设的一段时间后再继续采集新的一点坐标作为第三点坐标;如果不满足该条件1则过一段时间后采集第四点坐标,得到第四点坐标后,计算第一点坐标与第四点坐标构成的位移矢量3;判断是否满足条件2:矢量3与矢量1的方向夹角小于预设的范围且矢量1的长度不小于矢量3的长度;如果满足条件2则舍去第三点坐标将第四点坐标存为最后坐标,过预设的一段时间后再重新采集新的一点坐标作为第三点坐标;如果不满足条件2则将第一点坐标和最后坐标构成的矢量作为已生成的一个笔划的矢量数据,将第三点坐标作为新的一个笔划的第一点坐标,将第四点坐标作为新的一个笔划的第二点坐标和最后坐标;如果采集到触摸屏水平方向与垂直方向不接触,则统计连续的不接触时间,如果该时间超过设定的间隔则将第一点坐标和最后坐标构成的矢量作为已生成的一个笔划的矢量,并设一个标志表示下一个采到的坐标为第一点坐标,如果连续的不接触时间大于另一设定的间隔则说明本次书写结束,重复上述过程可实现将一次书写过程的每个笔划的矢量数据采集得到。
6.如权利要求1所述的一种使通信终端实现手写笔迹信息交流的方法,其特征在于:所述的笔划矢量数据至少包含了该笔划的起点坐标和终点坐标。
7.如权利要求1所述的一种使通信终端实现手写笔迹信息交流的方法,其特征在于:所述的每个笔迹矢量数据包含有表示一次书写的笔迹的数据长度或笔划个数的数据段,包含有本次书写的每个笔划的笔划矢量数据;当所述的笔迹矢量数据以同一个数据段位置来表示前后两个笔划共用一点坐标时,则还包含有若干数据段用于表示每个后面的笔划是否与前面的笔划共用同一点坐标;当所述的笔迹矢量数据与现有的其它方式输入的现有的文字编码相混合时则所说的笔迹矢量数据至少包含有一个数据段用于表示这是新的特殊的文字码,以便依次读取这种混合的数据时区分现有的文字编码还是新的完整的笔迹矢量数据;当所述的笔迹矢量数据与现有的图像或声音或其它格式的数据相混合以便发送给其它通信终端,或者以现有的发送数据的方法发送笔迹矢量数据时,所述的每个笔迹矢量数据至少包含有一个数据段用于与现有的其它数据结构相区别。
8.如权利要求1所述的一种使通信终端实现手写笔迹信息交流的方法,其特征在于:依次读取每个笔迹矢量数据所包含的每个笔划矢量数据,依据每个笔划矢量数据的起点和终点坐标,在要显示的位置上依据需显示的大小与整个笔迹的原大小或原边界的对应关系,计算出该笔划的起点和终点所对应的位置,并在该起点和终点所对应的位置间画一直线,将每个笔迹矢量数据所包含的每个笔划矢量数据依次按同样的方法画出直到全部画完为止。
CNB031227309A 2003-04-18 2003-04-18 一种使通信终端实现手写笔迹信息交流的方法 Expired - Fee Related CN100380907C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031227309A CN100380907C (zh) 2003-04-18 2003-04-18 一种使通信终端实现手写笔迹信息交流的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031227309A CN100380907C (zh) 2003-04-18 2003-04-18 一种使通信终端实现手写笔迹信息交流的方法

Publications (2)

Publication Number Publication Date
CN1538722A CN1538722A (zh) 2004-10-20
CN100380907C true CN100380907C (zh) 2008-04-09

Family

ID=34321071

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031227309A Expired - Fee Related CN100380907C (zh) 2003-04-18 2003-04-18 一种使通信终端实现手写笔迹信息交流的方法

Country Status (1)

Country Link
CN (1) CN100380907C (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101396974B1 (ko) 2007-07-23 2014-05-20 엘지전자 주식회사 휴대 단말기 및 휴대 단말기에서의 호 신호 처리방법
CN101533469A (zh) * 2009-04-27 2009-09-16 萧如宣 一种触控面板系统及其运作方法
CN102081505A (zh) * 2011-01-28 2011-06-01 广东九联科技股份有限公司 触摸屏的手写输入处理方法
CN102761495B (zh) * 2011-04-29 2015-12-16 北京壹人壹本信息科技有限公司 一种基于手写原笔迹的即时通信方法、通信终端和系统
CN102566812B (zh) * 2011-09-30 2015-02-18 北京壹人壹本信息科技有限公司 一种手写记事本的实现方法及装置
CN102929534A (zh) * 2011-09-30 2013-02-13 北京大学深圳研究生院 一种盲写信息输入系统和方法
CN102663667B (zh) * 2012-03-28 2014-12-24 华为技术有限公司 触摸屏手写内容的存储方法、展示方法和终端设备
CN102902475B (zh) * 2012-08-15 2015-09-16 中国联合网络通信集团有限公司 数值输入方法及装置
JP2014067148A (ja) * 2012-09-25 2014-04-17 Toshiba Corp 手書き文書処理装置、方法およびプログラム
CN102937848B (zh) * 2012-12-04 2015-07-22 上海合合信息科技发展有限公司 对手写笔迹进行编辑处理的方法及电子设备
KR102286589B1 (ko) * 2014-10-17 2021-08-05 주식회사 네오랩컨버전스 전자펜
CN104932814A (zh) * 2015-04-29 2015-09-23 萌宝信息技术(上海)有限公司 数据传输方法、系统及电子终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1191441A (zh) * 1998-01-15 1998-08-26 张伟东 笔绘画式输入的电话传真机
CN1250902A (zh) * 1998-08-13 2000-04-19 摩托罗拉公司 同时显示文本字符和再现墨迹的触摸屏设备和方法
CN1346200A (zh) * 2000-09-27 2002-04-24 北京汉王科技有限公司 智能网络电话
WO2002058376A1 (en) * 2000-12-21 2002-07-25 I-Com Systems Co., Ltd. Method of synchronizing multiple communication terminal apparatus having the graphic functions
US20030063067A1 (en) * 2001-10-02 2003-04-03 Ping-Yang Chuang Real-time handwritten communication system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1191441A (zh) * 1998-01-15 1998-08-26 张伟东 笔绘画式输入的电话传真机
CN1250902A (zh) * 1998-08-13 2000-04-19 摩托罗拉公司 同时显示文本字符和再现墨迹的触摸屏设备和方法
CN1346200A (zh) * 2000-09-27 2002-04-24 北京汉王科技有限公司 智能网络电话
WO2002058376A1 (en) * 2000-12-21 2002-07-25 I-Com Systems Co., Ltd. Method of synchronizing multiple communication terminal apparatus having the graphic functions
US20030063067A1 (en) * 2001-10-02 2003-04-03 Ping-Yang Chuang Real-time handwritten communication system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
触摸屏技术及应用. 杨邦朝,张治安.电子世界,第2期. 2003 *

Also Published As

Publication number Publication date
CN1538722A (zh) 2004-10-20

Similar Documents

Publication Publication Date Title
CN100380907C (zh) 一种使通信终端实现手写笔迹信息交流的方法
CN105808056B (zh) 一种基于二维码的媒体互动方法和系统
CN101449255B (zh) 用于更新缓冲器的方法和系统
CN103440116B (zh) 一种交互式电子演示系统
CN1613045B (zh) 基于无线人机交互设备的个人电脑系统及其数据传输方法
CN109510990A (zh) 图像处理方法及装置、计算机可读存储介质、电子设备
CN102681658A (zh) 通过动作控制的显示设备及其动作控制方法
CN103139627A (zh) 智能电视及其手势控制方法
CN101452356A (zh) 输入装置、显示装置、输入方法、显示方法及程序
CN102637071A (zh) 应用于多媒体输入设备的多媒体输入方法
CN102109971A (zh) 可无线传输标绘信息的幻灯演示系统
CN101504791A (zh) 一种多功能智能终端的遥控装置
CN104951263A (zh) 避免向显示器发送未改变的区域
CN208985138U (zh) 同屏显示的电子装置、计算机设备以及数据处理系统
CN202120198U (zh) 一种移动触控系统
CN111835621A (zh) 会话消息处理方法、装置、计算机设备及可读存储介质
CN203552237U (zh) 一种交互式电子演示系统
CN103616963A (zh) 一种利用智能手机触控技术实现鼠标功能的系统
WO2012018219A2 (ko) 비가독부를 구비한 이동단말기
CN111475399A (zh) 虚拟测试方法及装置
CN111241815A (zh) 文本增量方法、装置及终端设备
CN102375653A (zh) 一种滑动输入方法及装置
CN110162284A (zh) 一种操控接口装置及其操控系统
WO2012105792A2 (ko) 관심분야 예측정보에 기초한 배경화면을 이용한 문자메시지 전송서비스 제공시스템 및 그 제공방법
CN115705231B (zh) 屏幕显示方法和终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C57 Notification of unclear or unknown address
DD01 Delivery of document by public notice

Addressee: Zhang Lanman

Document name: Notification of Termination of Patent Right

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080409