1
0
mirror of synced 2026-01-12 00:42:56 +00:00
Interlisp.medley/docs/internal/codeimage.dspprintchar

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-