55 lines
1.9 KiB
Plaintext
55 lines
1.9 KiB
Plaintext
Code for \DSPPRINTCHAR. Best case:
|
|
|
|
42 opcodes.
|
|
3 free variable lookups.
|
|
1 function call.
|
|
2 unnecessary DTESTs (since not tested at 101).
|
|
|
|
|
|
100: 100 IVAR STREAM
|
|
101: 311 60 GETBASEPTR.N
|
|
103: 21 1 0 BIND DD;
|
|
106: 140 24 273 GVAR \CARET.UP
|
|
111: 224 FJUMP-> 117
|
|
|
|
117: 126 FVAR *DRIBBLE-OUTPUT*
|
|
120: 262 35 FJUMPX-> 155
|
|
|
|
155: 101 IVAR CHARCODE
|
|
156: 154 377 SIC 255
|
|
160: 361 IGREATERP
|
|
161: 262 31 FJUMPX-> 212
|
|
|
|
212: 127 16 FVARX \PRIMTERMSA
|
|
214: 101 IVAR CHARCODE
|
|
215: 302 GETBASEBYTE
|
|
216: 154 30 SIC 24
|
|
220: 345 LOGAND2
|
|
221: 144 COPY
|
|
222: 152 '0
|
|
223: 360 EQ
|
|
224: 262 146 FJUMPX-> 372
|
|
226: 277 POP
|
|
227: 101 IVAR CHARCODE
|
|
230: 144 COPY
|
|
231: 154 15 SIC 13
|
|
233: 361 IGREATERP
|
|
234: 262 31 FJUMPX-> 265
|
|
236: 100 IVAR STREAM
|
|
237: 110 PVAR DD
|
|
240: 13 30 231 FN3 \BLTCHAR
|
|
243: 277 POP
|
|
244: 100 IVAR STREAM
|
|
245: 6 1 15 DTEST STREAM
|
|
250: 100 IVAR STREAM
|
|
251: 6 1 15 DTEST STREAM
|
|
254: 310 6 GETBASE.N
|
|
256: 153 '1
|
|
257: 324 PLUS2
|
|
260: 315 6 PUTBASE.N
|
|
262: 261 1 161 JUMPXX->1043
|
|
|
|
1043: 150 'NIL
|
|
1044: 20 RETURN
|
|
1045: 0 -X-
|