"EXPOSE-DEFS"> [REST LIST]>> > ) >> ) (IMSB ,.IMSB-ATM) (START <4 .MSB>) (END ) (LABEL-TABLE >)) > T> > )) #DECL ((START END) FIX (IMSB) IMSUBR (LABEL-TABLE) < [REST LIST]> (CODE) < [REST FIX]>) ) )> > > >> > )>> >> <2 .OP>:>)>>> ) (COMMENTS >)) #DECL ((IMSB) IMSUBR (START END NUM) FIX (LABEL-TABLE) < [REST LIST]>) ) )> <1 .COMMENTS 1> ;"reset number of comments to 'zero'" )> > > >> > )>> > >) (ELSE )> >> <2 .OP>:> >)> ) (ELSE )> >> ) ONE REG NUM VAL) #DECL ((MCODE) < [REST FIX]> (I ORIGINAL-LEN ONE REG) FIX) .LEN>> > ) ( > > 1>> >>) (ELSE > > > (4 >) (8 >)>) (9 >)>) (10 >) (11 >) (12 >) (13 >) (14 >) (15 >)>)> .I> ) (CODE <1 .IMSB>) ONE REG NUM VAL) #DECL ((CODE) < [REST FIX]> (IMSB) IMSUBR (I LEN-CODE ONE REG NUM VAL) FIX) .LEN>> > >> )>) ( > > 1>> >>) (ELSE > > > (4 > ) (5 ) (6 ) (7 ) (8 > > ) (ELSE )>) (9 > > > )>) (ELSE )>) (10 >> > )> 1>>>)>) (11 >> > )> 1>>>)>) (12 >> > )> 1>>>)>) (13 >> > )> 1>>>)>) (14 > > )> 1>>>)>) (15 > > )> 1>>>)>) DEFAULT ( >)>)> .I> [REST FIX]> (I N NUM) FIX) )> >> > >> .I> [REST FIX]> (I N NUM) FIX) )> >> > >> )> >> .I> ) (STR >)) #DECL ((NUM) FIX (STR) STRING) <2 .STR >> <3 .STR > ) (ELSE >)>> ) (STR >)) #DECL ((NUM) FIX (STR) STRING) <2 .STR >> <3 .STR >> <4 .STR >> <5 .STR > ) (ELSE >)>> ) (STR >)) #DECL ((NUM) FIX (STR) STRING) <2 .STR >> <3 .STR >> <4 .STR >> <5 .STR >> <6 .STR >> <7 .STR > ) (ELSE >)>> ) (STR )) #DECL ((NUM) FIX (STR) STRING) <2 .STR >> <3 .STR >> <4 .STR >> <5 .STR >> <6 .STR >> <7 .STR >> <8 .STR >> <9 .STR > ) (ELSE >)>> ) (<==? .LEN 2> ) (<==? .LEN 4> .NUM) (ELSE )>> ) (2 ) (3 ) (4 ) DEFAULT ()>> [REST FIX]> (I) FIX) 1>> 8>>>> [REST FIX]> (I) FIX) > 8>>> [REST FIX]> (I) FIX) > 16>>> [REST FIX]> (I N) FIX) )> .LSH-AMT>>> > > >>> >> .NUM) (ELSE <- >> %>)>> >> .NUM) (ELSE <- >> %>)>> FIX> (PLACE) FIX) <1 .COMMENTS 1>>> > ) (OUTCHAN .OUTCHAN)) #DECL ((COMMENTS) < FIX> (PLACE) FIX) )> )> <&1 > >>> ;"These numbers keep track of the last label used. TAG-COUNT counts up." ;"LOOP-COUNT counts down." [REST LIST]> (I BKTNUM) FIX) 1>> )) #DECL ((BKT) ) >)> > >)> >>> [REST LIST]> I:FIX NUM:FIX START:FIX END:FIX "AUX" BKTNUM BKT (SUM <+ .I .NUM>)) #DECL ((BKTNUM SUM) FIX (BKT) ) 1>> > > !.BKT)> )> > )> >>)>) (ELSE 1>> > > !.BKT)> )> > 0> <2 .B >>)> )> >>)>)>> ) > ) (ELSE >)>)>> ) (IMSB-ATM <1 .MSBR>) (END <* 4 :>>)) #DECL ((START) FIX (END) FIX) MSUBR> <==? <1 .VAL> .IMSB-ATM> > .START> > )>> .BKT>> ,ATOM-TABLE:VECTOR> .END> ;"Stuff to handle the horrendous opcode table. There is a slot for each" ;"possible opcode byte. An entry of %<> means that the opcode is undefined." ;"An entry of type OPCODE-TABLE means that the next byte must also be" ;"inspected. An entry of type vector specifies an instruction in the form:" ;"[short-name:string operands:vector long-name:string]." ;"Stuff to handle register names" 1>>>> ;"Stuff to handle references to the kernel. This is used whenever EXPOSE" ;"encounters the '@#address' construct. A hash table is used. Each bucket" ;"is a list of the form (loc1 name1 loc2 name2 ...)." ;"PRINT-KERNEL-LOCATION is defined to return %<> if it couldn't find" ;"an appropriate symbolic name." >) 1>> > > >)>>