AX,OFFSET SUBTB ; 子程式入口
4: MOV BX,BUFER-2 ; 位置序数
5: SHL BX,1 ; 指向位置
6: MOV BUFDER[BX],AX ; 存入缓冲区
7: INC WORD PTR BUFER-2; 序数加一
8: RET
这一来,先调用的程式放在前面,后调用的放在后面,使用者只要知道子程式的代号,就可以随意安排调用。
甚至于各子程式所需的参数,也可以用类似的方法,预先设置妥当,然后一次取出运用。
预置法最宜于「用户」接口,而且作为应用程式,既简单又容易,方便灵活。
比如有一些应用模组,即可应用此方法,分别归类、编号后,书于手册中,以提供使用者选择、应用。
使用者选择介面的方法,可以通过萤幕提示,将各种模组显示在指定位置上。使用者利用游标,或其它选择方法,以求得到正确的编号,再依序置于缓冲区中。
各种模组都可能需要输入参数或资料,所以,另外要准备一个参数缓冲区,在选择模组时,同时选择参数。由于各模组会自动取用参数,故只要置入即可。
假设有一个「使用者自行设计程式」的工具套件,(“聚珍整合系统”就建立在这观念上,惜因我们人手不足,产品可能要到1991年才能上市。)萤幕提示有介面、功能、共用等各类模组,使用者选完一类后,萤幕再度提示该模组的编号。
萤幕上的模组编号经过程式转换,得到程式编号,将此编号存入缓冲区,再查是否需要输入资料。即可按照原有流程设计,逐步执行下去,完全可以利用这种预置法。
1: GETMOD:
2: SUB AX,AX
3: INT 16H ; 使用者输入
4: CALL GETSUB ; 转换为代号
5: SETUP: ; 代号置于AX
6: SHL AX,1 ; 次序乘二
7: ADD AX,OFFSET SUBTB ; 子程式入口
8: MOV BX,BUFER-2
&nbs