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-