3 <GFCN
\1aXCOP-PRINT ("VALUE" CHARACTER ANY) X4>
6 <GEN-LVAL 'OUTCHAN = OUTCHAN5>
8 <PUSH "%<CHANNEL-OPERATION ">
24 <CALL '
\1aNTH 2 = STACK>
31 <CALL '
\1aPRINC 2 = OUTCHAN5>
37 <GFCN
\1aXGLOC-PRINT ("VALUE" <OR CHARACTER STRING> XGLOC) X4>
38 <TEMP OUTCHAN5 TEMP10>
40 <GEN-LVAL 'OUTCHAN = OUTCHAN5>
41 <GVAL 'BOOT-MODE = TEMP10>
42 <TYPE? TEMP10 <TYPE-CODE FALSE> + PHRASE9>
45 <CHTYPE X4 <TYPE-CODE ATOM> = STACK>
53 <CALL '
\1aPRINC 2 = TEMP10>
62 <CHTYPE X4 <TYPE-CODE ATOM> = STACK>
70 <CALL '
\1aPRINC 2 = TEMP10>
76 <GFCN
\1aXTYPE-C-PRINT ("VALUE" STRING XTYPE-C) X4>
77 <TEMP OUTCHAN6 ATM5:ATOM>
79 <GEN-LVAL 'OUTCHAN = OUTCHAN6>
80 <CHTYPE X4 <TYPE-CODE ATOM> = ATM5>
98 <CALL '
\1aTYPEPRIM 1 = STACK>
105 <CALL '
\1aPRINC 2 = OUTCHAN6>
108 <END
\1aXTYPE-C-PRINT>
111 <GFCN
\1aXTYPE-W-PRINT ("VALUE" STRING XTYPE-W) X4>
112 <TEMP OUTCHAN6 ATM5:ATOM>
114 <GEN-LVAL 'OUTCHAN = OUTCHAN6>
115 <CHTYPE X4 <TYPE-CODE ATOM> = ATM5>
133 <CALL '
\1aTYPEPRIM 1 = STACK>
140 <CALL '
\1aPRINC 2 = OUTCHAN6>
143 <END
\1aXTYPE-W-PRINT>
145 <COND (<GASSIGNED? XCOP-PRINT> <PRINTTYPE XCHANNEL-OP ,XCOP-PRINT> <PRINTTYPE XGLOC ,XGLOC-PRINT> <PRINTTYPE XTYPE-C ,XTYPE-C-PRINT> <PRINTTYPE XTYPE-W ,XTYPE-W-PRINT>)>
148 <GFCN
\1aTYPE-CODE ("VALUE" ANY ATOM "OPTIONAL" ANY) TYP6 LENGTH7>
149 <OPT-DISPATCH 1 %<> OPT4 OPT5>
158 <GVAL 'TYPE-WORDS = L8>
160 <LOOP (TYP6 VALUE) (L8 LENGTH VALUE)>
162 <NTHUV L8 1 = TEMP21>
163 <TYPE? TEMP21 <TYPE-CODE ATOM> - TAG20>
164 <VEQUAL? TEMP21 TYP6 + TAG18>
167 <RESTUV L8 1 = L8 (TYPE VECTOR)>
170 <SET L8 %<> (TYPE FALSE)>
172 <VEQUAL? L8 0 + PHRASE16>
173 <EQUAL? LENGTH7 'VALUE - PHRASE23>
180 <NTHUV L8 2 = STACK (TYPE FIX)>
182 <CALL '
\1aMA-IMM 1 = L8>
186 <NTHR TYP6 5 = TEMP21 (RECORD-TYPE ATOM) (BRANCH-FALSE + PHRASE25)>
187 <TYPE? TEMP21 <TYPE-CODE FALSE> + PHRASE25>
190 <CHTYPE TYP6 <TYPE-CODE XTYPE-C> = STACK>
192 <CALL '
\1aADD-MVEC 1 = L8>
193 <FRAME '
\1aADDR-VALUE-M>
198 <CALL '
\1aADDR-VALUE-M 2 = L8>
202 <FRAME '
\1aCHECK-MIMOP-TYPE>
204 <CALL '
\1aCHECK-MIMOP-TYPE 1 = L8>
205 <TYPE? L8 <TYPE-CODE FALSE> + PHRASE28>
211 <PUSH "UNDEFINED-TYPE">
214 <CALL '
\1aERROR 2 = L8>
220 <GFCN
\1aTYPE-WORD ("VALUE" ANY ATOM "OPTIONAL" ANY) TYP6 EXTWORD7>
221 <OPT-DISPATCH 1 %<> OPT4 OPT5>
225 <TEMP L8 TEMP23 VAL9:FIX>
230 <GVAL 'TYPE-WORDS = L8>
232 <LOOP (TYP6 VALUE) (L8 LENGTH VALUE)>
234 <NTHUV L8 1 = TEMP23>
235 <TYPE? TEMP23 <TYPE-CODE ATOM> - TAG22>
236 <VEQUAL? TEMP23 TYP6 + TAG20>
239 <RESTUV L8 1 = L8 (TYPE VECTOR)>
242 <SET L8 %<> (TYPE FALSE)>
244 <VEQUAL? L8 0 + PHRASE18>
245 <NTHUV L8 2 = VAL9 (TYPE FIX)>
247 <GVAL 'TYPE-LENGTHS = L8>
249 <LOOP (TYP6 VALUE) (L8 LENGTH VALUE)>
251 <NTHUV L8 1 = TEMP23>
252 <TYPE? TEMP23 <TYPE-CODE ATOM> - TAG29>
253 <VEQUAL? TEMP23 TYP6 + TAG27>
256 <RESTUV L8 1 = L8 (TYPE VECTOR)>
259 <SET L8 %<> (TYPE FALSE)>
261 <VEQUAL? L8 0 + PHRASE25>
262 <NTHUV L8 2 = TEMP23 (TYPE FIX)>
264 <LSH TEMP23 16 = TEMP23 (TYPE FIX)>
265 <OR VAL9 TEMP23 = VAL9>
271 <CALL '
\1aMA-IMM 1 = L8>
275 <NTHR TYP6 5 = TEMP23 (RECORD-TYPE ATOM) (BRANCH-FALSE + PHRASE31)>
276 <TYPE? TEMP23 <TYPE-CODE FALSE> + PHRASE31>
279 <CHTYPE TYP6 <TYPE-CODE XTYPE-W> = STACK>
281 <CALL '
\1aADD-MVEC 1 = VAL9>
282 <FRAME '
\1aADDR-VALUE-M>
285 <CALL '
\1aADDR-VALUE-M 1 = L8>
289 <FRAME '
\1aCHECK-MIMOP-TYPE>
291 <CALL '
\1aCHECK-MIMOP-TYPE 1 = L8>
292 <TYPE? L8 <TYPE-CODE FALSE> + PHRASE34>
298 <PUSH "UNDEFINED-TYPE">
301 <CALL '
\1aERROR 2 = L8>
306 <GDECL (TYPE-WORDS TYPE-LENGTHS) <VECTOR [REST ATOM FIX]>>
309 <GFCN
\1aINIT-MVEC-STUFF ("VALUE" LIST)>
315 <END
\1aINIT-MVEC-STUFF>
318 <GFCN
\1aPRINT-MVEC-ELEMENTS ("VALUE" <OR CHARACTER FALSE> "OPTIONAL" CHANNEL) OUTCHAN6>
319 <OPT-DISPATCH 0 %<> OPT4 OPT5>
323 <TEMP TEMP3:LBIND TEMP9 TEMP23:LIST>
325 <GETS 'BIND = TEMP3 (TYPE LBIND)>
326 <TYPE? OUTCHAN6 <TYPE-CODE UNBOUND> - TAG7>
327 <GEN-LVAL 'OUTCHAN = OUTCHAN6>
329 <BBIND 'OUTCHAN 'CHANNEL 'FIX OUTCHAN6>
332 <SET TEMP9 %<> (TYPE FALSE)>
333 <GVAL 'MVEC-LIST = TEMP23>
337 <EMPL? TEMP23 + MAPAP16>
338 <NTHL TEMP23 1 = TEMP9>
342 <NTHR 'OUTCHAN 2 = TEMP9 (RECORD-TYPE ATOM) (TYPE LBIND)>
343 <NTHR TEMP9 1 = STACK (RECORD-TYPE LBIND)>
348 <NTHR 'OUTCHAN 2 = TEMP9 (RECORD-TYPE ATOM) (TYPE LBIND)>
349 <NTHR TEMP9 1 = STACK (RECORD-TYPE LBIND)>
351 <CALL '
\1aPRINC 2 = TEMP9>
352 <RESTL TEMP23 1 = TEMP23 (TYPE LIST)>
360 <END
\1aPRINT-MVEC-ELEMENTS>
362 <MSETG START-MVEC-OFF 16>
365 <GFCN
\1aADD-MVEC ("VALUE" FIX ANY) ITM4>
366 <TEMP OFF5:FIX LST6 TLST7>
368 <GVAL 'MVEC-OFF = OFF5>
369 <GVAL 'MVEC-LIST = LST6>
372 <GVAL 'MVEC-LIST = STACK>
373 <CALL '
\1aMEMBER 2 = TLST7>
374 <TYPE? TLST7 <TYPE-CODE FALSE> + PHRASE9>
378 <CALL '
\1aLENGTH 1 = TLST7>
379 <LSH TLST7 3 = TLST7 (TYPE FIX)>
380 <SUB OFF5 TLST7 = OFF5 (TYPE FIX)>
385 <EMPL? LST6 - PHRASE15 (TYPE LIST)>
386 <CONS ITM4 () = TLST7>
388 <SETG 'MVEC-LIST TLST7>
396 <RESTL TLST7 1 = LST6 (TYPE LIST)>
402 <CONS ITM4 () = LST6>
407 <ADD OFF5 8 = LST6 (TYPE FIX)>
408 <SETG 'MVEC-OFF LST6>
415 <GFCN
\1aPRINT-MREF ("VALUE" STRING FIX) NUM4>
416 <TEMP OUTCHAN6 TEMP9 RNUM5:FIX>
418 <GEN-LVAL 'OUTCHAN = OUTCHAN6>
419 <SUB NUM4 16 = TEMP9 (TYPE FIX)>
420 <DIV TEMP9 8 = TEMP9 (TYPE FIX)>
421 <ADD TEMP9 1 = RNUM5 (TYPE FIX)>
428 <GVAL 'MVEC-LIST = TEMP9>
429 <SUB RNUM5 1 = RNUM5 (TYPE FIX)>
430 <GRTR? RNUM5 0 - RESTL14 (TYPE FIX)>
431 <LOOP (TEMP9 VALUE) (RNUM5 VALUE)>
434 <RESTL TEMP9 1 = TEMP9 (TYPE LIST)>
435 <SUB RNUM5 1 = RNUM5 (TYPE FIX)>
436 <GRTR? RNUM5 0 + RESTL13 (TYPE FIX)>
438 <NTHL TEMP9 1 = STACK>
459 <CALL '
\1aPRINC 2 = TEMP9>
465 <GFCN
\1aADDR-VALUE-M ("VALUE" <OR EFF-ADDR LADDR> FIX "OPTIONAL" ANY) OFF6 LEN7>
466 <OPT-DISPATCH 1 %<> OPT4 OPT5>
472 <EQUAL? LEN7 'LONG - PHRASE9>
476 <ADD OFF6 4 = STACK (TYPE FIX)>
478 <CALL '
\1aMA-DISP 2 = TEMP11>
484 <ADD OFF6 4 = STACK (TYPE FIX)>
486 <CALL '
\1aMA-DISP 2 = TEMP11>
489 <END
\1aADDR-VALUE-M>
492 <GFCN
\1aADDR-VALUE-MQUOTE ("VALUE" <OR EFF-ADDR LADDR> ANY) OBJ4>
495 <FRAME '
\1aADDR-VALUE-M>
499 <CALL '
\1aADD-MVEC 1 = STACK>
500 <CALL '
\1aADDR-VALUE-M 1 = TEMP7>
503 <END
\1aADDR-VALUE-MQUOTE>
506 <GFCN
\1aADDR-TYPE-MQUOTE ("VALUE" <OR EFF-ADDR LADDR> ANY) OBJ4>
509 <FRAME '
\1aADDR-TYPE-M>
513 <CALL '
\1aADD-MVEC 1 = STACK>
514 <CALL '
\1aADDR-TYPE-M 1 = TEMP7>
517 <END
\1aADDR-TYPE-MQUOTE>
520 <GFCN
\1aADDR-TYPE-M ("VALUE" <OR EFF-ADDR LADDR> FIX) OFF4>
527 <CALL '
\1aMA-DISP 2 = TEMP6>
533 <GFCN
\1aADDR-COUNT-M ("VALUE" <OR EFF-ADDR LADDR> FIX) OFF4>
538 <ADD OFF4 2 = STACK (TYPE FIX)>
540 <CALL '
\1aMA-DISP 2 = TEMP6>
543 <END
\1aADDR-COUNT-M>