(FILECREATED " 9-Sep-85 23:23:26" {ERIS}<JANDERSSON>CMLFFT>NMC>LLCODE.;1 24913        changes to:  (VARS \OPCODES)      previous date: " 9-Sep-85 22:33:57" {ERIS}<JANDERSSON>CMLFFT>LLCODE.;1)(* Copyright (c) 1981, 1982, 1983, 1984, 1985 by Xerox Corporation. All rights reserved.)(PRETTYCOMPRINT LLCODECOMS)(RPAQQ LLCODECOMS [(* reading in compiled code)	(FNS DCODERD DCODESKIP \RENAMEDFN \REALNAMEP)	[VARS (CODERDTBL (COPYREADTABLE (QUOTE ORIG]	(GLOBALVARS CODERDTBL FILERDTBL)	(P (SETSYNTAX 25 [QUOTE (MACRO (LAMBDA (FILE RDTBL)					       (EVAL (READ FILE RDTBL]		      CODERDTBL))	[DECLARE: EVAL@COMPILE DONTCOPY DONTEVAL@LOAD (FILES (LOADCOMP)							     MODARITH RENAMEMACROS)		  (P (SELECTQ (COMPILEMODE)			      ((D ALTO)			       NIL)			      (FILESLOAD (LOADCOMP)					 DCODEFOR10]	(VARS CODEINDICATOR)	(GLOBALVARS CODEINDICATOR)	(PROP CODEREADER * (LIST CODEINDICATOR (QUOTE D2)				 (QUOTE D1)))	(FNS EQDEFP)	[COMS (* utilities)	      (FNS \FINDOP)	      (VARS \OPCODES)	      (ADDVARS (\OPCODEARRAY))	      (GLOBALVARS \OPCODEARRAY \OPCODES)	      (DECLARE: EVAL@COMPILE DONTCOPY (EXPORT (MACROS DPUTCODE MCODEP)						      (MACROS CODELT CODELT2 CODESETA2 CODESETA)						      (ADDVARS (SYSSPECVARS CA))						      (RECORDS CODEARRAY)						      (RECORDS OPCODE)						      (GLOBALVARS \OPCODES)						      (CONSTANTS PVARCODE FVARCODE IVARCODE 								 VARCODEMASK]	[COMS (* "ufns")	      (FNS INITUFNTABLE \SETUFNENTRY \GETUFNENTRY)	      (FNS \UNKNOWN.UFN)	      (DECLARE: DONTCOPY (RECORDS UFNENTRY)			(ADDVARS (INEWCOMS (FNS INITUFNTABLE \SETUFNENTRY)))			EVAL@COMPILE			(ADDVARS (DONTCOMPILEFNS INITUFNTABLE]	(COMS (* for MAKEINIT and READSYS)	      (DECLARE: DONTCOPY (ADDVARS (INEWCOMS					    (FNS DCODERD)					    [VARS \OPCODES (CODERDTBL (COPYREADTABLE (QUOTE ORIG]					    (P (SETSYNTAX (CHARCODE ^Y)							  [QUOTE (MACRO (LAMBDA (FILE RDTBL)										(EVALFORMAKEINIT										  (READ FILE RDTBL]							  CODERDTBL)))					  (MKI.SUBFNS (\CODEARRAY . SCRATCHARRAY)						      (DPUTCODE . I.PUTDEFN)						      (CODERDTBL . I.CODERDTBL))					  (EXPANDMACROFNS CODELT CODELT2 CODESETA CODESETA2 DPUTCODE 							  MCODEP)					  (RD.SUBFNS (CODELT . VGETBASEBYTE)						     (CODESETA . VPUTBASEBYTE])(* reading in compiled code)(DEFINEQ(DCODERD  [LAMBDA (FN)                                               (* JonL "31-Dec-83 22:25")    (READC)    (PROG ((COFD (GETOFD)))          (PROG ((NAMETABLE (PROG1 (READ NIL CODERDTBL)				   (READC)))		 (CODELEN (IPLUS (LLSH (\BIN COFD)				       8)				 (\BIN COFD)))		 (NLOCALS (\BIN COFD))		 (NFREEVARS (\BIN COFD))		 (ARGTYPE (\BIN COFD))		 (NARGS (\BIN COFD))		 (NTSIZE 0)		 (FRAMENAME FN)		 REALSIZE STARTPC NTWORDS CA FVAROFFSET LOCALARGS STARTLOCALS LOCALSIZE)	        [COND		  ((EQ (CAR NAMETABLE)		       (QUOTE NAME))		    (SETQ FRAMENAME (CADR NAMETABLE))		    (SETQ NAMETABLE (CDDR NAMETABLE]	        [COND		  ((EQ (CAR NAMETABLE)		       (QUOTE L))		    (SETQ LOCALARGS (CADR NAMETABLE))		    (SETQ NAMETABLE (CDDR NAMETABLE]	        [COND		  (NAMETABLE                                 (* NAMETABLE now is a sequence of flat triples, one per							     name to be stored in nametable)			     (on NAMETABLE by CDDDR do (add NTSIZE 1))			     (SETQ NTSIZE (CEIL (ADD1 NTSIZE)						WORDSPERQUAD]	        [SETQ NTWORDS (COND		    (NAMETABLE (IPLUS NTSIZE NTSIZE))		    (T (CONSTANT WORDSPERQUAD]          (* NameTable must end in quadword which ends in 0 -	  thus, round down and add a quad -	  NTWORDS is the number of words allocated for nametable)	        (SETQ STARTPC (UNFOLD (IPLUS (fetch (CODEARRAY OVERHEADWORDS) of T)					     NTWORDS)				      BYTESPERWORD))         (* initial pc for the function: after fixed header and 							     double nametable)	        [COND		  (LOCALARGS (SETQ STARTLOCALS STARTPC)      (* Insert an extra nametable between the real one and 							     the start pc where we store localvar args)			     (SETQ LOCALSIZE (CEIL (ADD1 (FOLDLO (FLENGTH LOCALARGS)								 2))						   (IQUOTIENT WORDSPERQUAD 2)))                                                             (* Number of words in half this nametable: must end in 							     zero, when doubled is quad-aligned)			     (SETQ LOCALSIZE (UNFOLD LOCALSIZE BYTESPERWORD))                                                             (* size in bytes now)			     (add STARTPC (UNFOLD LOCALSIZE 2]	        (SETQ REALSIZE (CEIL (IPLUS STARTPC CODELEN)				     BYTESPERQUAD))	        (SETQ CA (\CODEARRAY REALSIZE (CEIL (ADD1 (FOLDHI STARTPC BYTESPERCELL))						    CELLSPERQUAD)))	        (AIN CA STARTPC CODELEN COFD)                (* Now build the name table, which has two parallel 							     parts: the names, and where to find them on the stack)	        (for X on NAMETABLE by (CDDDR X) as NT1 from (ADD1 (UNFOLD (fetch (CODEARRAY 										    OVERHEADWORDS)									      of T)									   BYTESPERWORD))		   by (CONSTANT BYTESPERWORD) bind (NTBYTESIZE _ (UNFOLD NTSIZE BYTESPERWORD))		   do (\FIXCODENUM CA NT1 (\ATOMVALINDEX (CADDR X))				   -1)                       (* Insert the name into first half of table)		      (\FIXCODENUM CA (IPLUS NT1 NTBYTESIZE)				   (IPLUS (CADR X)					  (SELECTQ (CAR X)						   (P (CONSTANT PVARCODE))						   (F (OR FVAROFFSET (SETQ FVAROFFSET							    (FOLDLO NT1 BYTESPERWORD)))                                                             (* Save word offset of first FVAR in nametable, so 							     ucode can easily access FVAR n)						      (CONSTANT FVARCODE))						   (I (CONSTANT IVARCODE))						   (SHOULDNT)))				   -1)                       (* Code type and index into second half)		      )	        [COND		  (LOCALARGS                                 (* Build invisible name table for locals)			     (for X on LOCALARGS by (CDDR X) as NT from (ADD1 STARTLOCALS)				by BYTESPERWORD				do (\FIXCODENUM CA NT (\ATOMVALINDEX (CADR X))						-1)          (* Name in first half)				   (\FIXCODENUM CA (IPLUS NT LOCALSIZE)						(IPLUS (CAR X)						       (CONSTANT IVARCODE))						-1)          (* index in second half)				   ]	        (PROGN                                       (* Fill in function header)		       (replace (CODEARRAY NA) of CA with (COND							    ((EQ ARGTYPE 2)							      -1)							    (T NARGS)))		       (replace (CODEARRAY PV) of CA with (SUB1 (FOLDHI (IPLUS NLOCALS NFREEVARS)									CELLSPERQUAD)))		       (replace (CODEARRAY STARTPC) of CA with STARTPC)		       (replace (CODEARRAY ARGTYPE) of CA with ARGTYPE)		       (replace (CODEARRAY FRAMENAME) of CA with FRAMENAME)		       (replace (CODEARRAY NTSIZE) of CA with NTSIZE)		       (replace (CODEARRAY NLOCALS) of CA with NLOCALS)		       (replace (CODEARRAY FVAROFFSET) of CA with (OR FVAROFFSET 0))		       (replace (CODEARRAY FIXED) of CA with T))	        (for X on (READ NIL CODERDTBL) by (CDDR X) do (\FIXCODENUM CA (IPLUS (CAR X)										     STARTPC)									   (\ATOMDEFINDEX									     (CADR X))									   -1))	        (for X on (READ NIL CODERDTBL) by (CDDR X) do (\FIXCODENUM CA (IPLUS (CAR X)										     STARTPC)									   (\ATOMPNAMEINDEX									     (CADR X))									   -1))	        [for X on (READ NIL CODERDTBL) by (CDDR X) do (\FIXCODEPTR CA (IPLUS (CAR X)										     STARTPC)									   (EVQ (CADR X]	        (DPUTCODE FN CA (IPLUS STARTPC CODELEN])(DCODESKIP  [LAMBDA (FN FLG)                                           (* lmm " 2-DEC-81 23:52")    (READC)    (RESETVARS ((FILERDTBL CODERDTBL))	       (PROG ((P (AND FLG (GETFILEPTR)))		      LC		      (COFD (GETOFD)))		     (SKREAD)		     (READC)		     (SETQ LC (IPLUS (LLSH (\BIN COFD)					   8)				     (\BIN COFD)))		     (\BIN COFD)		     (\BIN COFD)		     (\BIN COFD)		     (\BIN COFD)		     (SETFILEPTR NIL (IPLUS (GETFILEPTR)					    LC))		     (SKREAD)		     (SKREAD)		     (SKREAD)		     (READC)		     (COND		       (FLG (PRIN2 FN)			    (SPACES 1)			    (PRINT CODEINDICATOR)			    (COPYBYTES NIL NIL P (GETFILEPTR])(\RENAMEDFN  [LAMBDA (DEF FN)                                           (* lmm "15-OCT-81 00:34")                                                             (* USED BY PUTD WHEN DOING MOVDS FROM ONE FUNCTION TO 							     ANOTHER)    (PROG (NEWCA (SIZE (ARRAYSIZE DEF))		 (FB (fetch (CODEARRAY STARTPC) of DEF)))          (SETQ NEWCA (\CODEARRAY SIZE (CEIL (ADD1 (FOLDHI FB BYTESPERCELL))					     CELLSPERQUAD)))          (for I from 0 to (SUB1 SIZE) do (CODESETA NEWCA I (CODELT DEF I)))          (replace (CODEARRAY FRAMENAME) of NEWCA with FN)          (RETURN NEWCA])(\REALNAMEP  [LAMBDA (X)                                                (* lmm "15-OCT-81 00:16")    (AND (NEQ X (QUOTE ERRORSET))	 (NEQ (NTHCHAR X 1)	      (QUOTE \]))(RPAQ CODERDTBL (COPYREADTABLE (QUOTE ORIG)))(DECLARE: DOEVAL@COMPILE DONTCOPY(GLOBALVARS CODERDTBL FILERDTBL))(SETSYNTAX 25 [QUOTE (MACRO (LAMBDA (FILE RDTBL)				    (EVAL (READ FILE RDTBL]	   CODERDTBL)(DECLARE: EVAL@COMPILE DONTCOPY DONTEVAL@LOAD (FILESLOAD (LOADCOMP)	   MODARITH RENAMEMACROS)(SELECTQ (COMPILEMODE)	 ((D ALTO)	  NIL)	 (FILESLOAD (LOADCOMP)		    DCODEFOR10)))(RPAQQ CODEINDICATOR D1)(DECLARE: DOEVAL@COMPILE DONTCOPY(GLOBALVARS CODEINDICATOR))(PUTPROPS D1 CODEREADER (DCODERD . DCODESKIP))(PUTPROPS D2 CODEREADER (DCODERD . DCODESKIP))(PUTPROPS D1 CODEREADER (DCODERD . DCODESKIP))(DEFINEQ(EQDEFP  [LAMBDA (CA1 CA2)                                          (* lmm "16-MAY-82 19:43")                                                             (* determines whether two code arrays CA1 and CA2 are 							     equivalent (same except for framename))    (AND (EQ (ARRAYTYP CA1)	     (QUOTE CODE))	 (EQ (ARRAYTYP CA2)	     (QUOTE CODE))	 (for I from 0 to (SUB1 (IMIN (ARRAYSIZE CA1)				      (ARRAYSIZE CA2)))	    always (OR (EQ (CODELT CA1 I)			   (CODELT CA2 I))		       (AND (IGEQ I (fetch FRAMENAME# of CA1))			    (ILESSP I (IPLUS (fetch FRAMENAME# of CA1)					     BYTESPERCELL]))(* utilities)(DEFINEQ(\FINDOP  [LAMBDA (OPNAME FLG)                                       (* lmm "22-Mar-85 10:20")    (ALLOCAL (PROGN [OR \OPCODEARRAY (PROGN (SETQ \OPCODEARRAY (ARRAY 256 (QUOTE POINTER)								      NIL 0))					    (for X in \OPCODES					       do (PUTPROP (fetch OPCODENAME of X)							   (QUOTE DOPCODE)							   X)						  (if (LISTP (fetch OP# of X))						      then (for I							      from (CAR (fetch OP# of X))							      to (CADR (fetch OP# of X))							      by 1 do (SETA \OPCODEARRAY I X))						    else (SETA \OPCODEARRAY (fetch OP# of X)							       X]		    (OR (COND			  ((LITATOM OPNAME)			    (GETPROP OPNAME (QUOTE DOPCODE)))			  ((FIXP OPNAME)			    (ELT \OPCODEARRAY OPNAME)))			(AND FLG (ERROR OPNAME FLG]))(RPAQQ \OPCODES ((0 -X- 0)		 (1 CAR 0 T 0 \CAR.UFN)		 (2 CDR 0 T 0 \CDR.UFN)		 (3 LISTP 0 T 0 LISTP)		 (4 NTYPX 0 T 0 NTYPX)		 (5 TYPEP 1 TYPEP 0 \TYPEP.UFN)		 (6 DTEST 2 ATOM 0 \DTEST.UFN)		 (7 CDDR 0 T 0 CDDR T)		 (8 FN0 2 FN 1)		 (9 FN1 2 FN 0)		 (10 FN2 2 FN -1)		 (11 FN3 2 FN -2)		 (12 FN4 2 FN -3)		 (13 FNX 3 FNX FNX)		 (14 APPLYFN 0 T -1)		 (15 CHECKAPPLY* 0 T 0 \CHECKAPPLY* (4K 12K))		 (16 RETURN 0 T (JUMP 1)		     \HARDRETURN)		 (17 BIND 2)		 (18 UNBIND 0)		 (19 DUNBIND 0)		 (20 RPLPTR.N 1 T -1 \RPLPTR.UFN (4K))		 (21 GCREF 1 T 0 \HTFIND)		 (22 ASSOC 0 T -1 ASSOC (4K DORADO))		 (23 GVAR_ 2 ATOM 0 \SETGLOBALVAL.UFN)		 (24 RPLACA 0 T -1 \RPLACA.UFN 4K)		 (25 RPLACD 0 T -1 \RPLACD.UFN 4K)		 (26 CONS 0 T -1 \CONS.UFN)		 (27 GETP 0 T -1 GETPROP T)		 (28 FMEMB 0 T -1 FMEMB (4K DORADO))		 (29 GETHASH 0 T -1 GETHASH T)		 (30 PUTHASH 0 T -2 PUTHASH T)		 (31 CREATECELL 0 T 0 \CREATECELL 4K)		 (32 BIN 0 T 0 \BIN 4K)		 (33 BOUT 0 T -1 \BOUT T)		 (34 POPDISP 0 T 0 \POPDISP.UFN (4K DORADO))		 (35 LIST1 0 T 0 CONS T)		 (36 DOCOLLECT 0 T -1 DOCOLLECT T)		 (37 ENDCOLLECT 0 T -1 ENDCOLLECT T)		 (38 RPLCONS 0 T -1 \RPLCONS (4K DORADO))		 (39 LISTGET 0 T -1 LISTGET (4K DORADO))		 (40 ELT 0 T -1 ELT T)		 (41 NTHCHC 0 T -1 NTHCHARCODE T)		 (42 SETA 0 T -2 SETA T)		 (43 RPLCHARCODE 0 T -2 RPLCHARCODE T)		 (44 EVAL 0 T 0 \EVAL)		 (45 EVALV 0 T 0 \EVALV1 T)		 (46 TYPECHECK 0 T 0 \TYPECHECK.UFN)		 (47 STKSCAN 0 T 0 \STKSCAN)		 (48 BUSBLT 1 (WORDSOUT BYTESOUT BYTESOUTSWAPPED NYBBLESOUT WORDSIN BYTESIN 					BYTESINSWAPPED NYBBLESINSWAPPED)		     -3 \BUSBLT.UFN (4K DORADO))		 (49 MISC8 1 (IBLT1 IBLT2)		     -7 \MISC8.UFN (4K DORADO))		 (50 UBFLOAT3 1 (POLY MATRIX.3X3 MATRIX.4X4 MATRIX.133 MATRIX.331 MATRIX.144 				      MATRIX.441)		     (-2 1)		     \UNBOXFLOAT3		     (4K DORADO))		 (51 TYPEMASK.N 1 T 0 \TYPEMASK.UFN)		 (52 RDPROLOGPTR 0 T 0 RAID (4K DORADO))		 (53 RDPROLOGTAG 0 T 0 RAID (4K DORADO))		 (54 WRTPTR&TAG 0 T -2 RAID (4K DORADO))		 (55 WRTPTR&0TAG 0 T -1 RAID (4K DORADO))		 (56 MISC7 1 (PSEUDOCOLOR)		     -6 \MISC7.UFN (4K DORADO))		 (57 DOVEMISC 1 (READIW WRITEIO WRITEMP RDTIMER BYTESWAP LOCKMEM NOTIFYIOP SETWP)		     (0 -1 0 0 0 -3 0 0))		 (58 EQL 0 T -1 EQL)		 (59 DRAWLINE 0 T -8 \DRAWLINE.UFN (4K DORADO))		 (60 STORE.N 1 T 0 \STORE.N.UFN)		 (61 COPY.N 1 T 1 \COPY.N.UFN)		 (62 RAID 0 T 0 RAID T)		 (63 \RETURN 0 T 0 \RETURN)		 ((64 70)		  IVAR 0 IVAR 1)		 (71 IVARX 1 IVAR 1)		 ((72 78)		  PVAR 0 PVAR 1)		 (79 PVARX 1 PVAR 1)		 ((80 86)		  FVAR 0 FVAR 1)		 (87 FVARX 1 FVAR 1)		 ((88 94)		  PVAR_ 0 PVAR 0)		 (95 PVARX_ 1 PVAR 0)		 (96 GVAR 2 ATOM 1)		 (97 ARG0 0 T 0 \ARG0 T)		 (98 IVARX_ 1 IVAR 0)		 (99 FVARX_ 1 FVAR 0)		 (100 COPY 0 T 1)		 (101 MYARGCOUNT 0 T 1 \MYARGCOUNT T)		 (102 MYALINK 0 T 1)		 (103 ACONST 2 ATOM 1)		 (104 'NIL 0 T 1)		 (105 'T 0 T 1)		 (106 '0 0 T 1)		 (107 '1 0 T 1)		 (108 SIC 1 SIC 1)		 (109 SNIC 1 SNIC 1)		 (110 SICX 2 SICX 1)		 (111 GCONST 3 GCONST 1)		 (112 ATOMNUMBER 2 ATOM 1)		 (113 READFLAGS 0 T 0 \READFLAGS)		 (114 READRP 0 T 0 \READRP)		 (115 WRITEMAP 0 T -2 \WRITEMAP DORADO)		 (116 READPRINTERPORT 0 T 1 \READPRINTERPORT.UFN 4K)		 (117 WRITEPRINTERPORT 0 T 0 \WRITEPRINTERPORT.UFN 4K)		 (118 PILOTBITBLT 0 T -1 \PILOTBITBLT)		 (119 RCLK 0 T 0 \RCLKSUBR)		 (120 MISC1 1 (error INPUT OUTPUT error error error error error error RWMUFMAN)		      0 \MISC1.UFN)		 (121 MISC2 1 (?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?10)		      -1 \MISC2.UFN)		 (122 RECLAIMCELL 0 T 0 \GCRECLAIMCELL DORADO)		 (123 GCSCAN1 0 T 0 \GCSCAN1)		 (124 GCSCAN2 0 T 0 \GCSCAN2)		 (125 SUBRCALL 2 SUBRCALL)		 (126 CONTEXTSWITCH 0 T 0 \CONTEXTSWITCH)		 (127 was.audio)		 ((128 143)		  JUMP 0 JUMP JUMP NIL)		 ((144 159)		  FJUMP 0 JUMP CJUMP NIL)		 ((160 175)		  TJUMP 0 JUMP CJUMP NIL)		 (176 JUMPX 1 JUMPX JUMP)		 (177 JUMPXX 2 JUMPXX JUMP)		 (178 FJUMPX 1 JUMPX CJUMP)		 (179 TJUMPX 1 JUMPX CJUMP)		 (180 NFJUMPX 1 JUMPX NCJUMP)		 (181 NTJUMPX 1 JUMPX NCJUMP)		 (182 jeq)		 (183 jlistp)		 ((184 190)		  PVAR_^ 0 PVAR -1 NIL)		 (191 POP 0 T -1)		 (192 POP.N 1 T (POP.N 1)		      \POP.N.UFN)		 (193 ATOMCELL.N 1 T 0 \ATOMCELL)		 (194 GETBASEBYTE 0 T -1 \GETBASEBYTE)		 (195 was.scanbase)		 (196 BLT 0 T -2 \BLT)		 (197 MISC10 1 T -9 \MISC10.UFN (4K DORADO))		 (198 was.putbaseptr)		 (199 PUTBASEBYTE 0 T -2 \PUTBASEBYTE)		 (200 GETBASE.N 1 T 0)		 (201 GETBASEPTR.N 1 T 0)		 (202 GETBITS.N.FD 2 T 0)		 (203 GETBASEFIXP.N 1 T 0 \GETBASEFIXP T)		 (204 PUTBASEFIXP.N 1 T -1 \PUTBASEFIXP.UFN T)		 (205 PUTBASE.N 1 T -1 \PUTBASE.UFN)		 (206 PUTBASEPTR.N 1 T -1 \PUTBASEPTR.UFN)		 (207 PUTBITS.N.FD 2 T -1 \PUTBITS.UFN)		 (208 ADDBASE 0 T -1 \ADDBASE)		 (209 VAG2 0 T -1 \VAG2)		 (210 HILOC 0 T 0)		 (211 LOLOC 0 T 0)		 (212 PLUS2 0 T -1 \SLOWPLUS2 *)		 (213 DIFFERENCE 0 T -1 \SLOWDIFFERENCE *)		 (214 TIMES2 0 T -1 \SLOWTIMES2 *)		 (215 QUOTIENT 0 T -1 \SLOWQUOTIENT *)		 (216 IPLUS2 0 T -1 \SLOWIPLUS2)		 (217 IDIFFERENCE 0 T -1 \SLOWIDIFFERENCE)		 (218 ITIMES2 0 T -1 \SLOWITIMES2)		 (219 IQUOTIENT 0 T -1 \SLOWIQUOTIENT)		 (220 IREMAINDER 0 T -1 IREMAINDER)		 (221 IPLUS.N 1 T 0 \SLOWIPLUS2 (4K 12K))		 (222 IDIFFERENCE.N 1 T 0 \SLOWIDIFFERENCE (4K 12K))		 (223 was.iblt)		 (224 LLSH1 0 T 0 \SLOWLLSH1)		 (225 LLSH8 0 T 0 \SLOWLLSH8)		 (226 LRSH1 0 T 0 \SLOWLRSH1)		 (227 LRSH8 0 T 0 \SLOWLRSH8)		 (228 LOGOR2 0 T -1 \SLOWLOGOR2)		 (229 LOGAND2 0 T -1 \SLOWLOGAND2)		 (230 LOGXOR2 0 T -1 \SLOWLOGXOR2)		 (231 LSH 0 T -1 LSH T)		 (232 FPLUS2 0 T -1 \SLOWFPLUS2 4K)		 (233 FDIFFERENCE 0 T -1 \SLOWFDIFFERENCE 4K)		 (234 FTIMES2 0 T -1 \SLOWFTIMES2 4K)		 (235 FQUOTIENT 0 T -1 \SLOWFQUOTIENT 4K)		 (236 UBFLOAT2 1 (UFADD UFSUB UFISUB UFMULT UFDIV UFGREAT UFMAX UFMIN UFREM)		      (-1 1)		      \UNBOXFLOAT2		      (4K DORADO))		 (237 UBFLOAT1 1 (BOX UNBOX UFABS UFNEGATE)		      (0 1)		      \UNBOXFLOAT1		      (4K DORADO))		 (238 unused)		 (239 unused)		 (240 EQ 0 T -1)		 (241 IGREATERP 0 T -1 \SLOWIGREATERP)		 (242 FGREATERP 0 T -1 \SLOWFGREATERP)		 (243 GREATERP 0 T -1 GREATERP)		 (244 EQUAL 0 T -1 EQUAL)		 (245 MAKENUMBER 0 T -1 \MAKENUMBER 4K)		 (246 BOXIPLUS 0 T -1 \BOXIPLUS 4K)		 (247 BOXIDIFFERENCE 0 T -1 \BOXIDIFFERENCE 4K)		 (248 FLOATBLT 0 (FLOATWRAP FLOATUNWRAP FLOAT FIX FPLUS FDIFFERENCE FDIFFERENCE 					    FPLUSABS ABSDIFFERENCE ABSFPLUS FTIMES)		      -3 \FLOATBLT (4K DORADO))		 (249 FFTSTEP 0 T -1 \FFTSTEP (4K DORADO))		 (250 MISC3 1 (EXPONENT MAGNITUDE FLOAT COMP BLKFMAX BLKFMIN BLKFABSMAX BLKFABSMIN 					FLOATTOBYTE)		      -2 \MISC3.UFN (4K DORADO))		 (251 MISC4 1 (ARRAY.TIMES ARRAY.PERM ARRAY.PLUS ARRAY.DIFFERENCE ARRAY.MAGIC 3MATCH 					   BMBIT)		      -3 \MISC4.UFN)		 (252 UPCTRACE 0 T 0 NILL (4K 12K))		 (253 SWAP 0 T 0)		 (254 NOP 0 T 0)		 (255 was.upctrace)))(ADDTOVAR \OPCODEARRAY )(DECLARE: DOEVAL@COMPILE DONTCOPY(GLOBALVARS \OPCODEARRAY \OPCODES))(DECLARE: EVAL@COMPILE DONTCOPY (* FOLLOWING DEFINITIONS EXPORTED)(DECLARE: EVAL@COMPILE [PUTPROPS DPUTCODE MACRO ((FN CA SIZE)	   (SELECTQ (SYSTEMTYPE)		    (D (DEFC FN CA))		    (/PUTPROP FN (QUOTE DCODE)			      CA][PUTPROPS MCODEP MACRO ((X)	   (OR (ARRAYP X)	       (AND (LITATOM X)		    (ARRAYP (SELECTQ (SYSTEMTYPE)				     (D (GETD X))				     (GETPROP X (QUOTE DCODE])(DECLARE: EVAL@COMPILE (PUTPROPS CODELT MACRO ((CA N)	   (\BYTELT CA N)))[PUTPROPS CODELT2 MACRO (OPENLAMBDA (DEF LC)				    (LOGOR (LLSH (CODELT DEF LC)						 BITSPERBYTE)					   (CODELT DEF (ADD1 LC][PUTPROPS CODESETA2 MACRO (OPENLAMBDA (DEF LC VALUE)				      (CODESETA DEF LC (LRSH VALUE BITSPERBYTE))				      (CODESETA DEF (ADD1 LC)						(IMOD VALUE (CONSTANT (LLSH 1 BITSPERBYTE](PUTPROPS CODESETA MACRO ((CA N NV)	   (\BYTESETA CA N NV))))(ADDTOVAR SYSSPECVARS CA)[DECLARE: EVAL@COMPILE (ACCESSFNS CODEARRAY ((STKMIN (CODELT2 DATUM 0)			      (CODESETA2 DATUM 0 NEWVALUE))	    (NA (SIGNED (CODELT2 DATUM 2)			BITSPERWORD)		(CODESETA2 DATUM 2 (UNSIGNED NEWVALUE BITSPERWORD)))	    (PV (SIGNED (CODELT2 DATUM 4)			BITSPERWORD)		(CODESETA2 DATUM 4 (UNSIGNED NEWVALUE BITSPERWORD)))	    (STARTPC (CODELT2 DATUM 6)		     (CODESETA2 DATUM 6 NEWVALUE))	    [ARGTYPE (LOGAND (LRSH (CODELT DATUM 8)				   4)			     3)		     (CODESETA DATUM 8 (LOGOR (LOGAND (CODELT DATUM 8)						      65487)					      (LLSH (LOGAND NEWVALUE 3)						    4]	    (FRAMENAME (\VAG2 (CODELT DATUM 9)			      (CODELT2 DATUM 10))		       (\FIXCODEPTR DATUM 11 (EVQ NEWVALUE)))	    (NTSIZE (CODELT2 DATUM 12)		    (CODESETA2 DATUM 12 NEWVALUE))	    (NLOCALS (CODELT DATUM 14)		     (CODESETA DATUM 14 NEWVALUE))	    (FVAROFFSET (CODELT DATUM 15)			(CODESETA DATUM 15 NEWVALUE)))	   [ACCESSFNS CODEARRAY		      ((LSTARP (ILESSP (fetch (CODEARRAY NA) of DATUM)				       0))		       (OVERHEADWORDS (PROGN 8))		       (ALIGNED (IPLUS (fetch (CODEARRAY NTSIZE) of DATUM)				       (fetch (CODEARRAY OVERHEADWORDS) of T)))		       (FIXED NIL (replace (CODEARRAY STKMIN) of DATUM				     with (IPLUS (UNFOLD (IPLUS (fetch (CODEARRAY NA) of DATUM)								(UNFOLD (ADD1 (fetch (CODEARRAY										       PV)										 of DATUM))									CELLSPERQUAD))							 WORDSPERCELL)						 12 32)))		       (FRAMENAME# (PROGN 8])][DECLARE: EVAL@COMPILE (RECORD OPCODE (OP# OPCODENAME OPNARGS OPPRINT LEVADJ UFNFN UNIMPL))](DECLARE: DOEVAL@COMPILE DONTCOPY(GLOBALVARS \OPCODES))(DECLARE: EVAL@COMPILE (RPAQQ PVARCODE 32768)(RPAQQ FVARCODE 49152)(RPAQQ IVARCODE 0)(RPAQQ VARCODEMASK 49152)(CONSTANTS PVARCODE FVARCODE IVARCODE VARCODEMASK))(* END EXPORTED DEFINITIONS))(* "ufns")(DEFINEQ(INITUFNTABLE  [LAMBDA NIL                                                (* edited: "25-Mar-85 08:57")    (CREATEPAGES \UFNTable \UFNTableSize NIL T)    (for I from 0 to 255 do (\SETUFNENTRY I (QUOTE \UNKNOWN.UFN)					  0 0))    (for X in \OPCODES when (fetch (OPCODE UFNFN) of X)       do (\SETUFNENTRY (PROG ((OP (fetch (OPCODE OP#) of X)))			      (RETURN (if (LISTP OP)					  then (CAR OP)					else OP)))			(fetch (OPCODE UFNFN) of X)			(if (LISTP (fetch (OPCODE LEVADJ) of X))			    then (CADR (fetch (OPCODE LEVADJ) of X))			  else (IDIFFERENCE (IPLUS 1 (COND						     ((EQ (fetch (OPCODE OPNARGS) of X)							  0)						       0)						     (T 1)))					    (fetch (OPCODE LEVADJ) of X)))			(fetch (OPCODE OPNARGS) of X])(\SETUFNENTRY  [LAMBDA (INDEX FN NARGS NEXTRA)                            (* lmm " 7-Jun-85 14:08")    (SETQ INDEX (\ADDBASE (\ADDBASE \UFNTable INDEX)			  INDEX))    (change (fetch (UFNENTRY FNINDEX) of INDEX)	    (\ATOMDEFINDEX FN))    (change (fetch (UFNENTRY NEXTRA) of INDEX)	    NEXTRA)    (change (fetch (UFNENTRY NARGS) of INDEX)	    NARGS])(\GETUFNENTRY  [LAMBDA (OP)                                               (* hdj "17-Jun-85 13:08")    (LET [(INDEX (\ADDBASE2 \UFNTable (if (LITATOM OP)					  then (fetch (OPCODE OP#) of (\FINDOP OP))					else OP]         (\VAG2 0 (fetch (UFNENTRY FNINDEX) of INDEX]))(DEFINEQ(\UNKNOWN.UFN  [LAMBDA NIL                                                (* bvm: "23-Mar-84 15:52")    (\MP.ERROR \MP.UNKNOWN.UFN "Compiler/microcode error: unknown UFN"]))(DECLARE: DONTCOPY [DECLARE: EVAL@COMPILE (BLOCKRECORD UFNENTRY ((FNINDEX WORD)		       (NEXTRA BYTE)		       (NARGS BYTE)))](ADDTOVAR INEWCOMS (FNS INITUFNTABLE \SETUFNENTRY))EVAL@COMPILE (ADDTOVAR DONTCOMPILEFNS INITUFNTABLE))(* for MAKEINIT and READSYS)(DECLARE: DONTCOPY (ADDTOVAR INEWCOMS (FNS DCODERD)		   [VARS \OPCODES (CODERDTBL (COPYREADTABLE (QUOTE ORIG]		   (P (SETSYNTAX (CHARCODE ^Y)				 [QUOTE (MACRO (LAMBDA (FILE RDTBL)						       (EVALFORMAKEINIT (READ FILE RDTBL]				 CODERDTBL)))(ADDTOVAR MKI.SUBFNS (\CODEARRAY . SCRATCHARRAY)		     (DPUTCODE . I.PUTDEFN)		     (CODERDTBL . I.CODERDTBL))(ADDTOVAR EXPANDMACROFNS CODELT CODELT2 CODESETA CODESETA2 DPUTCODE MCODEP)(ADDTOVAR RD.SUBFNS (CODELT . VGETBASEBYTE)		    (CODESETA . VPUTBASEBYTE)))(PUTPROPS LLCODE COPYRIGHT ("Xerox Corporation" 1981 1982 1983 1984 1985))(DECLARE: DONTCOPY  (FILEMAP (NIL (2335 9924 (DCODERD 2345 . 8258) (DCODESKIP 8260 . 9043) (\RENAMEDFN 9045 . 9713) (\REALNAMEP 9715 . 9922)) (10577 11312 (EQDEFP 10587 . 11310)) (11335 12272 (\FINDOP 11345 . 12270)) (22106 23783 (INITUFNTABLE 22116 . 23042) (\SETUFNENTRY 23044 . 23458) (\GETUFNENTRY 23460 . 23781)) (23784 23982 (\UNKNOWN.UFN 23794 . 23980)))))STOP