nbsp; ;无效
1008: DW NEXT12 ;↙
1009: DW NEXT1 ;↓
1010: DW NEXT14 ;↘
…
因为这是子程式,加一段、减一段容易非常。
即使是子程式,也有很大的考究,就以前段来说,在 104至110 之间,就值得三思。
104: CALL MOVDATA ;SET BUFFERS
105: CALL SETDLT ;SET INCREMENT
106: NXT01:
107: CALL DOTUP
108: LOOP NXT01
109: CALL XORDOT ;SET NEW DOT
110: CALL XYDISP ;DISP NEW XXX,YYY
首先,104 和105 会重复多次,109 及110 亦然,为什么不合并为一呢?这也是很常见的程式合并手法,两次调用合为一次,速度及空间都较为经济。
在子程式 SETDLT 之前,先调用一次 MOVDATA,另XYDISP也是一样,首先备妥:
3000: SETDATA:
3001: CALL MOVDATA ;假设本程式有他用
3002: SETDLT:
3003: …
…
3100: XYDIDOT:
3101: CALL XORDOT ; 同上
3102: XYDISP:
3103: …
…
再来设计NEXT0 的子程式:
110: NEXT0:
111: CALL SETDATA
112: NXT01:
113: DOTUP 应搬至此,无需设为子程式。
…
120: LOOP NXT01
121: &nbs
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>