Initial revision
authorChris Hanson <org/chris-hanson/cph>
Tue, 13 Jan 1987 18:18:08 +0000 (18:18 +0000)
committerChris Hanson <org/chris-hanson/cph>
Tue, 13 Jan 1987 18:18:08 +0000 (18:18 +0000)
v7/src/microcode/utabmd.scm [new file with mode: 0644]
v8/src/microcode/utabmd.scm [new file with mode: 0644]

diff --git a/v7/src/microcode/utabmd.scm b/v7/src/microcode/utabmd.scm
new file mode 100644 (file)
index 0000000..c0b011d
--- /dev/null
@@ -0,0 +1,833 @@
+;;; -*-Scheme-*-
+;;;
+;;;    Copyright (c) 1987 Massachusetts Institute of Technology
+;;;
+;;;    This material was developed by the Scheme project at the
+;;;    Massachusetts Institute of Technology, Department of
+;;;    Electrical Engineering and Computer Science.  Permission to
+;;;    copy this software, to redistribute it, and to use it for any
+;;;    purpose is granted, subject to the following restrictions and
+;;;    understandings.
+;;;
+;;;    1. Any copy made of this software must include this copyright
+;;;    notice in full.
+;;;
+;;;    2. Users of this software agree to make their best efforts (a)
+;;;    to return to the MIT Scheme project any improvements or
+;;;    extensions that they make, so that these may be included in
+;;;    future releases; and (b) to inform MIT of noteworthy uses of
+;;;    this software.
+;;;
+;;;    3. All materials developed as a consequence of the use of this
+;;;    software shall duly acknowledge such use, in accordance with
+;;;    the usual standards of acknowledging credit in academic
+;;;    research.
+;;;
+;;;    4. MIT has made no warrantee or representation that the
+;;;    operation of this software will be error-free, and MIT is
+;;;    under no obligation to provide any services, by way of
+;;;    maintenance, update, or otherwise.
+;;;
+;;;    5. In conjunction with products arising from the use of this
+;;;    material, there shall be no use of the name of the
+;;;    Massachusetts Institute of Technology nor of any adaptation
+;;;    thereof in any advertising, promotional, or sales literature
+;;;    without prior written consent from MIT in each case.
+;;;
+
+;;;; Machine Dependent Type Tables
+
+(declare (usual-integrations))
+
+;;; For quick access to any given table,
+;;; search for the following strings:
+;;;
+;;; [] Fixed
+;;; [] Types
+;;; [] Returns
+;;; [] Primitives
+;;; [] External
+;;; [] Errors
+\f
+;;; [] Fixed
+
+(vector-set! (get-fixed-objects-vector)
+            #x23 ;(fixed-objects-vector-slot 'MICROCODE-TABLE-IDENTIFICATION)
+            "$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/utabmd.scm,v 1.1 1987/01/13 18:18:08 cph Exp $")
+
+(vector-set! (get-fixed-objects-vector)
+            #x0F ;(fixed-objects-vector-slot 'MICROCODE-FIXED-OBJECTS-SLOTS)
+            #(NON-OBJECT                               ;00
+              SYSTEM-INTERRUPT-VECTOR                  ;01
+              SYSTEM-ERROR-VECTOR                      ;02
+              OBARRAY                                  ;03
+              MICROCODE-TYPES-VECTOR                   ;04
+              MICROCODE-RETURNS-VECTOR                 ;05
+              MICROCODE-PRIMITIVES-VECTOR              ;06
+              MICROCODE-ERRORS-VECTOR                  ;07
+              HASH-NUMBER                              ;08
+              HASH-TABLE                               ;09
+              UNHASH-TABLE                             ;0A
+              GC-DAEMON                                ;0B
+              TRAP-HANDLER                             ;0C
+              OPEN-FILES                               ;0D
+              STEPPER-STATE                            ;0E
+              MICROCODE-FIXED-OBJECTS-SLOTS            ;0F
+              MICROCODE-EXTERNAL-PRIMITIVES            ;10
+              STATE-SPACE-TAG                          ;11
+              STATE-POINT-TAG                          ;12
+              DUMMY-HISTORY                            ;13
+               BIGNUM-ONE                              ;14
+              SCHEDULER                                ;15
+              MICROCODE-TERMINATIONS-VECTOR            ;16
+              MICROCODE-TERMINATIONS-PROCEDURES        ;17
+              FIXED-OBJECTS-VECTOR                     ;18
+              THE-WORK-QUEUE                           ;19
+              FUTURE-READS-LOGGER                      ;1A
+              TOUCHED-FUTURES-VECTOR                   ;1B
+              PRECIOUS-OBJECTS                         ;1C
+              ERROR-PROCEDURE                          ;1D
+              UNSNAPPED-LINK                           ;1E
+              MICROCODE-UTILITIES-VECTOR               ;1F
+              COMPILER-ERROR-PROCEDURE                 ;20
+              LOST-OBJECT-BASE                         ;21
+              STATE-SPACE-ROOT                         ;22
+              MICROCODE-TABLE-IDENTIFICATION           ;23
+              ))
+\f
+;;; [] Types
+
+(vector-set! (get-fixed-objects-vector)
+            4 ;(fixed-objects-vector-slot 'MICROCODE-TYPES-VECTOR)
+            #((NULL FALSE MANIFEST-VECTOR GLOBAL-ENVIRONMENT) ;00
+              (PAIR LIST)                              ;01
+              CHARACTER                                ;02
+              QUOTATION                                ;03
+              PRIMITIVE-COMBINATION-2                  ;04
+              UNINTERNED-SYMBOL                        ;05
+              (FLONUM BIG-FLONUM)                      ;06
+              COMBINATION-1                            ;07
+              TRUE                                     ;08
+              EXTENDED-PROCEDURE                       ;09             
+              VECTOR                                   ;0A
+              RETURN-ADDRESS                           ;0B
+              COMBINATION-2                            ;0C
+              COMPILED-PROCEDURE                       ;0D
+              (BIGNUM BIG-FIXNUM)                      ;0E
+              PROCEDURE                                ;0F
+              PRIMITIVE-EXTERNAL                       ;10
+              DELAY                                    ;11
+              ENVIRONMENT                              ;12
+              DELAYED                                  ;13
+              EXTENDED-LAMBDA                          ;14
+              COMMENT                                  ;15
+              NON-MARKED-VECTOR                        ;16
+              LAMBDA                                   ;17
+              PRIMITIVE                                ;18
+              SEQUENCE-2                               ;19
+              (FIXNUM ADDRESS)                         ;1A
+              PRIMITIVE-COMBINATION-1                  ;1B
+              CONTROL-POINT                            ;1C
+              INTERNED-SYMBOL                          ;1D
+              (STRING CHARACTER-STRING VECTOR-8B)      ;1E
+              ACCESS                                   ;1F
+              EXTENDED-FIXNUM                          ;20
+              DEFINITION                               ;21
+              BROKEN-HEART                             ;22
+              ASSIGNMENT                               ;23
+              (TRIPLE HUNK3)                           ;24
+              IN-PACKAGE                               ;25
+              COMBINATION                              ;26
+              MANIFEST-NM-VECTOR                       ;27
+              COMPILED-EXPRESSION                      ;28
+              LEXPR                                    ;29
+              PRIMITIVE-COMBINATION-3                  ;2A
+              MANIFEST-SPECIAL-NM-VECTOR               ;2B
+              VARIABLE                                 ;2C
+              THE-ENVIRONMENT                          ;2D
+              FUTURE                                   ;2E
+              VECTOR-1B                                ;2F
+              PRIMITIVE-COMBINATION-0                  ;30
+              VECTOR-16B                               ;31
+              UNASSIGNED                               ;32
+              SEQUENCE-3                               ;33
+              CONDITIONAL                              ;34
+              DISJUNCTION                              ;35
+              CELL                                     ;36
+              WEAK-CONS                                ;37
+              TRAP                                     ;38
+              COMPILER-RETURN-ADDRESS                  ;39
+              COMPILER-LINK                            ;3A
+              STACK-ENVIRONMENT                        ;3B
+              COMPLEX                                  ;3C
+              #F                                       ;3D
+              #F                                       ;3E
+              #F                                       ;3F
+              #F                                       ;40
+              #F                                       ;41
+              #F                                       ;42
+              #F                                       ;43
+              #F                                       ;44
+              #F                                       ;45
+              #F                                       ;46
+              #F                                       ;47
+              #F       ;48 reserved for PEA instruction on 68000
+              #F                                       ;49
+              #F                                       ;4A
+              #F                                       ;4B
+              #F                                       ;4C
+              #F                                       ;4D
+              #F       ;4E reserved for JMP/JSR instruction on 68000
+              #F                                       ;4F
+              #F                                       ;50
+              #F       ;51 reserved for DBF instruction on 68000
+              #F                                       ;52
+              #F                                       ;53
+              #F                                       ;54
+              #F                                       ;55
+              #F                                       ;56
+              #F                                       ;57
+              #F                                       ;58
+              #F                                       ;59
+              #F                                       ;5A
+              #F                                       ;5B
+              #F                                       ;5C
+              #F                                       ;5D
+              #F                                       ;5E
+              #F                                       ;5F
+              #F                                       ;60
+              #F                                       ;61
+              #F                                       ;62
+              #F                                       ;63
+              #F                                       ;64
+              #F                                       ;65
+              #F                                       ;66
+              #F                                       ;67
+              #F                                       ;68
+              #F                                       ;69
+              #F                                       ;6A
+              #F                                       ;6B
+              #F                                       ;6C
+              #F                                       ;6D
+              #F                                       ;6E
+              #F                                       ;6F
+              #F                                       ;70
+              #F                                       ;71
+              #F                                       ;72
+              #F                                       ;73
+              #F                                       ;74
+              #F                                       ;75
+              #F                                       ;76
+              #F                                       ;77
+              #F                                       ;78
+              #F                                       ;79
+              #F                                       ;7A
+              #F                                       ;7B
+              #F                                       ;7C
+              #F                                       ;7D
+              #F                                       ;7E
+              #F                                       ;7F
+              ))
+\f
+;;; [] Return
+
+(vector-set! (get-fixed-objects-vector)
+            5 ;(fixed-objects-vector-slot 'MICROCODE-RETURNS-VECTOR)
+            #(NON-EXISTENT-CONTINUATION                ;00
+              JOIN-STACKLETS                           ;01
+              RESTORE-CONTINUATION                     ;02
+              INTERNAL-APPLY                           ;03
+              BAD-INTERRUPT-CONTINUE                   ;04
+              RESTORE-HISTORY                          ;05
+              INVOKE-STACK-THREAD                      ;06
+              RESTART-EXECUTION                        ;07
+              ASSIGNMENT-CONTINUE                      ;08
+              DEFINITION-CONTINUE                      ;09
+              ACCESS-CONTINUE                          ;0A
+              IN-PACKAGE-CONTINUE                      ;0B
+              SEQUENCE-2-SECOND                        ;0C
+              SEQUENCE-3-SECOND                        ;0D
+              SEQUENCE-3-THIRD                         ;0E
+              CONDITIONAL-DECIDE                       ;0F
+              DISJUNCTION-DECIDE                       ;10
+              COMBINATION-1-PROCEDURE                  ;11
+              COMBINATION-APPLY                        ;12
+              COMBINATION-2-FIRST-OPERAND              ;13
+              COMBINATION-2-PROCEDURE                  ;14
+              COMBINATION-SAVE-VALUE                   ;15
+              PRIMITIVE-COMBINATION-1-APPLY            ;16
+              PRIMITIVE-COMBINATION-2-FIRST-OPERAND    ;17
+              PRIMITIVE-COMBINATION-2-APPLY            ;18
+              PRIMITIVE-COMBINATION-3-SECOND-OPERAND   ;19
+              PRIMITIVE-COMBINATION-3-FIRST-OPERAND    ;1A
+              PRIMITIVE-COMBINATION-3-APPLY            ;1B
+              FORCE-SNAP-THUNK                         ;1C
+              REENTER-COMPILED-CODE                    ;1D
+              #F                                       ;1E
+              COMPILER-REFERENCE-RESTART               ;1F
+              NORMAL-GARBAGE-COLLECT-DONE              ;20
+              COMPLETE-GARBAGE-COLLECT-DONE            ;21
+              PURIFY-AFTER-FIRST-GC                    ;22
+              PURIFY-AFTER-SECOND-GC                   ;23
+              AFTER-MEMORY-UPDATE                      ;24
+              RETRY-MICROCODE-TERMINATION-RESTARTABLE  ;25
+              #F                                       ;26
+              #F                                       ;27
+              COMPILER-ASSIGNMENT-RESTART              ;28
+              POP-FROM-COMPILED-CODE                   ;29
+              RETURN-TRAP-POINT                        ;2A
+              RESTORE-STEPPER                          ;2B
+              RESTORE-TO-STATE-POINT                   ;2C
+              MOVE-TO-ADJACENT-POINT                   ;2D
+              RESTORE-VALUE                            ;2E
+              RESTORE-DONT-COPY-HISTORY                ;2F
+              #F                                       ;30
+              #F                                       ;31
+              #F                                       ;32
+              #F                                       ;33
+              #F                                       ;34
+              #F                                       ;35
+              #F                                       ;36
+              #F                                       ;37
+              #F                                       ;38
+              #F                                       ;39
+              #F                                       ;3A
+              #F                                       ;3B
+              #F                                       ;3C
+              #F                                       ;3D
+              #F                                       ;3E
+              #F                                       ;3F
+              POP-RETURN-ERROR                         ;40
+              EVAL-ERROR                               ;41
+              REPEAT-PRIMITIVE                         ;42
+              COMPILER-INTERRUPT-RESTART               ;43
+              #F                                       ;44
+              RESTORE-INTERRUPT-MASK                   ;45
+              HALT                                     ;46
+              FINISH-GLOBAL-INTERRUPT                  ;47
+              REPEAT-DISPATCH                          ;48
+              GC-CHECK                                 ;49
+              RESTORE-FLUIDS                           ;4A
+              COMPILER-LOOKUP-APPLY-RESTART            ;4B
+              COMPILER-ACCESS-RESTART                  ;4C
+              COMPILER-UNASSIGNED?-RESTART             ;4D
+              COMPILER-UNBOUND?-RESTART                ;4E
+              COMPILER-DEFINITION-RESTART              ;4F
+              COMPILER-LEXPR-INTERRUPT-RESTART         ;50
+              ))
+\f
+;;; [] Primitives
+
+(vector-set! (get-fixed-objects-vector)
+            6 ;(fixed-objects-vector-slot 'MICROCODE-PRIMITIVES-VECTOR)
+            #(LEXICAL-ASSIGNMENT                       ;$00
+              LOCAL-REFERENCE                          ;$01
+              LOCAL-ASSIGNMENT                         ;$02
+              CALL-WITH-CURRENT-CONTINUATION           ;$03
+              SCODE-EVAL                               ;$04
+              APPLY                                    ;$05
+              SET-INTERRUPT-ENABLES!                   ;$06
+              STRING->SYMBOL                           ;$07
+              GET-WORK                                 ;$08
+              NON-REENTRANT-CALL-WITH-CURRENT-CONTINUATION     ;$09
+              CURRENT-DYNAMIC-STATE                    ;$0A
+              SET-CURRENT-DYNAMIC-STATE!               ;$0B
+              (NULL? NOT FALSE?)                       ;$0C
+              EQ?                                      ;$0D
+              STRING-EQUAL?                            ;$0E
+              PRIMITIVE-TYPE?                          ;$0F
+              PRIMITIVE-TYPE                           ;$10
+              PRIMITIVE-SET-TYPE                       ;$11
+              LEXICAL-REFERENCE                        ;$12
+              LEXICAL-UNREFERENCEABLE?                 ;$13
+              MAKE-CHAR                                ;$14
+              CHAR-BITS                                ;$15
+              EXIT                                     ;$16
+              CHAR-CODE                                ;$17
+              LEXICAL-UNASSIGNED?                      ;$18
+              INSERT-NON-MARKED-VECTOR!                ;$19
+              HALT                                     ;$1A
+              CHAR->INTEGER                            ;$1B
+              MEMQ                                     ;$1C
+              INSERT-STRING                            ;$1D
+              ENABLE-INTERRUPTS!                       ;$1E
+              MAKE-EMPTY-STRING                        ;$1F
+              CONS                                     ;$20
+              (CAR FIRST)                              ;$21
+              (CDR FIRST-TAIL)                         ;$22
+              (SET-CAR! SET-FIRST!)                    ;$23
+              (SET-CDR! SET-FIRST-TAIL!)               ;$24
+              PRINT-STRING                             ;$25
+              TTY-GET-CURSOR                           ;$26
+              GENERAL-CAR-CDR                          ;$27
+              HUNK3-CONS                               ;$28
+              HUNK3-CXR                                ;$29
+              HUNK3-SET-CXR!                           ;$2A
+              INSERT-STRING!                           ;$2B
+              VECTOR-CONS                              ;$2C
+              (VECTOR-LENGTH VECTOR-SIZE)              ;$2D
+              VECTOR-REF                               ;$2E
+              SET-CURRENT-HISTORY!                     ;$2F
+              VECTOR-SET!                              ;$30
+              NON-MARKED-VECTOR-CONS                   ;$31
+              GET-CHARACTER-FROM-INPUT-CHANNEL         ;$32
+              LEXICAL-UNBOUND?                         ;$33
+              INTEGER->CHAR                            ;$34
+              CHAR-DOWNCASE                            ;$35
+              CHAR-UPCASE                              ;$36
+              ASCII->CHAR                              ;$37
+              CHAR-ASCII?                              ;$38
+              CHAR->ASCII                              ;$39
+              GARBAGE-COLLECT                          ;$3A
+              PLUS-FIXNUM                              ;$3B
+              MINUS-FIXNUM                             ;$3C
+              MULTIPLY-FIXNUM                          ;$3D
+              DIVIDE-FIXNUM                            ;$3E
+              EQUAL-FIXNUM?                            ;$3F
+              LESS-THAN-FIXNUM?                        ;$40
+              POSITIVE-FIXNUM?                         ;$41
+              ONE-PLUS-FIXNUM                          ;$42
+              MINUS-ONE-PLUS-FIXNUM                    ;$43
+              TRUNCATE-STRING!                         ;$44
+              SUBSTRING                                ;$45
+              ZERO-FIXNUM?                             ;$46
+              MAKE-OBJECT-SAFE                         ;$47
+              MAKE-OBJECT-DANGEROUS                    ;$48
+              OBJECT-DANGEROUS?                        ;$49
+              SUBSTRING->LIST                          ;$4A
+              MAKE-FILLED-STRING                       ;$4B
+              PLUS-BIGNUM                              ;$4C
+              MINUS-BIGNUM                             ;$4D
+              MULTIPLY-BIGNUM                          ;$4E
+              DIVIDE-BIGNUM                            ;$4F
+              LISTIFY-BIGNUM                           ;$50
+              EQUAL-BIGNUM?                            ;$51
+              LESS-THAN-BIGNUM?                        ;$52
+              POSITIVE-BIGNUM?                         ;$53
+              FILE-OPEN-CHANNEL                        ;$54
+              FILE-CLOSE-CHANNEL                       ;$55
+              PRIMITIVE-FASDUMP                        ;$56
+              BINARY-FASLOAD                           ;$57
+              STRING-POSITION                          ;$58
+              STRING-LESS?                             ;$59
+              OBJECT-HASH                              ;$5A
+              OBJECT-UNHASH                            ;$5B
+              REHASH-GC-DAEMON                         ;$5C
+              LENGTH                                   ;$5D
+              ASSQ                                     ;$5E
+              LIST->STRING                             ;$5F
+              EQUAL-STRING-TO-LIST?                    ;$60
+              MAKE-CELL                                ;$61
+              CELL-CONTENTS                            ;$62
+              CELL?                                    ;$63
+              CHARACTER-UPCASE                         ;$64
+              CHARACTER-LIST-HASH                      ;$65
+              GCD-FIXNUM                               ;$66
+              COERCE-FIXNUM-TO-BIGNUM                  ;$67
+              COERCE-BIGNUM-TO-FIXNUM                  ;$68
+              PLUS-FLONUM                              ;$69
+              MINUS-FLONUM                             ;$6A
+              MULTIPLY-FLONUM                          ;$6B
+              DIVIDE-FLONUM                            ;$6C
+              EQUAL-FLONUM?                            ;$6D
+              LESS-THAN-FLONUM?                        ;$6E
+              ZERO-BIGNUM?                             ;$6F
+              TRUNCATE-FLONUM                          ;$70
+              ROUND-FLONUM                             ;$71
+              COERCE-INTEGER-TO-FLONUM                 ;$72
+              SINE-FLONUM                              ;$73
+              COSINE-FLONUM                            ;$74
+              ARCTAN-FLONUM                            ;$75
+              EXP-FLONUM                               ;$76
+              LN-FLONUM                                ;$77
+              SQRT-FLONUM                              ;$78
+              PRIMITIVE-FASLOAD                        ;$79
+              GET-FIXED-OBJECTS-VECTOR                 ;$7A
+              SET-FIXED-OBJECTS-VECTOR!                ;$7B
+              LIST->VECTOR                             ;$7C
+              SUBVECTOR->LIST                          ;$7D
+              PAIR?                                    ;$7E
+              NEGATIVE-FIXNUM?                         ;$7F
+              NEGATIVE-BIGNUM?                         ;$80
+              GREATER-THAN-FIXNUM?                     ;$81
+              GREATER-THAN-BIGNUM?                     ;$82
+              STRING-HASH                              ;$83
+              SYSTEM-PAIR-CONS                         ;$84
+              SYSTEM-PAIR?                             ;$85
+              SYSTEM-PAIR-CAR                          ;$86
+              SYSTEM-PAIR-CDR                          ;$87
+              SYSTEM-PAIR-SET-CAR!                     ;$88
+              SYSTEM-PAIR-SET-CDR!                     ;$89
+              INITIALIZE-OBJECT-HASH                   ;$8A
+              GET-CHARACTER-FROM-INPUT-CHANNEL-IMMEDIATE ;$8B
+              SET-CELL-CONTENTS!                       ;$8C
+              &MAKE-OBJECT                             ;$8D
+              SYSTEM-HUNK3-CXR0                        ;$8E
+              SYSTEM-HUNK3-SET-CXR0!                   ;$8F
+              MAP-MACHINE-ADDRESS-TO-CODE              ;$90
+              SYSTEM-HUNK3-CXR1                        ;$91
+              SYSTEM-HUNK3-SET-CXR1!                   ;$92
+              MAP-CODE-TO-MACHINE-ADDRESS              ;$93
+              SYSTEM-HUNK3-CXR2                        ;$94
+              SYSTEM-HUNK3-SET-CXR2!                   ;$95
+              PRIMITIVE-PROCEDURE-ARITY                ;$96
+              SYSTEM-LIST-TO-VECTOR                    ;$97
+              SYSTEM-SUBVECTOR-TO-LIST                 ;$98
+              SYSTEM-VECTOR?                           ;$99
+              SYSTEM-VECTOR-REF                        ;$9A
+              SYSTEM-VECTOR-SET!                       ;$9B
+              WITH-HISTORY-DISABLED                    ;$9C
+              #F                                       ;$9D
+              #F                                       ;$9E
+              #F                                       ;$9F
+              #F                                       ;$A0
+              #F                                       ;$A1
+              #F                                       ;$A2
+              VECTOR-8B-CONS                           ;$A3
+              VECTOR-8B?                               ;$A4
+              VECTOR-8B-REF                            ;$A5
+              VECTOR-8B-SET!                           ;$A6
+              ZERO-FLONUM?                             ;$A7
+              POSITIVE-FLONUM?                         ;$A8
+              NEGATIVE-FLONUM?                         ;$A9
+              GREATER-THAN-FLONUM?                     ;$AA
+              INTERN-CHARACTER-LIST                    ;$AB
+              #F                                       ;$AC
+              (STRING-LENGTH STRING-SIZE VECTOR-8B-SIZE)       ;$AD
+              SYSTEM-VECTOR-SIZE                       ;$AE
+              FORCE                                    ;$AF
+              PRIMITIVE-DATUM                          ;$B0
+              MAKE-NON-POINTER-OBJECT                  ;$B1
+              DEBUGGING-PRINTER                        ;$B2
+              STRING-UPCASE                            ;$B3
+              PRIMITIVE-PURIFY                         ;$B4
+              #F                                       ;$B5
+              COMPLETE-GARBAGE-COLLECT                 ;$B6
+              DUMP-BAND                                ;$B7
+              SUBSTRING-SEARCH                         ;$B8
+              LOAD-BAND                                ;$B9
+              CONSTANT?                                ;$BA
+              PURE?                                    ;$BB
+              PRIMITIVE-GC-TYPE                        ;$BC
+              PRIMITIVE-IMPURIFY                       ;$BD
+              WITH-THREADED-CONTINUATION               ;$BE
+              WITHIN-CONTROL-POINT                     ;$BF
+              SET-RUN-LIGHT!                           ;$C0
+              FILE-EOF?                                ;$C1
+              FILE-READ-CHAR                           ;$C2
+              FILE-FILL-INPUT-BUFFER                   ;$C3
+              FILE-LENGTH                              ;$C4
+              FILE-WRITE-CHAR                          ;$C5
+              FILE-WRITE-STRING                        ;$C6
+              CLOSE-LOST-OPEN-FILES                    ;$C7
+              PUT-CHARACTER-TO-OUTPUT-CHANNEL          ;$C8
+              WITH-INTERRUPTS-REDUCED                  ;$C9
+              PRIMITIVE-EVAL-STEP                      ;$CA
+              PRIMITIVE-APPLY-STEP                     ;$CB
+              PRIMITIVE-RETURN-STEP                    ;$CC
+              TTY-READ-CHAR-READY?                     ;$CD
+              TTY-READ-CHAR                            ;$CE
+              TTY-READ-CHAR-IMMEDIATE                  ;$CF
+              TTY-READ-FINISH                          ;$D0
+              BIT-STRING-ALLOCATE                      ;$D1
+              MAKE-BIT-STRING                          ;$D2
+              BIT-STRING?                              ;$D3
+              BIT-STRING-LENGTH                        ;$D4
+              BIT-STRING-REF                           ;$D5
+              BIT-SUBSTRING-MOVE-RIGHT!                ;$D6
+              BIT-STRING-SET!                          ;$D7
+              BIT-STRING-CLEAR!                        ;$D8
+              BIT-STRING-ZERO?                         ;$D9
+              #F                                       ;$DA
+              #F                                       ;$DB
+              UNSIGNED-INTEGER->BIT-STRING             ;$DC
+              BIT-STRING->UNSIGNED-INTEGER             ;$DD
+              #F                                       ;$DE
+              READ-BITS!                               ;$DF
+              WRITE-BITS!                              ;$E0
+              MAKE-STATE-SPACE                         ;$E1
+              EXECUTE-AT-NEW-STATE-POINT               ;$E2
+              TRANSLATE-TO-STATE-POINT                 ;$E3
+              GET-NEXT-CONSTANT                        ;$E4
+              MICROCODE-IDENTIFY                       ;$E5
+              ZERO?                                    ;$E6
+              POSITIVE?                                ;$E7
+              NEGATIVE?                                ;$E8
+              &=                                       ;$E9
+              &<                                       ;$EA
+              &>                                       ;$EB
+              &+                                       ;$EC
+              &-                                       ;$ED
+              &*                                       ;$EE
+              &/                                       ;$EF
+              INTEGER-DIVIDE                           ;$F0
+              1+                                       ;$F1
+              -1+                                      ;$F2
+              TRUNCATE                                 ;$F3
+              ROUND                                    ;$F4
+              FLOOR                                    ;$F5
+              CEILING                                  ;$F6
+              SQRT                                     ;$F7
+              EXP                                      ;$F8
+              LOG                                      ;$F9
+              SIN                                      ;$FA
+              COS                                      ;$FB
+              &ATAN                                    ;$FC
+              TTY-WRITE-CHAR                           ;$FD
+              TTY-WRITE-STRING                         ;$FE
+               TTY-BEEP                                        ;$FF
+              TTY-CLEAR                                ;$100
+              GET-EXTERNAL-COUNTS                      ;$101
+              GET-EXTERNAL-NAME                        ;$102
+              GET-EXTERNAL-NUMBER                      ;$103
+              OPEN-CHANNEL                             ;$104
+              CLOSE-PHYSICAL-CHANNEL                   ;$105
+              GET-NEXT-INTERRUPT-CHARACTER             ;$106
+              CHECK-AND-CLEAN-UP-INPUT-CHANNEL         ;$107
+              #F                                       ;$108
+              SYSTEM-CLOCK                             ;$109
+              FILE-EXISTS?                             ;$10A
+              #F                                       ;$10B
+              TTY-MOVE-CURSOR                          ;$10C
+              #F                                       ;$10D
+              CURRENT-DATE                             ;$10E
+              CURRENT-TIME                             ;$10F
+              TRANSLATE-FILE                           ;$110
+              COPY-FILE                                ;$111
+              RENAME-FILE                              ;$112
+              REMOVE-FILE                              ;$113
+              LINK-FILE                                ;$114
+              MAKE-DIRECTORY                           ;$115
+              VOLUME-NAME                              ;$116
+              SET-WORKING-DIRECTORY-PATHNAME!          ;$117
+              OPEN-CATALOG                             ;$118
+              CLOSE-CATALOG                            ;$119
+              NEXT-FILE                                ;$11A
+              CAT-NAME                                 ;$11B
+              CAT-KIND                                 ;$11C
+              CAT-PSIZE                                ;$11D
+              CAT-LSIZE                                ;$11E
+              CAT-INFO                                 ;$11F
+              CAT-BLOCK                                ;$120
+              CAT-CREATE-DATE                          ;$121
+              CAT-CREATE-TIME                          ;$122
+              CAT-LAST-DATE                            ;$123
+              CAT-LAST-TIME                            ;$124
+              ERROR-MESSAGE                            ;$125
+              CURRENT-YEAR                             ;$126
+              CURRENT-MONTH                            ;$127
+              CURRENT-DAY                              ;$128
+              CURRENT-HOUR                             ;$129
+              CURRENT-MINUTE                           ;$12A
+              CURRENT-SECOND                           ;$12B
+              INIT-FLOPPY                              ;$12C
+              ZERO-FLOPPY                              ;$12D
+              PACK-VOLUME                              ;$12E
+              LOAD-PICTURE                             ;$12F
+              STORE-PICTURE                            ;$130
+              LOOKUP-SYSTEM-SYMBOL                     ;$131
+              #F                                       ;$132
+              #F                                       ;$133
+              CLEAR-TO-END-OF-LINE                     ;$134
+              #F                                       ;$135
+              #F                                       ;$136
+              WITH-INTERRUPT-MASK                      ;$137
+              STRING?                                  ;$138
+              STRING-LENGTH                            ;$139
+              STRING-REF                               ;$13A
+              STRING-SET!                              ;$13B
+              SUBSTRING-MOVE-RIGHT!                    ;$13C
+              SUBSTRING-MOVE-LEFT!                     ;$13D
+              STRING-ALLOCATE                          ;$13E
+              STRING-MAXIMUM-LENGTH                    ;$13F
+              SET-STRING-LENGTH!                       ;$140
+              VECTOR-8B-FILL!                          ;$141
+              VECTOR-8B-FIND-NEXT-CHAR                 ;$142
+              VECTOR-8B-FIND-PREVIOUS-CHAR             ;$143
+              VECTOR-8B-FIND-NEXT-CHAR-CI              ;$144
+              VECTOR-8B-FIND-PREVIOUS-CHAR-CI          ;$145
+              SUBSTRING-FIND-NEXT-CHAR-IN-SET          ;$146
+              SUBSTRING-FIND-PREVIOUS-CHAR-IN-SET      ;$147
+              SUBSTRING=?                              ;$148
+              SUBSTRING-CI=?                           ;$149
+              SUBSTRING<?                              ;$14A
+              SUBSTRING-UPCASE!                        ;$14B
+              SUBSTRING-DOWNCASE!                      ;$14C
+              SUBSTRING-MATCH-FORWARD                  ;$14D
+              SUBSTRING-MATCH-BACKWARD                 ;$14E
+              SUBSTRING-MATCH-FORWARD-CI               ;$14F
+              SUBSTRING-MATCH-BACKWARD-CI              ;$150
+              PHOTO-OPEN                               ;$151
+              PHOTO-CLOSE                              ;$152
+              SETUP-TIMER-INTERRUPT                    ;$153
+              #F                                       ;$154
+              #F                                       ;$155
+              #F                                       ;$156
+              #F                                       ;$157
+              #F                                       ;$158
+              #F                                       ;$159
+              #F                                       ;$15A
+              #F                                       ;$15B
+              #F                                       ;$15C
+              #F                                       ;$15D
+              #F                                       ;$15E
+              #F                                       ;$15F
+              #F                                       ;$160
+              EXTRACT-NON-MARKED-VECTOR                ;$161
+              UNSNAP-LINKS!                            ;$162
+              SAFE-PRIMITIVE?                          ;$163
+              SUBSTRING-READ                           ;$164
+              SUBSTRING-WRITE                          ;$165
+              SCREEN-X-SIZE                            ;$166
+              SCREEN-Y-SIZE                            ;$167
+              SCREEN-WRITE-CURSOR                      ;$168
+              SCREEN-WRITE-CHARACTER                   ;$169
+              SCREEN-WRITE-SUBSTRING                   ;$16A 
+              NEXT-FILE-MATCHING                       ;$16B
+              #F                                       ;$16C
+              TTY-WRITE-BYTE                           ;$16D
+              FILE-READ-BYTE                           ;$16E
+              FILE-WRITE-BYTE                          ;$16F
+              #F #| SAVE-SCREEN |#                     ;$170
+              #F #| RESTORE-SCREEN! |#                 ;$171
+              #F #| SUBSCREEN-CLEAR! |#                ;$172
+              #F #| &GCD |#                            ;$173
+              #F #| TTY-REDRAW-SCREEN |#               ;$174
+              #F #| SCREEN-INVERSE-VIDEO! |#           ;$175
+              STRING->SYNTAX-ENTRY                     ;$176
+              SCAN-WORD-FORWARD                        ;$177
+              SCAN-WORD-BACKWARD                       ;$178
+              SCAN-LIST-FORWARD                        ;$179
+              SCAN-LIST-BACKWARD                       ;$17A
+              SCAN-SEXPS-FORWARD                       ;$17B
+              SCAN-FORWARD-TO-WORD                     ;$17C
+              SCAN-BACKWARD-PREFIX-CHARS               ;$17D
+              CHAR->SYNTAX-CODE                        ;$17E
+              QUOTED-CHAR?                             ;$17F
+              MICROCODE-TABLES-FILENAME                ;$180
+              #F                                       ;$181
+              #F #| FIND-PASCAL-PROGRAM |#             ;$182
+              #F #| EXECUTE-PASCAL-PROGRAM |#          ;$183
+              #F #| GRAPHICS-MOVE |#                   ;$184
+              #F #| GRAPHICS-LINE |#                   ;$185
+              #F #| GRAPHICS-PIXEL |#                  ;$186
+              #F #| GRAPHICS-SET-DRAWING-MODE |#       ;$187
+              #F #| ALPHA-RASTER? |#                   ;$188
+              #F #| TOGGLE-ALPHA-RASTER |#             ;$189
+              #F #| GRAPHICS-RASTER? |#                ;$18A
+              #F #| TOGGLE-GRAPHICS-RASTER |#          ;$18B
+              #F #| GRAPHICS-CLEAR |#                  ;$18C
+              #F #| GRAPHICS-SET-LINE-STYLE |#         ;$18D
+              ERROR-PROCEDURE                          ;$18E
+              VOLUME-EXISTS?                           ;$18F
+              RE-CHAR-SET-ADJOIN!                      ;$190
+              RE-COMPILE-FASTMAP                       ;$191
+              RE-MATCH                                 ;$192
+              RE-SEARCH-FORWARD                        ;$193
+              RE-SEARCH-BACKWARD                       ;$194
+              SYSTEM-MEMORY-REF                        ;$195
+              SYSTEM-MEMORY-SET!                       ;$196
+              BIT-STRING-FILL!                         ;$197
+              BIT-STRING-MOVE!                         ;$198
+              BIT-STRING-MOVEC!                        ;$199
+              BIT-STRING-OR!                           ;$19A               
+              BIT-STRING-AND!                          ;$19B
+              BIT-STRING-ANDC!                         ;$19C
+              BIT-STRING=?                             ;$19D
+              WORKING-DIRECTORY-PATHNAME               ;$19E
+              OPEN-DIRECTORY                           ;$19F
+              DIRECTORY-READ                           ;$1A0
+              UNDER-EMACS?                             ;$1A1
+              TTY-FLUSH-OUTPUT                         ;$1A2
+              ))
+\f
+;;; [] External
+
+(vector-set! (get-fixed-objects-vector)
+            16 ;(fixed-objects-vector-slot 'MICROCODE-EXTERNAL-PRIMITIVES)
+            #())
+\f
+;;; [] Errors
+
+(vector-set! (get-fixed-objects-vector)
+            7  ;(fixed-objects-vector-slot 'MICROCODE-ERRORS-VECTOR)
+            #(BAD-ERROR-CODE                           ;00
+              UNBOUND-VARIABLE                         ;01
+              UNASSIGNED-VARIABLE                      ;02
+              UNDEFINED-PROCEDURE                      ;03
+              RAN-OUT-OF-HASH-NUMBERS                  ;04
+              #F                                       ;05
+              BAD-FRAME                                ;06
+              BROKEN-CVARIABLE                         ;07
+              UNDEFINED-USER-TYPE                      ;08
+              UNDEFINED-PRIMITIVE-OPERATION            ;09
+              EXTERNAL-RETURN                          ;0A
+              EXECUTE-MANIFEST-VECTOR                  ;0B
+              WRONG-NUMBER-OF-ARGUMENTS                ;0C
+              WRONG-TYPE-ARGUMENT-0                    ;0D
+              WRONG-TYPE-ARGUMENT-1                    ;0E
+              WRONG-TYPE-ARGUMENT-2                    ;0F
+              BAD-RANGE-ARGUMENT-0                     ;10
+              BAD-RANGE-ARGUMENT-1                     ;11
+              BAD-RANGE-ARGUMENT-2                     ;12
+              #F                                       ;13
+              #F                                       ;14
+              BAD-INTERRUPT-CODE                       ;15
+              #F                                       ;16
+              FASL-FILE-TOO-BIG                        ;17
+              FASL-FILE-BAD-DATA                       ;18
+              IMPURIFY-OBJECT-TOO-LARGE                ;19
+              WRITE-INTO-PURE-SPACE                    ;1A
+              #F                                       ;1B
+              NO-HASH-TABLE                            ;1C
+               ASSIGN-LAMBDA-NAME                      ;1D
+              FAILED-ARG-1-COERCION                    ;1E
+              FAILED-ARG-2-COERCION                    ;1F
+              OUT-OF-FILE-HANDLES                      ;20
+              #F                                       ;21
+              BAD-RANGE-ARGUMENT-3                     ;22
+              BAD-RANGE-ARGUMENT-4                     ;23
+              BAD-RANGE-ARGUMENT-5                     ;24
+              BAD-RANGE-ARGUMENT-6                     ;25
+              BAD-RANGE-ARGUMENT-7                     ;26
+              BAD-RANGE-ARGUMENT-8                     ;27
+              BAD-RANGE-ARGUMENT-9                     ;28
+              WRONG-TYPE-ARGUMENT-3                    ;29
+              WRONG-TYPE-ARGUMENT-4                    ;2A
+              WRONG-TYPE-ARGUMENT-5                    ;2B
+              WRONG-TYPE-ARGUMENT-6                    ;2C
+              WRONG-TYPE-ARGUMENT-7                    ;2D
+              WRONG-TYPE-ARGUMENT-8                    ;2E
+              WRONG-TYPE-ARGUMENT-9                    ;2F
+              ))
+\f
+;;; [] Terminations
+
+(vector-set! (get-fixed-objects-vector)
+            22 ;(fixed-objects-vector-slot 'MICROCODE-TERMINATIONS-VECTOR)
+            #(HALT                              ;00
+              DISK-RESTORE                      ;01
+              BROKEN-HEART                      ;02
+              NON-POINTER-RELOCATION            ;03
+              BAD-ROOT                          ;04
+              NON-EXISTENT-CONTINUATION         ;05
+              BAD-STACK                         ;06
+              STACK-OVERFLOW                    ;07
+              STACK-ALLOCATION-FAILED           ;08
+              NO-ERROR-HANDLER                  ;09
+              NO-INTERRUPT-HANDLER              ;0A
+              UNIMPLEMENTED-CONTINUATION        ;0B
+              EXIT                              ;0C
+              BAD-PRIMITIVE-DURING-ERROR        ;0D
+              EOF                               ;0E
+              BAD-PRIMITIVE                     ;0F
+              TERMINATION-HANDLER               ;10
+              END-OF-CONTINUATION               ;11
+              INVALID-TYPE-CODE                 ;12
+              COMPILER-DEATH                    ;13
+              GC-OUT-OF-SPACE                   ;14
+              ))
+
+(vector-set! (get-fixed-objects-vector)
+            23 ;(fixed-objects-vector-slot 'MICROCODE-TERMINATION-PROCEDURES)
+            #())
diff --git a/v8/src/microcode/utabmd.scm b/v8/src/microcode/utabmd.scm
new file mode 100644 (file)
index 0000000..9491c04
--- /dev/null
@@ -0,0 +1,833 @@
+;;; -*-Scheme-*-
+;;;
+;;;    Copyright (c) 1987 Massachusetts Institute of Technology
+;;;
+;;;    This material was developed by the Scheme project at the
+;;;    Massachusetts Institute of Technology, Department of
+;;;    Electrical Engineering and Computer Science.  Permission to
+;;;    copy this software, to redistribute it, and to use it for any
+;;;    purpose is granted, subject to the following restrictions and
+;;;    understandings.
+;;;
+;;;    1. Any copy made of this software must include this copyright
+;;;    notice in full.
+;;;
+;;;    2. Users of this software agree to make their best efforts (a)
+;;;    to return to the MIT Scheme project any improvements or
+;;;    extensions that they make, so that these may be included in
+;;;    future releases; and (b) to inform MIT of noteworthy uses of
+;;;    this software.
+;;;
+;;;    3. All materials developed as a consequence of the use of this
+;;;    software shall duly acknowledge such use, in accordance with
+;;;    the usual standards of acknowledging credit in academic
+;;;    research.
+;;;
+;;;    4. MIT has made no warrantee or representation that the
+;;;    operation of this software will be error-free, and MIT is
+;;;    under no obligation to provide any services, by way of
+;;;    maintenance, update, or otherwise.
+;;;
+;;;    5. In conjunction with products arising from the use of this
+;;;    material, there shall be no use of the name of the
+;;;    Massachusetts Institute of Technology nor of any adaptation
+;;;    thereof in any advertising, promotional, or sales literature
+;;;    without prior written consent from MIT in each case.
+;;;
+
+;;;; Machine Dependent Type Tables
+
+(declare (usual-integrations))
+
+;;; For quick access to any given table,
+;;; search for the following strings:
+;;;
+;;; [] Fixed
+;;; [] Types
+;;; [] Returns
+;;; [] Primitives
+;;; [] External
+;;; [] Errors
+\f
+;;; [] Fixed
+
+(vector-set! (get-fixed-objects-vector)
+            #x23 ;(fixed-objects-vector-slot 'MICROCODE-TABLE-IDENTIFICATION)
+            "$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/utabmd.scm,v 1.1 1987/01/13 18:18:08 cph Exp $")
+
+(vector-set! (get-fixed-objects-vector)
+            #x0F ;(fixed-objects-vector-slot 'MICROCODE-FIXED-OBJECTS-SLOTS)
+            #(NON-OBJECT                               ;00
+              SYSTEM-INTERRUPT-VECTOR                  ;01
+              SYSTEM-ERROR-VECTOR                      ;02
+              OBARRAY                                  ;03
+              MICROCODE-TYPES-VECTOR                   ;04
+              MICROCODE-RETURNS-VECTOR                 ;05
+              MICROCODE-PRIMITIVES-VECTOR              ;06
+              MICROCODE-ERRORS-VECTOR                  ;07
+              HASH-NUMBER                              ;08
+              HASH-TABLE                               ;09
+              UNHASH-TABLE                             ;0A
+              GC-DAEMON                                ;0B
+              TRAP-HANDLER                             ;0C
+              OPEN-FILES                               ;0D
+              STEPPER-STATE                            ;0E
+              MICROCODE-FIXED-OBJECTS-SLOTS            ;0F
+              MICROCODE-EXTERNAL-PRIMITIVES            ;10
+              STATE-SPACE-TAG                          ;11
+              STATE-POINT-TAG                          ;12
+              DUMMY-HISTORY                            ;13
+               BIGNUM-ONE                              ;14
+              SCHEDULER                                ;15
+              MICROCODE-TERMINATIONS-VECTOR            ;16
+              MICROCODE-TERMINATIONS-PROCEDURES        ;17
+              FIXED-OBJECTS-VECTOR                     ;18
+              THE-WORK-QUEUE                           ;19
+              FUTURE-READS-LOGGER                      ;1A
+              TOUCHED-FUTURES-VECTOR                   ;1B
+              PRECIOUS-OBJECTS                         ;1C
+              ERROR-PROCEDURE                          ;1D
+              UNSNAPPED-LINK                           ;1E
+              MICROCODE-UTILITIES-VECTOR               ;1F
+              COMPILER-ERROR-PROCEDURE                 ;20
+              LOST-OBJECT-BASE                         ;21
+              STATE-SPACE-ROOT                         ;22
+              MICROCODE-TABLE-IDENTIFICATION           ;23
+              ))
+\f
+;;; [] Types
+
+(vector-set! (get-fixed-objects-vector)
+            4 ;(fixed-objects-vector-slot 'MICROCODE-TYPES-VECTOR)
+            #((NULL FALSE MANIFEST-VECTOR GLOBAL-ENVIRONMENT) ;00
+              (PAIR LIST)                              ;01
+              CHARACTER                                ;02
+              QUOTATION                                ;03
+              PRIMITIVE-COMBINATION-2                  ;04
+              UNINTERNED-SYMBOL                        ;05
+              (FLONUM BIG-FLONUM)                      ;06
+              COMBINATION-1                            ;07
+              TRUE                                     ;08
+              EXTENDED-PROCEDURE                       ;09             
+              VECTOR                                   ;0A
+              RETURN-ADDRESS                           ;0B
+              COMBINATION-2                            ;0C
+              COMPILED-PROCEDURE                       ;0D
+              (BIGNUM BIG-FIXNUM)                      ;0E
+              PROCEDURE                                ;0F
+              PRIMITIVE-EXTERNAL                       ;10
+              DELAY                                    ;11
+              ENVIRONMENT                              ;12
+              DELAYED                                  ;13
+              EXTENDED-LAMBDA                          ;14
+              COMMENT                                  ;15
+              NON-MARKED-VECTOR                        ;16
+              LAMBDA                                   ;17
+              PRIMITIVE                                ;18
+              SEQUENCE-2                               ;19
+              (FIXNUM ADDRESS)                         ;1A
+              PRIMITIVE-COMBINATION-1                  ;1B
+              CONTROL-POINT                            ;1C
+              INTERNED-SYMBOL                          ;1D
+              (STRING CHARACTER-STRING VECTOR-8B)      ;1E
+              ACCESS                                   ;1F
+              EXTENDED-FIXNUM                          ;20
+              DEFINITION                               ;21
+              BROKEN-HEART                             ;22
+              ASSIGNMENT                               ;23
+              (TRIPLE HUNK3)                           ;24
+              IN-PACKAGE                               ;25
+              COMBINATION                              ;26
+              MANIFEST-NM-VECTOR                       ;27
+              COMPILED-EXPRESSION                      ;28
+              LEXPR                                    ;29
+              PRIMITIVE-COMBINATION-3                  ;2A
+              MANIFEST-SPECIAL-NM-VECTOR               ;2B
+              VARIABLE                                 ;2C
+              THE-ENVIRONMENT                          ;2D
+              FUTURE                                   ;2E
+              VECTOR-1B                                ;2F
+              PRIMITIVE-COMBINATION-0                  ;30
+              VECTOR-16B                               ;31
+              UNASSIGNED                               ;32
+              SEQUENCE-3                               ;33
+              CONDITIONAL                              ;34
+              DISJUNCTION                              ;35
+              CELL                                     ;36
+              WEAK-CONS                                ;37
+              TRAP                                     ;38
+              COMPILER-RETURN-ADDRESS                  ;39
+              COMPILER-LINK                            ;3A
+              STACK-ENVIRONMENT                        ;3B
+              COMPLEX                                  ;3C
+              #F                                       ;3D
+              #F                                       ;3E
+              #F                                       ;3F
+              #F                                       ;40
+              #F                                       ;41
+              #F                                       ;42
+              #F                                       ;43
+              #F                                       ;44
+              #F                                       ;45
+              #F                                       ;46
+              #F                                       ;47
+              #F       ;48 reserved for PEA instruction on 68000
+              #F                                       ;49
+              #F                                       ;4A
+              #F                                       ;4B
+              #F                                       ;4C
+              #F                                       ;4D
+              #F       ;4E reserved for JMP/JSR instruction on 68000
+              #F                                       ;4F
+              #F                                       ;50
+              #F       ;51 reserved for DBF instruction on 68000
+              #F                                       ;52
+              #F                                       ;53
+              #F                                       ;54
+              #F                                       ;55
+              #F                                       ;56
+              #F                                       ;57
+              #F                                       ;58
+              #F                                       ;59
+              #F                                       ;5A
+              #F                                       ;5B
+              #F                                       ;5C
+              #F                                       ;5D
+              #F                                       ;5E
+              #F                                       ;5F
+              #F                                       ;60
+              #F                                       ;61
+              #F                                       ;62
+              #F                                       ;63
+              #F                                       ;64
+              #F                                       ;65
+              #F                                       ;66
+              #F                                       ;67
+              #F                                       ;68
+              #F                                       ;69
+              #F                                       ;6A
+              #F                                       ;6B
+              #F                                       ;6C
+              #F                                       ;6D
+              #F                                       ;6E
+              #F                                       ;6F
+              #F                                       ;70
+              #F                                       ;71
+              #F                                       ;72
+              #F                                       ;73
+              #F                                       ;74
+              #F                                       ;75
+              #F                                       ;76
+              #F                                       ;77
+              #F                                       ;78
+              #F                                       ;79
+              #F                                       ;7A
+              #F                                       ;7B
+              #F                                       ;7C
+              #F                                       ;7D
+              #F                                       ;7E
+              #F                                       ;7F
+              ))
+\f
+;;; [] Return
+
+(vector-set! (get-fixed-objects-vector)
+            5 ;(fixed-objects-vector-slot 'MICROCODE-RETURNS-VECTOR)
+            #(NON-EXISTENT-CONTINUATION                ;00
+              JOIN-STACKLETS                           ;01
+              RESTORE-CONTINUATION                     ;02
+              INTERNAL-APPLY                           ;03
+              BAD-INTERRUPT-CONTINUE                   ;04
+              RESTORE-HISTORY                          ;05
+              INVOKE-STACK-THREAD                      ;06
+              RESTART-EXECUTION                        ;07
+              ASSIGNMENT-CONTINUE                      ;08
+              DEFINITION-CONTINUE                      ;09
+              ACCESS-CONTINUE                          ;0A
+              IN-PACKAGE-CONTINUE                      ;0B
+              SEQUENCE-2-SECOND                        ;0C
+              SEQUENCE-3-SECOND                        ;0D
+              SEQUENCE-3-THIRD                         ;0E
+              CONDITIONAL-DECIDE                       ;0F
+              DISJUNCTION-DECIDE                       ;10
+              COMBINATION-1-PROCEDURE                  ;11
+              COMBINATION-APPLY                        ;12
+              COMBINATION-2-FIRST-OPERAND              ;13
+              COMBINATION-2-PROCEDURE                  ;14
+              COMBINATION-SAVE-VALUE                   ;15
+              PRIMITIVE-COMBINATION-1-APPLY            ;16
+              PRIMITIVE-COMBINATION-2-FIRST-OPERAND    ;17
+              PRIMITIVE-COMBINATION-2-APPLY            ;18
+              PRIMITIVE-COMBINATION-3-SECOND-OPERAND   ;19
+              PRIMITIVE-COMBINATION-3-FIRST-OPERAND    ;1A
+              PRIMITIVE-COMBINATION-3-APPLY            ;1B
+              FORCE-SNAP-THUNK                         ;1C
+              REENTER-COMPILED-CODE                    ;1D
+              #F                                       ;1E
+              COMPILER-REFERENCE-RESTART               ;1F
+              NORMAL-GARBAGE-COLLECT-DONE              ;20
+              COMPLETE-GARBAGE-COLLECT-DONE            ;21
+              PURIFY-AFTER-FIRST-GC                    ;22
+              PURIFY-AFTER-SECOND-GC                   ;23
+              AFTER-MEMORY-UPDATE                      ;24
+              RETRY-MICROCODE-TERMINATION-RESTARTABLE  ;25
+              #F                                       ;26
+              #F                                       ;27
+              COMPILER-ASSIGNMENT-RESTART              ;28
+              POP-FROM-COMPILED-CODE                   ;29
+              RETURN-TRAP-POINT                        ;2A
+              RESTORE-STEPPER                          ;2B
+              RESTORE-TO-STATE-POINT                   ;2C
+              MOVE-TO-ADJACENT-POINT                   ;2D
+              RESTORE-VALUE                            ;2E
+              RESTORE-DONT-COPY-HISTORY                ;2F
+              #F                                       ;30
+              #F                                       ;31
+              #F                                       ;32
+              #F                                       ;33
+              #F                                       ;34
+              #F                                       ;35
+              #F                                       ;36
+              #F                                       ;37
+              #F                                       ;38
+              #F                                       ;39
+              #F                                       ;3A
+              #F                                       ;3B
+              #F                                       ;3C
+              #F                                       ;3D
+              #F                                       ;3E
+              #F                                       ;3F
+              POP-RETURN-ERROR                         ;40
+              EVAL-ERROR                               ;41
+              REPEAT-PRIMITIVE                         ;42
+              COMPILER-INTERRUPT-RESTART               ;43
+              #F                                       ;44
+              RESTORE-INTERRUPT-MASK                   ;45
+              HALT                                     ;46
+              FINISH-GLOBAL-INTERRUPT                  ;47
+              REPEAT-DISPATCH                          ;48
+              GC-CHECK                                 ;49
+              RESTORE-FLUIDS                           ;4A
+              COMPILER-LOOKUP-APPLY-RESTART            ;4B
+              COMPILER-ACCESS-RESTART                  ;4C
+              COMPILER-UNASSIGNED?-RESTART             ;4D
+              COMPILER-UNBOUND?-RESTART                ;4E
+              COMPILER-DEFINITION-RESTART              ;4F
+              COMPILER-LEXPR-INTERRUPT-RESTART         ;50
+              ))
+\f
+;;; [] Primitives
+
+(vector-set! (get-fixed-objects-vector)
+            6 ;(fixed-objects-vector-slot 'MICROCODE-PRIMITIVES-VECTOR)
+            #(LEXICAL-ASSIGNMENT                       ;$00
+              LOCAL-REFERENCE                          ;$01
+              LOCAL-ASSIGNMENT                         ;$02
+              CALL-WITH-CURRENT-CONTINUATION           ;$03
+              SCODE-EVAL                               ;$04
+              APPLY                                    ;$05
+              SET-INTERRUPT-ENABLES!                   ;$06
+              STRING->SYMBOL                           ;$07
+              GET-WORK                                 ;$08
+              NON-REENTRANT-CALL-WITH-CURRENT-CONTINUATION     ;$09
+              CURRENT-DYNAMIC-STATE                    ;$0A
+              SET-CURRENT-DYNAMIC-STATE!               ;$0B
+              (NULL? NOT FALSE?)                       ;$0C
+              EQ?                                      ;$0D
+              STRING-EQUAL?                            ;$0E
+              PRIMITIVE-TYPE?                          ;$0F
+              PRIMITIVE-TYPE                           ;$10
+              PRIMITIVE-SET-TYPE                       ;$11
+              LEXICAL-REFERENCE                        ;$12
+              LEXICAL-UNREFERENCEABLE?                 ;$13
+              MAKE-CHAR                                ;$14
+              CHAR-BITS                                ;$15
+              EXIT                                     ;$16
+              CHAR-CODE                                ;$17
+              LEXICAL-UNASSIGNED?                      ;$18
+              INSERT-NON-MARKED-VECTOR!                ;$19
+              HALT                                     ;$1A
+              CHAR->INTEGER                            ;$1B
+              MEMQ                                     ;$1C
+              INSERT-STRING                            ;$1D
+              ENABLE-INTERRUPTS!                       ;$1E
+              MAKE-EMPTY-STRING                        ;$1F
+              CONS                                     ;$20
+              (CAR FIRST)                              ;$21
+              (CDR FIRST-TAIL)                         ;$22
+              (SET-CAR! SET-FIRST!)                    ;$23
+              (SET-CDR! SET-FIRST-TAIL!)               ;$24
+              PRINT-STRING                             ;$25
+              TTY-GET-CURSOR                           ;$26
+              GENERAL-CAR-CDR                          ;$27
+              HUNK3-CONS                               ;$28
+              HUNK3-CXR                                ;$29
+              HUNK3-SET-CXR!                           ;$2A
+              INSERT-STRING!                           ;$2B
+              VECTOR-CONS                              ;$2C
+              (VECTOR-LENGTH VECTOR-SIZE)              ;$2D
+              VECTOR-REF                               ;$2E
+              SET-CURRENT-HISTORY!                     ;$2F
+              VECTOR-SET!                              ;$30
+              NON-MARKED-VECTOR-CONS                   ;$31
+              GET-CHARACTER-FROM-INPUT-CHANNEL         ;$32
+              LEXICAL-UNBOUND?                         ;$33
+              INTEGER->CHAR                            ;$34
+              CHAR-DOWNCASE                            ;$35
+              CHAR-UPCASE                              ;$36
+              ASCII->CHAR                              ;$37
+              CHAR-ASCII?                              ;$38
+              CHAR->ASCII                              ;$39
+              GARBAGE-COLLECT                          ;$3A
+              PLUS-FIXNUM                              ;$3B
+              MINUS-FIXNUM                             ;$3C
+              MULTIPLY-FIXNUM                          ;$3D
+              DIVIDE-FIXNUM                            ;$3E
+              EQUAL-FIXNUM?                            ;$3F
+              LESS-THAN-FIXNUM?                        ;$40
+              POSITIVE-FIXNUM?                         ;$41
+              ONE-PLUS-FIXNUM                          ;$42
+              MINUS-ONE-PLUS-FIXNUM                    ;$43
+              TRUNCATE-STRING!                         ;$44
+              SUBSTRING                                ;$45
+              ZERO-FIXNUM?                             ;$46
+              MAKE-OBJECT-SAFE                         ;$47
+              MAKE-OBJECT-DANGEROUS                    ;$48
+              OBJECT-DANGEROUS?                        ;$49
+              SUBSTRING->LIST                          ;$4A
+              MAKE-FILLED-STRING                       ;$4B
+              PLUS-BIGNUM                              ;$4C
+              MINUS-BIGNUM                             ;$4D
+              MULTIPLY-BIGNUM                          ;$4E
+              DIVIDE-BIGNUM                            ;$4F
+              LISTIFY-BIGNUM                           ;$50
+              EQUAL-BIGNUM?                            ;$51
+              LESS-THAN-BIGNUM?                        ;$52
+              POSITIVE-BIGNUM?                         ;$53
+              FILE-OPEN-CHANNEL                        ;$54
+              FILE-CLOSE-CHANNEL                       ;$55
+              PRIMITIVE-FASDUMP                        ;$56
+              BINARY-FASLOAD                           ;$57
+              STRING-POSITION                          ;$58
+              STRING-LESS?                             ;$59
+              OBJECT-HASH                              ;$5A
+              OBJECT-UNHASH                            ;$5B
+              REHASH-GC-DAEMON                         ;$5C
+              LENGTH                                   ;$5D
+              ASSQ                                     ;$5E
+              LIST->STRING                             ;$5F
+              EQUAL-STRING-TO-LIST?                    ;$60
+              MAKE-CELL                                ;$61
+              CELL-CONTENTS                            ;$62
+              CELL?                                    ;$63
+              CHARACTER-UPCASE                         ;$64
+              CHARACTER-LIST-HASH                      ;$65
+              GCD-FIXNUM                               ;$66
+              COERCE-FIXNUM-TO-BIGNUM                  ;$67
+              COERCE-BIGNUM-TO-FIXNUM                  ;$68
+              PLUS-FLONUM                              ;$69
+              MINUS-FLONUM                             ;$6A
+              MULTIPLY-FLONUM                          ;$6B
+              DIVIDE-FLONUM                            ;$6C
+              EQUAL-FLONUM?                            ;$6D
+              LESS-THAN-FLONUM?                        ;$6E
+              ZERO-BIGNUM?                             ;$6F
+              TRUNCATE-FLONUM                          ;$70
+              ROUND-FLONUM                             ;$71
+              COERCE-INTEGER-TO-FLONUM                 ;$72
+              SINE-FLONUM                              ;$73
+              COSINE-FLONUM                            ;$74
+              ARCTAN-FLONUM                            ;$75
+              EXP-FLONUM                               ;$76
+              LN-FLONUM                                ;$77
+              SQRT-FLONUM                              ;$78
+              PRIMITIVE-FASLOAD                        ;$79
+              GET-FIXED-OBJECTS-VECTOR                 ;$7A
+              SET-FIXED-OBJECTS-VECTOR!                ;$7B
+              LIST->VECTOR                             ;$7C
+              SUBVECTOR->LIST                          ;$7D
+              PAIR?                                    ;$7E
+              NEGATIVE-FIXNUM?                         ;$7F
+              NEGATIVE-BIGNUM?                         ;$80
+              GREATER-THAN-FIXNUM?                     ;$81
+              GREATER-THAN-BIGNUM?                     ;$82
+              STRING-HASH                              ;$83
+              SYSTEM-PAIR-CONS                         ;$84
+              SYSTEM-PAIR?                             ;$85
+              SYSTEM-PAIR-CAR                          ;$86
+              SYSTEM-PAIR-CDR                          ;$87
+              SYSTEM-PAIR-SET-CAR!                     ;$88
+              SYSTEM-PAIR-SET-CDR!                     ;$89
+              INITIALIZE-OBJECT-HASH                   ;$8A
+              GET-CHARACTER-FROM-INPUT-CHANNEL-IMMEDIATE ;$8B
+              SET-CELL-CONTENTS!                       ;$8C
+              &MAKE-OBJECT                             ;$8D
+              SYSTEM-HUNK3-CXR0                        ;$8E
+              SYSTEM-HUNK3-SET-CXR0!                   ;$8F
+              MAP-MACHINE-ADDRESS-TO-CODE              ;$90
+              SYSTEM-HUNK3-CXR1                        ;$91
+              SYSTEM-HUNK3-SET-CXR1!                   ;$92
+              MAP-CODE-TO-MACHINE-ADDRESS              ;$93
+              SYSTEM-HUNK3-CXR2                        ;$94
+              SYSTEM-HUNK3-SET-CXR2!                   ;$95
+              PRIMITIVE-PROCEDURE-ARITY                ;$96
+              SYSTEM-LIST-TO-VECTOR                    ;$97
+              SYSTEM-SUBVECTOR-TO-LIST                 ;$98
+              SYSTEM-VECTOR?                           ;$99
+              SYSTEM-VECTOR-REF                        ;$9A
+              SYSTEM-VECTOR-SET!                       ;$9B
+              WITH-HISTORY-DISABLED                    ;$9C
+              #F                                       ;$9D
+              #F                                       ;$9E
+              #F                                       ;$9F
+              #F                                       ;$A0
+              #F                                       ;$A1
+              #F                                       ;$A2
+              VECTOR-8B-CONS                           ;$A3
+              VECTOR-8B?                               ;$A4
+              VECTOR-8B-REF                            ;$A5
+              VECTOR-8B-SET!                           ;$A6
+              ZERO-FLONUM?                             ;$A7
+              POSITIVE-FLONUM?                         ;$A8
+              NEGATIVE-FLONUM?                         ;$A9
+              GREATER-THAN-FLONUM?                     ;$AA
+              INTERN-CHARACTER-LIST                    ;$AB
+              #F                                       ;$AC
+              (STRING-LENGTH STRING-SIZE VECTOR-8B-SIZE)       ;$AD
+              SYSTEM-VECTOR-SIZE                       ;$AE
+              FORCE                                    ;$AF
+              PRIMITIVE-DATUM                          ;$B0
+              MAKE-NON-POINTER-OBJECT                  ;$B1
+              DEBUGGING-PRINTER                        ;$B2
+              STRING-UPCASE                            ;$B3
+              PRIMITIVE-PURIFY                         ;$B4
+              #F                                       ;$B5
+              COMPLETE-GARBAGE-COLLECT                 ;$B6
+              DUMP-BAND                                ;$B7
+              SUBSTRING-SEARCH                         ;$B8
+              LOAD-BAND                                ;$B9
+              CONSTANT?                                ;$BA
+              PURE?                                    ;$BB
+              PRIMITIVE-GC-TYPE                        ;$BC
+              PRIMITIVE-IMPURIFY                       ;$BD
+              WITH-THREADED-CONTINUATION               ;$BE
+              WITHIN-CONTROL-POINT                     ;$BF
+              SET-RUN-LIGHT!                           ;$C0
+              FILE-EOF?                                ;$C1
+              FILE-READ-CHAR                           ;$C2
+              FILE-FILL-INPUT-BUFFER                   ;$C3
+              FILE-LENGTH                              ;$C4
+              FILE-WRITE-CHAR                          ;$C5
+              FILE-WRITE-STRING                        ;$C6
+              CLOSE-LOST-OPEN-FILES                    ;$C7
+              PUT-CHARACTER-TO-OUTPUT-CHANNEL          ;$C8
+              WITH-INTERRUPTS-REDUCED                  ;$C9
+              PRIMITIVE-EVAL-STEP                      ;$CA
+              PRIMITIVE-APPLY-STEP                     ;$CB
+              PRIMITIVE-RETURN-STEP                    ;$CC
+              TTY-READ-CHAR-READY?                     ;$CD
+              TTY-READ-CHAR                            ;$CE
+              TTY-READ-CHAR-IMMEDIATE                  ;$CF
+              TTY-READ-FINISH                          ;$D0
+              BIT-STRING-ALLOCATE                      ;$D1
+              MAKE-BIT-STRING                          ;$D2
+              BIT-STRING?                              ;$D3
+              BIT-STRING-LENGTH                        ;$D4
+              BIT-STRING-REF                           ;$D5
+              BIT-SUBSTRING-MOVE-RIGHT!                ;$D6
+              BIT-STRING-SET!                          ;$D7
+              BIT-STRING-CLEAR!                        ;$D8
+              BIT-STRING-ZERO?                         ;$D9
+              #F                                       ;$DA
+              #F                                       ;$DB
+              UNSIGNED-INTEGER->BIT-STRING             ;$DC
+              BIT-STRING->UNSIGNED-INTEGER             ;$DD
+              #F                                       ;$DE
+              READ-BITS!                               ;$DF
+              WRITE-BITS!                              ;$E0
+              MAKE-STATE-SPACE                         ;$E1
+              EXECUTE-AT-NEW-STATE-POINT               ;$E2
+              TRANSLATE-TO-STATE-POINT                 ;$E3
+              GET-NEXT-CONSTANT                        ;$E4
+              MICROCODE-IDENTIFY                       ;$E5
+              ZERO?                                    ;$E6
+              POSITIVE?                                ;$E7
+              NEGATIVE?                                ;$E8
+              &=                                       ;$E9
+              &<                                       ;$EA
+              &>                                       ;$EB
+              &+                                       ;$EC
+              &-                                       ;$ED
+              &*                                       ;$EE
+              &/                                       ;$EF
+              INTEGER-DIVIDE                           ;$F0
+              1+                                       ;$F1
+              -1+                                      ;$F2
+              TRUNCATE                                 ;$F3
+              ROUND                                    ;$F4
+              FLOOR                                    ;$F5
+              CEILING                                  ;$F6
+              SQRT                                     ;$F7
+              EXP                                      ;$F8
+              LOG                                      ;$F9
+              SIN                                      ;$FA
+              COS                                      ;$FB
+              &ATAN                                    ;$FC
+              TTY-WRITE-CHAR                           ;$FD
+              TTY-WRITE-STRING                         ;$FE
+               TTY-BEEP                                        ;$FF
+              TTY-CLEAR                                ;$100
+              GET-EXTERNAL-COUNTS                      ;$101
+              GET-EXTERNAL-NAME                        ;$102
+              GET-EXTERNAL-NUMBER                      ;$103
+              OPEN-CHANNEL                             ;$104
+              CLOSE-PHYSICAL-CHANNEL                   ;$105
+              GET-NEXT-INTERRUPT-CHARACTER             ;$106
+              CHECK-AND-CLEAN-UP-INPUT-CHANNEL         ;$107
+              #F                                       ;$108
+              SYSTEM-CLOCK                             ;$109
+              FILE-EXISTS?                             ;$10A
+              #F                                       ;$10B
+              TTY-MOVE-CURSOR                          ;$10C
+              #F                                       ;$10D
+              CURRENT-DATE                             ;$10E
+              CURRENT-TIME                             ;$10F
+              TRANSLATE-FILE                           ;$110
+              COPY-FILE                                ;$111
+              RENAME-FILE                              ;$112
+              REMOVE-FILE                              ;$113
+              LINK-FILE                                ;$114
+              MAKE-DIRECTORY                           ;$115
+              VOLUME-NAME                              ;$116
+              SET-WORKING-DIRECTORY-PATHNAME!          ;$117
+              OPEN-CATALOG                             ;$118
+              CLOSE-CATALOG                            ;$119
+              NEXT-FILE                                ;$11A
+              CAT-NAME                                 ;$11B
+              CAT-KIND                                 ;$11C
+              CAT-PSIZE                                ;$11D
+              CAT-LSIZE                                ;$11E
+              CAT-INFO                                 ;$11F
+              CAT-BLOCK                                ;$120
+              CAT-CREATE-DATE                          ;$121
+              CAT-CREATE-TIME                          ;$122
+              CAT-LAST-DATE                            ;$123
+              CAT-LAST-TIME                            ;$124
+              ERROR-MESSAGE                            ;$125
+              CURRENT-YEAR                             ;$126
+              CURRENT-MONTH                            ;$127
+              CURRENT-DAY                              ;$128
+              CURRENT-HOUR                             ;$129
+              CURRENT-MINUTE                           ;$12A
+              CURRENT-SECOND                           ;$12B
+              INIT-FLOPPY                              ;$12C
+              ZERO-FLOPPY                              ;$12D
+              PACK-VOLUME                              ;$12E
+              LOAD-PICTURE                             ;$12F
+              STORE-PICTURE                            ;$130
+              LOOKUP-SYSTEM-SYMBOL                     ;$131
+              #F                                       ;$132
+              #F                                       ;$133
+              CLEAR-TO-END-OF-LINE                     ;$134
+              #F                                       ;$135
+              #F                                       ;$136
+              WITH-INTERRUPT-MASK                      ;$137
+              STRING?                                  ;$138
+              STRING-LENGTH                            ;$139
+              STRING-REF                               ;$13A
+              STRING-SET!                              ;$13B
+              SUBSTRING-MOVE-RIGHT!                    ;$13C
+              SUBSTRING-MOVE-LEFT!                     ;$13D
+              STRING-ALLOCATE                          ;$13E
+              STRING-MAXIMUM-LENGTH                    ;$13F
+              SET-STRING-LENGTH!                       ;$140
+              VECTOR-8B-FILL!                          ;$141
+              VECTOR-8B-FIND-NEXT-CHAR                 ;$142
+              VECTOR-8B-FIND-PREVIOUS-CHAR             ;$143
+              VECTOR-8B-FIND-NEXT-CHAR-CI              ;$144
+              VECTOR-8B-FIND-PREVIOUS-CHAR-CI          ;$145
+              SUBSTRING-FIND-NEXT-CHAR-IN-SET          ;$146
+              SUBSTRING-FIND-PREVIOUS-CHAR-IN-SET      ;$147
+              SUBSTRING=?                              ;$148
+              SUBSTRING-CI=?                           ;$149
+              SUBSTRING<?                              ;$14A
+              SUBSTRING-UPCASE!                        ;$14B
+              SUBSTRING-DOWNCASE!                      ;$14C
+              SUBSTRING-MATCH-FORWARD                  ;$14D
+              SUBSTRING-MATCH-BACKWARD                 ;$14E
+              SUBSTRING-MATCH-FORWARD-CI               ;$14F
+              SUBSTRING-MATCH-BACKWARD-CI              ;$150
+              PHOTO-OPEN                               ;$151
+              PHOTO-CLOSE                              ;$152
+              SETUP-TIMER-INTERRUPT                    ;$153
+              #F                                       ;$154
+              #F                                       ;$155
+              #F                                       ;$156
+              #F                                       ;$157
+              #F                                       ;$158
+              #F                                       ;$159
+              #F                                       ;$15A
+              #F                                       ;$15B
+              #F                                       ;$15C
+              #F                                       ;$15D
+              #F                                       ;$15E
+              #F                                       ;$15F
+              #F                                       ;$160
+              EXTRACT-NON-MARKED-VECTOR                ;$161
+              UNSNAP-LINKS!                            ;$162
+              SAFE-PRIMITIVE?                          ;$163
+              SUBSTRING-READ                           ;$164
+              SUBSTRING-WRITE                          ;$165
+              SCREEN-X-SIZE                            ;$166
+              SCREEN-Y-SIZE                            ;$167
+              SCREEN-WRITE-CURSOR                      ;$168
+              SCREEN-WRITE-CHARACTER                   ;$169
+              SCREEN-WRITE-SUBSTRING                   ;$16A 
+              NEXT-FILE-MATCHING                       ;$16B
+              #F                                       ;$16C
+              TTY-WRITE-BYTE                           ;$16D
+              FILE-READ-BYTE                           ;$16E
+              FILE-WRITE-BYTE                          ;$16F
+              #F #| SAVE-SCREEN |#                     ;$170
+              #F #| RESTORE-SCREEN! |#                 ;$171
+              #F #| SUBSCREEN-CLEAR! |#                ;$172
+              #F #| &GCD |#                            ;$173
+              #F #| TTY-REDRAW-SCREEN |#               ;$174
+              #F #| SCREEN-INVERSE-VIDEO! |#           ;$175
+              STRING->SYNTAX-ENTRY                     ;$176
+              SCAN-WORD-FORWARD                        ;$177
+              SCAN-WORD-BACKWARD                       ;$178
+              SCAN-LIST-FORWARD                        ;$179
+              SCAN-LIST-BACKWARD                       ;$17A
+              SCAN-SEXPS-FORWARD                       ;$17B
+              SCAN-FORWARD-TO-WORD                     ;$17C
+              SCAN-BACKWARD-PREFIX-CHARS               ;$17D
+              CHAR->SYNTAX-CODE                        ;$17E
+              QUOTED-CHAR?                             ;$17F
+              MICROCODE-TABLES-FILENAME                ;$180
+              #F                                       ;$181
+              #F #| FIND-PASCAL-PROGRAM |#             ;$182
+              #F #| EXECUTE-PASCAL-PROGRAM |#          ;$183
+              #F #| GRAPHICS-MOVE |#                   ;$184
+              #F #| GRAPHICS-LINE |#                   ;$185
+              #F #| GRAPHICS-PIXEL |#                  ;$186
+              #F #| GRAPHICS-SET-DRAWING-MODE |#       ;$187
+              #F #| ALPHA-RASTER? |#                   ;$188
+              #F #| TOGGLE-ALPHA-RASTER |#             ;$189
+              #F #| GRAPHICS-RASTER? |#                ;$18A
+              #F #| TOGGLE-GRAPHICS-RASTER |#          ;$18B
+              #F #| GRAPHICS-CLEAR |#                  ;$18C
+              #F #| GRAPHICS-SET-LINE-STYLE |#         ;$18D
+              ERROR-PROCEDURE                          ;$18E
+              VOLUME-EXISTS?                           ;$18F
+              RE-CHAR-SET-ADJOIN!                      ;$190
+              RE-COMPILE-FASTMAP                       ;$191
+              RE-MATCH                                 ;$192
+              RE-SEARCH-FORWARD                        ;$193
+              RE-SEARCH-BACKWARD                       ;$194
+              SYSTEM-MEMORY-REF                        ;$195
+              SYSTEM-MEMORY-SET!                       ;$196
+              BIT-STRING-FILL!                         ;$197
+              BIT-STRING-MOVE!                         ;$198
+              BIT-STRING-MOVEC!                        ;$199
+              BIT-STRING-OR!                           ;$19A               
+              BIT-STRING-AND!                          ;$19B
+              BIT-STRING-ANDC!                         ;$19C
+              BIT-STRING=?                             ;$19D
+              WORKING-DIRECTORY-PATHNAME               ;$19E
+              OPEN-DIRECTORY                           ;$19F
+              DIRECTORY-READ                           ;$1A0
+              UNDER-EMACS?                             ;$1A1
+              TTY-FLUSH-OUTPUT                         ;$1A2
+              ))
+\f
+;;; [] External
+
+(vector-set! (get-fixed-objects-vector)
+            16 ;(fixed-objects-vector-slot 'MICROCODE-EXTERNAL-PRIMITIVES)
+            #())
+\f
+;;; [] Errors
+
+(vector-set! (get-fixed-objects-vector)
+            7  ;(fixed-objects-vector-slot 'MICROCODE-ERRORS-VECTOR)
+            #(BAD-ERROR-CODE                           ;00
+              UNBOUND-VARIABLE                         ;01
+              UNASSIGNED-VARIABLE                      ;02
+              UNDEFINED-PROCEDURE                      ;03
+              RAN-OUT-OF-HASH-NUMBERS                  ;04
+              #F                                       ;05
+              BAD-FRAME                                ;06
+              BROKEN-CVARIABLE                         ;07
+              UNDEFINED-USER-TYPE                      ;08
+              UNDEFINED-PRIMITIVE-OPERATION            ;09
+              EXTERNAL-RETURN                          ;0A
+              EXECUTE-MANIFEST-VECTOR                  ;0B
+              WRONG-NUMBER-OF-ARGUMENTS                ;0C
+              WRONG-TYPE-ARGUMENT-0                    ;0D
+              WRONG-TYPE-ARGUMENT-1                    ;0E
+              WRONG-TYPE-ARGUMENT-2                    ;0F
+              BAD-RANGE-ARGUMENT-0                     ;10
+              BAD-RANGE-ARGUMENT-1                     ;11
+              BAD-RANGE-ARGUMENT-2                     ;12
+              #F                                       ;13
+              #F                                       ;14
+              BAD-INTERRUPT-CODE                       ;15
+              #F                                       ;16
+              FASL-FILE-TOO-BIG                        ;17
+              FASL-FILE-BAD-DATA                       ;18
+              IMPURIFY-OBJECT-TOO-LARGE                ;19
+              WRITE-INTO-PURE-SPACE                    ;1A
+              #F                                       ;1B
+              NO-HASH-TABLE                            ;1C
+               ASSIGN-LAMBDA-NAME                      ;1D
+              FAILED-ARG-1-COERCION                    ;1E
+              FAILED-ARG-2-COERCION                    ;1F
+              OUT-OF-FILE-HANDLES                      ;20
+              #F                                       ;21
+              BAD-RANGE-ARGUMENT-3                     ;22
+              BAD-RANGE-ARGUMENT-4                     ;23
+              BAD-RANGE-ARGUMENT-5                     ;24
+              BAD-RANGE-ARGUMENT-6                     ;25
+              BAD-RANGE-ARGUMENT-7                     ;26
+              BAD-RANGE-ARGUMENT-8                     ;27
+              BAD-RANGE-ARGUMENT-9                     ;28
+              WRONG-TYPE-ARGUMENT-3                    ;29
+              WRONG-TYPE-ARGUMENT-4                    ;2A
+              WRONG-TYPE-ARGUMENT-5                    ;2B
+              WRONG-TYPE-ARGUMENT-6                    ;2C
+              WRONG-TYPE-ARGUMENT-7                    ;2D
+              WRONG-TYPE-ARGUMENT-8                    ;2E
+              WRONG-TYPE-ARGUMENT-9                    ;2F
+              ))
+\f
+;;; [] Terminations
+
+(vector-set! (get-fixed-objects-vector)
+            22 ;(fixed-objects-vector-slot 'MICROCODE-TERMINATIONS-VECTOR)
+            #(HALT                              ;00
+              DISK-RESTORE                      ;01
+              BROKEN-HEART                      ;02
+              NON-POINTER-RELOCATION            ;03
+              BAD-ROOT                          ;04
+              NON-EXISTENT-CONTINUATION         ;05
+              BAD-STACK                         ;06
+              STACK-OVERFLOW                    ;07
+              STACK-ALLOCATION-FAILED           ;08
+              NO-ERROR-HANDLER                  ;09
+              NO-INTERRUPT-HANDLER              ;0A
+              UNIMPLEMENTED-CONTINUATION        ;0B
+              EXIT                              ;0C
+              BAD-PRIMITIVE-DURING-ERROR        ;0D
+              EOF                               ;0E
+              BAD-PRIMITIVE                     ;0F
+              TERMINATION-HANDLER               ;10
+              END-OF-CONTINUATION               ;11
+              INVALID-TYPE-CODE                 ;12
+              COMPILER-DEATH                    ;13
+              GC-OUT-OF-SPACE                   ;14
+              ))
+
+(vector-set! (get-fixed-objects-vector)
+            23 ;(fixed-objects-vector-slot 'MICROCODE-TERMINATION-PROCEDURES)
+            #())