1
0
mirror of synced 2026-01-20 18:17:21 +00:00
Interlisp.medley/docs/internal/OPCODESURVEY.TEDIT

8 lines
12 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Date: 24 Jun 86 14:36 PDT
From: Masinter.pa
Subject: Opcode survey
To: Pedersen.pa
cc: xclispcore^
edits are in bold. We should meet to review what's in microcode and what the priority list should be. I suggest we do this at the end of the Common Lisp status meeting... does anyone have any objection to discussing it then?
OPCODES IMPLEMENTED IN MICROCODE BY MACHINE
Jan Pedersen
Key: '09 = 12K Dandetiger
'08 = 4K Dandelion
'00 = Dolphin
'32 = Dorado (as reported by Gwan)
'32L = Dorado (as reported by Larry)
'86-4 = 4K Daybreak
'86-8 = 8K Daybreak
X = Has microcode
P = Prolog microcode set
- = Doesn't have microcode
? = Don't know
Opcodes listed by entry in UFN table
op '09 '08 '00 '32ÿÿ ÿ'ÿÿ32Lÿ '86-4 '86-8 Name
000 - - - - - - - -X- *nobody implements: causes an error!*
001 X X X X X X X CAR
002 X X X X X X X CDR
003 X X X X X X X LISTP
004 X X X X X X X NTYPX
005 X X X X X X X TYPEP
006 X X X X X X X DTEST {new COERCE}
007 - - - - - - - CDDR {unused}
010 X X X X X X X FN0
... X X X X X X X ...
015 X X X X X X X FNX
016 X X X X X X X APPLYFN
017 - - - - X - - CHECKAPPLY{?} [not 86-8? ]
020 X X X X X X X RETURN
021 X X X X X X X BIND
022 X X X X X X X UNBIND
023 X X X X X X X DUNBIND
024 X X X X X X X RPLPTR.N
025 X X X X X X X GCREF
026 X - - - - - - ASSOC [08 but not 86-8?]
027 X X X X X X X GVAR¬
030 X - X X X X X RPLACA
031 X - X X X X X RPLACD [which cases?]
032 X X X X X X X CONS
033 - - - - - - - {used for GETPROP}
034 X - - - - - - FMEMB
035 - - - - - - - {used for GETHASH}
036 - - - - - - - {unused, named PUTHASH}
037 X - X X X X X CREATECELL
040 X - X X X X X BIN
041 - - - - - - - BOUT {unused}
042 P - - - - - - {Prolog}OPFETCHPLUSOPDISP
043 - - - - - - - {unused, named LIST1}
044 - - - - - - - DOCOLLECT {unused}
045 - - - - - - - ENDCOLLECT {unused}
046 X - X - - X X RPLCONS
047 X - - - - - - LISTGET
050 - - - - - - - ELT
051 - - - - - - - NTHCHC
052 - - - - - - - SETA
053 - - - - - - - RPLCHARCODE {unused}
054 X X X X X X X EVAL
055 - - - - - - - {used for EVALV}
056 X X - - X X X TYPECHECK {unused}
057 X X X ? X X X STKSCAN
060 X - - - - - - BUSBLT
061 X - - - - - - MISC8{IBLT1 and IBLT2}
062 X - - - - - - POLY {Poly; Mat. Multiply}
063 X X - - X X X TYPEMASK.N
064 P - - - - - - {Prolog}PROLOGREADPTR
065 P - - - - - - {Prolog}PROLOGREADTAG
066 P - - - - - - {Prolog}PROLOGWRITETAGPTR
067 P - - - - - - {Prolog}PROLOGWRITE0PTR
070 X - - - - - - PSEUDOCOLOR
071 - - - - - X X DOVEMISC
072 X X - - X - X EQL
073 X - - - - - X DRAWLINE
074 X X ? ? X X X STOREN
075 X X - - X X X COPYN
076 X X X X - X X RAID
077 - - - - - - - {unused}RETURN FOR LLBREAK
100 X X X X X X X IVAR0
... X X X X X X X ...
107 X X X X X X X IVARX
110 X X X X X X X PVAR0
... X X X X X X X ...
117 X X X X X X X PVARX
120 X X X X X X X FVAR0
... X X X X X X X ...
127 X X X X X X X FVARX
130 X X X X X X X PVAR0¬
... X X X X X X X ...
137 X X X X X X X PVARX¬
140 X X X X X X X GVAR
141 X X - - X X X ARG0
142 X X X X X X X IVARX¬
143 X X X X X X X FVARX¬
144 X X X X X X X COPY
145 - - - X X - - MYARGCOUNT {used}
146 X X X X X X X MYALINK
147 X X X X X X X ACONST
150 X X X X X X X 'NIL
151 X X X X X X X 'T
152 X X X X X X X '0
153 X X X X X X X '1
154 X X X X X X X SIC
155 X X X X X X X SNIC
156 X X X X X X X SICX
157 X X X X X X X GCONST
160 X X X X X X X ATOMNUMBER (used?)
161 X X X X X X X READFLAGS
162 X X X X X X X READRP
163 X X X ? - X X WRITEMAP
164 X - X ? X - - READPRINTERPORT
165 X - X ? X - - WRITEPRINTERPORT
166 X X X X X X X PILOTBITBLT
167 X X X X X X X RCLK
170 X X X X X X X MISC1
171 X X X X - X X MISC2
172 X X X X - X X RECLAIMCELL
173 X X X X X X X GCSCAN1
174 X X X X X X X GCSCAN2
175 X X X X X X X SUBRCALL {used on 08 86?}
176 X X X X X X X CONTEXT
177 - - ? - - - - {unused}AUDIO
200 X X X X X X X JUMP00
... X X X X X X X ...
207 X X X X X X X JUMP07
210 X X X X X X X JUMP10
... X X X X X X X ....
217 X X X X X X X JUMP17
220 X X X X X X X FJUMP00
... X X X X X X X ...
227 X X X X X X X FJUMP07
230 X X X X X X X FJUMP10¬
... X X X X X X X ...
237 X X X X X X X FJUMP17¬
240 X X X X X X X TJUMP00
... X X X X X X X ...
247 X X X X X X X TJUMP07
250 X X X X X X X TJUMP10
... X X X X X X X ...
257 X X X X X X X TJUMP17
260 X X X X X X X JUMPX
261 X X X X X X X JUMPXX
262 X X X X X X X FJUMPX
263 X X X X X X X TJUMPX
264 X X X X X X X NFJUMPX
265 X X X X X X X NTJUMPX
266 X - - - - - - ARRAYINDEX1
267 X - - - - - - ARRAYINDEX2
270 X X X X X X X PVAR0¬
... X X X X X X X ...
276 X X X X X X X PVAR6¬
277 X X X X X X X POP
300 X X - - - X X POP.N
301 X X - - - X X ATOMCELL.N
302 X X X X X X X GETBASEBYTE
303 - - - - - - - {unused}
304 X X X X X X X BLT
305 X - - - - - - PIXELBLT
306 - - - - - - - {unused}
307 X X X X X X X PUTBASEBYTE
310 X X X X X X X GETBASE.N
311 X X X X X X X GETBASEPTR.N
312 X X X X X X X GETBITS.N.FD
313 - - - - - - - {used for GETBASEFIXP}
314 - - - - - - - {used for PUTBASEFIXP}
315 X X X X X X X PUTBASE.N
316 X X X X X X X PUTBASEPTR.N
317 X X X X X X X PUTBITS.N.FD
320 X X X X X X X ADDBASE
321 X X X X X X X VAG2
322 X X X X X X X HILOC
323 X X X X X X X LOLOC
324 X X X X X X X PLUS2{see notes}
325 X X X X X X X DIFFERENCE{see notes}
326 X X X X X X X TIMES2{see notes}
327 X X X X X X X QUOTIENT{see notes}
330 X X X X X X X IPLUS2{see notes}
331 X X X X X X X IDIFFERENCE{see notes}
332 X X X X X X X ITIMES2{see notes}
333 X X X X X X X IQUOTIENT{see notes}
334 X X X X X X X IREMAINDER{see notes}
335 - - - - - X X {unused}{IPLUS.N}
336 - - - - - X X {unused}{IDIFFERENCE.N}
337 - - - - - - - {unused}
340 X X X X X X X LLSH1{see notes}
341 X X X X X X X LLSH8{see notes}
342 X X X X X X X LRSH1{see notes}
343 X X X X X X X LRSH8{see notes}
344 X X X X X X X LOGOR2{see notes}
345 X X X X X X X LOGAND2{see notes}
346 X X X X X X X LOGXOR2{see notes}
347 - - - - - - - {unused}{new ALSH}
350 X - X X X - X FPLUS2
351 X - X X X - X FDIFFERENCE
352 X - X X X - X FTIMES2
353 X - X X X - X FQUOTIENT
354 X - - - - - - UBFLOAT2 {UFADD, UFSUB,
UFISUB, UFMULT, UFDIV,
UGREAT, UMAX, UMIN, UREM}
355 X - - - X - - UBFLOAT1 {UTOB, BTOU, UABS,
UNEG, UFIX}
356 X - - - - - - ARRAYREAD{GENERAL,UNBOXED}
357 X - - - - - - ARRAYWRITE{GENERAL,UNBOXED}
360 X X X X X X X EQ
361 X X X X X X X IGREATERP
362 X - X X X - X FGREATERP
363 X X X X X X X GREATERP
364 X X ? ? X - X EQUAL
365 X - X X X - X MAKENUMBER
366 X - X X X - - BOXIPLUS
367 X - X X X - - BOXIDIFFERENCE
370 - - - - - - - MISC5
371 X - - - - - - FFTSTEP
372 X - - - - - - MISC3
{Floating Point Array ops:
EXP, MAG, FLOAT, COMPLEX,
BLKMAX, BLKMIN, BLKABSMAX,
BLKABSMIN, FLOATTOBYTE}
373 X - - - - - - MISC4
{Floating Point Array ops:
TIMES, PERM, PLUS,
DIFFERENCE, MAGIC,
BITMAPBIT}
374 - - ? - X - - {reserved for DOLPHIN}
375 X X X X X X X SWAP
376 X X X X X X X NOP
377 - - - - - - - {unused}
notes:
4K microcode:
PLUS2, DIFFERENCE, TIMES2, QUOTIENT will ufn if args not INTEGERS
IPLUS2, IDIFFERENCE will accept FIXP's as arguments, but will ufn if result is not a smallp or smallneg
ITIMES2, IQUOTIENT, IREMAINDER will ufn if both args are not smallp
12K microcode:
PLUS2, DIFFERENCE, TIMES2, QUOTIENT will try floating point if args not INTEGERS
IPLUS2, IDIFFERENCE will accept FIXP's as arguments, and box the result if it is not a smallp or smallneg
ITIMES2, IQUOTIENT, IREMAINDER will ufn if both args are not smallp
End of messageCø$Hl<00>´Ø8(
TIMESROMAN
GACHA
?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8))

TIMESROMAN
á-$&% 8% !

* ,(%&')-((,*-"#, #($&$)%'($*####$%%%*"./.!#"# #)CiERkE,Tzº