SPDOS图形符号输入法的改进

Author: 湖北 罗放 Date: 1994-01-07

        原系统对图形符号输入法的处理过程是:为该方式设置一个显示区号标志单元,该单元初始值为零,当按ALT-F9键时,系统先检查是否已处在图形符号输入方式中,若不是则将当前输入方式代号保存起,便于以后恢复,再将区号标志单元值加1后转入提示行显示状态,退出该方式前先将标志单元清零,这样每次进入该方式时显示的都是1区内容。改进的办法是将区号标志单元的初始值设为1,当按ALT-F9键时,若已在图形符号输入方式下则将该单元值加1,否则不加,退出时也不再将标志清零。改进后,在启动汉字系统第一次进入图形符号输入方式时,显示1区图符,如经改变区号,则以后每次重新进入时都保持在该区(改变区号的方法仍为连按ALT-F9键)。
        由于SPDOS5.0、5.1和6.0F对该输入法的处理方法完全相同,所以它们的改进方法也基本一样:只要按本文所附修改清单(5.0、5.1和6.0F版本分别对应清单1、清单2、清单3),用DEBUG调入各版本的系统命令文件,修改后存盘,SPDOS汉字系统便具有上述的功能,且对系统无任何其它影响。
        附修改清单:
        清单1(用于5.0版):
        C:>DEBUG NEWSPDOS.COM
        -A943F
        XXXX:943F CMP AH,AL
        XXXX:9441 JZ 9449
        XXXX:9443 MOV ,AH
        XXXX:9447 JMP 9459
        XXXX:9449 INC BYTE PTR
        XXXX:944D CMP BYTE PTR ,3A
        XXXX:9452 JNZ 9459
        XXXX:9454 MOV BYTE PTR ,31
        XXXX:9459 MOV AL,
        XXXX:945C AND AL,OF
        XXXX:945E MOV ,AL
        XXXX:9461
        -E918E 90 90 90 90 90
        -E94A2 90 90 90 90 90
        -E8D32 31
        -W
        -Q
        
        清单2 (用于5.1版):
        C:>DEBUG SPDOS.COM
        -A94A4
        XXXX:94A4 CMP AH,AL
        XXXX:94A6 JZ 94AE
        XXXX:94A8 MOV ,AH
        XXXX:94AC JMP 94BE
        XXXX:94AE INC BYTE PTR
        XXXX:94B2 CMP BYTE PTR ,3A
        XXXX:94B7 JNZ 94BE
        XXXX:94B9 MOV BYTE PTR ,31
        XXXX:94BE MOV AL,
        XXXX:94C1 AND AL,OF
        XXXX:94C3 MOV ,AL
        XXXX:94C6
        -E91F3 90 90 90 90 90
        -E9507 90 90 90 90 90
        -E8D97 31
        -W
        -Q
        
        清单3 (用于6.0F版):
        C:>DEBUG SPDOS.COM
        -ACCA5
        XXXX:CCA5 CMP AH,AL
        XXXX:CCA7 JZ CCAF
        XXXX:CCA9 MOV ,AH
        XXXX:CCAD JMP CCBF
        XXXX:CCAF INC BYTE PTR
        XXXX:CCB3 CMP BYTE PTR ,3A
        XXXX:CCB8 JNZ CCBF
        XXXX:CCBA MOV BYTE PTR ,31
        XXXX:CCBF MOV AL,
        XXXX:CCC2 AND AL,OF
        XXXX:CCC4 MOV ,AL
        XXXX:CCC7
        -EC998 90 90 90 90 90
        -ECD09 90 90 90 90 90
        -EC28D 31
        -W
        -Q
        (湖北  罗放)