Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vaxc / logicgen.mima
diff --git a/mim/development/mim/vaxc/logicgen.mima b/mim/development/mim/vaxc/logicgen.mima
new file mode 100644 (file)
index 0000000..b95df52
--- /dev/null
@@ -0,0 +1,552 @@
+
+#WORD *25723607743*
+                   <GFCN \1aAND-GEN ("VALUE" ATOM <OR <PRIMTYPE WORD> VARTBL> <OR <PRIMTYPE WORD> VARTBL> <OR VARTBL ATOM> "OPTIONAL" ANY) OP16 OP27 DEST8 HINT9>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <TEMP TEMP11:ATOM>
+                   <INTGO>
+                   <FRAME '\1aANDOR-GEN>
+                   <PUSH OP16>
+                   <DEAD OP16>
+                   <PUSH OP27>
+                   <DEAD OP27>
+                   <PUSH DEST8>
+                   <DEAD DEST8>
+                   <PUSH 'AND>
+                   <CALL '\1aANDOR-GEN 4 = TEMP11>
+                   <RETURN TEMP11>
+                   <DEAD TEMP11>
+                   <END \1aAND-GEN>
+
+#WORD *25663617663*
+                   <GFCN \1aOR-GEN ("VALUE" ATOM <OR <PRIMTYPE WORD> VARTBL> <OR <PRIMTYPE WORD> VARTBL> <OR VARTBL ATOM> "OPTIONAL" ANY) OP16 OP27 DEST8 HINT9>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <TEMP TEMP11:ATOM>
+                   <INTGO>
+                   <FRAME '\1aANDOR-GEN>
+                   <PUSH OP16>
+                   <DEAD OP16>
+                   <PUSH OP27>
+                   <DEAD OP27>
+                   <PUSH DEST8>
+                   <DEAD DEST8>
+                   <PUSH 'OR>
+                   <CALL '\1aANDOR-GEN 4 = TEMP11>
+                   <RETURN TEMP11>
+                   <DEAD TEMP11>
+                   <END \1aOR-GEN>
+
+#WORD *13447406441*
+                   <GFCN \1aEOR-GEN ("VALUE" ATOM <OR <PRIMTYPE WORD> VARTBL> <OR <PRIMTYPE WORD> VARTBL> <OR VARTBL ATOM> "OPTIONAL" ANY) OP16 OP27 DEST8 HINT9>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <TEMP TEMP11:ATOM>
+                   <INTGO>
+                   <FRAME '\1aANDOR-GEN>
+                   <PUSH OP16>
+                   <DEAD OP16>
+                   <PUSH OP27>
+                   <DEAD OP27>
+                   <PUSH DEST8>
+                   <DEAD DEST8>
+                   <PUSH 'EOR>
+                   <CALL '\1aANDOR-GEN 4 = TEMP11>
+                   <RETURN TEMP11>
+                   <DEAD TEMP11>
+                   <END \1aEOR-GEN>
+
+#WORD *13727406541*
+                   <GFCN \1aEQV-GEN ("VALUE" ATOM <OR <PRIMTYPE WORD> VARTBL> <OR <PRIMTYPE WORD> VARTBL> <OR VARTBL ATOM> "OPTIONAL" ANY) OP16 OP27 DEST8 HINT9>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <TEMP TEMP11:ATOM>
+                   <INTGO>
+                   <FRAME '\1aANDOR-GEN>
+                   <PUSH OP16>
+                   <DEAD OP16>
+                   <PUSH OP27>
+                   <DEAD OP27>
+                   <PUSH DEST8>
+                   <DEAD DEST8>
+                   <PUSH 'EQV>
+                   <CALL '\1aANDOR-GEN 4 = TEMP11>
+                   <RETURN TEMP11>
+                   <DEAD TEMP11>
+                   <END \1aEQV-GEN>
+
+#WORD *35447445621*
+                   <GFCN \1aANDOR-GEN ("VALUE" ATOM <OR <PRIMTYPE WORD> VARTBL> <OR <PRIMTYPE WORD> VARTBL> <OR VARTBL ATOM> ATOM) OP14 OP25 DEST6 OPC7>
+                   <TEMP (VAC8 %<>) TMP9 TEMP19>
+                   <INTGO>
+                   <SET TMP9 OP14>
+                   <TYPE? TMP9 <TYPE-CODE VARTBL> + PHRASE12>
+                   <SET OP14 OP25>
+                   <DEAD OP25>
+                   <SET OP25 TMP9>
+                   <DEAD TMP9>
+PHRASE12
+                   <TYPE? OP25 <TYPE-CODE VARTBL> + PHRASE14>
+                   <CHTYPE OP25 <TYPE-CODE FIX> = OP25>
+PHRASE14
+                   <FRAME '\1aFIND-CACHE-VAR>
+                   <PUSH OP14>
+                   <CALL '\1aFIND-CACHE-VAR 1 = VAC8>
+                   <TYPE? VAC8 <TYPE-CODE FALSE> + BOOL16>
+                   <NTHUV VAC8 6 = VAC8>
+                   <TYPE? VAC8 <TYPE-CODE FALSE> + BOOL16>
+                   <FRAME '\1aAVAILABLE?>
+                   <PUSH VAC8>
+                   <CALL '\1aAVAILABLE? 1 = TEMP19>
+                   <TYPE? TEMP19 <TYPE-CODE FALSE> - PHRASE24>
+                   <DEAD TEMP19>
+BOOL16
+                   <TYPE? OP25 <TYPE-CODE VARTBL> - PHRASE20>
+                   <FRAME '\1aFIND-CACHE-VAR>
+                   <SET TMP9 OP25>
+                   <PUSH TMP9>
+                   <CALL '\1aFIND-CACHE-VAR 1 = VAC8>
+                   <TYPE? VAC8 <TYPE-CODE FALSE> + PHRASE20>
+                   <NTHUV VAC8 6 = VAC8>
+                   <TYPE? VAC8 <TYPE-CODE FALSE> + PHRASE20>
+                   <FRAME '\1aAVAILABLE?>
+                   <PUSH VAC8>
+                   <CALL '\1aAVAILABLE? 1 = TEMP19>
+                   <TYPE? TEMP19 <TYPE-CODE FALSE> + PHRASE20>
+                   <DEAD TEMP19>
+                   <SET OP25 OP14>
+                   <DEAD OP14>
+                   <SET OP14 TMP9>
+                   <DEAD TMP9>
+                   <JUMP + PHRASE24>
+PHRASE20
+                   <SET VAC8 %<> (TYPE FALSE)>
+PHRASE24
+                   <VEQUAL? VAC8 0 + PHRASE26>
+                   <FRAME '\1aMUNG-AC>
+                   <PUSH VAC8>
+                   <CALL '\1aMUNG-AC 1>
+PHRASE26
+                   <TYPE? OP25 <TYPE-CODE FIX> - PHRASE29>
+                   <VEQUAL? OPC7 'EQV - PHRASE31>
+                   <XOR OP25 #WORD *777777777777* = OP25>
+                   <SET OPC7 'EOR (TYPE ATOM)>
+                   <JUMP + PHRASE43>
+PHRASE31
+                   <VEQUAL? OPC7 'AND - PHRASE43>
+                   <XOR OP25 #WORD *777777777777* = OP25>
+                   <JUMP + PHRASE43>
+PHRASE29
+                   <VEQUAL? OPC7 'EQV + BOOL34>
+                   <VEQUAL? OPC7 'AND - PHRASE43>
+BOOL34
+                   <VEQUAL? VAC8 0 + PHRASE36>
+                   <FRAME '\1aEMIT>
+                   <PUSH 210>
+                   <NTHUV VAC8 2 = TEMP19 (TYPE FIX)>
+                   <OR TEMP19 #WORD *120* = TEMP19>
+                   <LSH TEMP19 24 = TEMP19 (TYPE FIX)>
+                   <CHTYPE TEMP19 <TYPE-CODE EFF-ADDR> = STACK>
+                   <DEAD TEMP19>
+                   <NTHUV VAC8 2 = TEMP19 (TYPE FIX)>
+                   <OR TEMP19 #WORD *120* = TEMP19>
+                   <LSH TEMP19 24 = TEMP19 (TYPE FIX)>
+                   <CHTYPE TEMP19 <TYPE-CODE EFF-ADDR> = STACK>
+                   <DEAD TEMP19>
+                   <CALL '\1aEMIT 3>
+                   <JUMP + PHRASE38>
+PHRASE36
+                   <FRAME '\1aEMIT>
+                   <PUSH 210>
+                   <FRAME '\1aVAR-VALUE-ADDRESS>
+                   <PUSH OP14>
+                   <CALL '\1aVAR-VALUE-ADDRESS 1 = STACK>
+                   <FRAME '\1aGET-AC>
+                   <PUSH 'PREF-VAL>
+                   <PUSH 'T>
+                   <CALL '\1aGET-AC 2 = VAC8>
+                   <NTHUV VAC8 2 = TEMP19 (TYPE FIX)>
+                   <OR TEMP19 #WORD *120* = TEMP19>
+                   <LSH TEMP19 24 = TEMP19 (TYPE FIX)>
+                   <CHTYPE TEMP19 <TYPE-CODE EFF-ADDR> = STACK>
+                   <DEAD TEMP19>
+                   <CALL '\1aEMIT 3>
+PHRASE38
+                   <VEQUAL? OPC7 'EQV - PHRASE43>
+                   <SET OPC7 'EOR (TYPE ATOM)>
+PHRASE43
+                   <TYPE? VAC8 <TYPE-CODE FALSE> + PHRASE45>
+                   <VEQUAL? OPC7 'AND - BOOL47>
+                   <TYPE? OP25 <TYPE-CODE FIX> - PHRASE45>
+BOOL47
+                   <FRAME '\1aEMIT>
+                   <VEQUAL? OPC7 'AND - PHRASE50>
+                   <SET TEMP19 202 (TYPE FIX)>
+                   <JUMP + PHRASE52>
+PHRASE50
+                   <VEQUAL? OPC7 'EOR - PHRASE51>
+                   <DEAD OPC7>
+                   <SET TEMP19 204 (TYPE FIX)>
+                   <JUMP + PHRASE52>
+PHRASE51
+                   <SET TEMP19 200 (TYPE FIX)>
+PHRASE52
+                   <PUSH TEMP19>
+                   <DEAD TEMP19>
+                   <TYPE? OP25 <TYPE-CODE FIX> - PHRASE54>
+                   <FRAME '\1aMA-IMM>
+                   <PUSH OP25>
+                   <DEAD OP25>
+                   <CALL '\1aMA-IMM 1 = TEMP19>
+                   <JUMP + PHRASE56>
+PHRASE54
+                   <FRAME '\1aVAR-VALUE-ADDRESS>
+                   <PUSH OP25>
+                   <DEAD OP25>
+                   <CALL '\1aVAR-VALUE-ADDRESS 1 = TEMP19>
+PHRASE56
+                   <PUSH TEMP19>
+                   <DEAD TEMP19>
+                   <NTHUV VAC8 2 = TEMP19 (TYPE FIX)>
+                   <OR TEMP19 #WORD *120* = TEMP19>
+                   <LSH TEMP19 24 = TEMP19 (TYPE FIX)>
+                   <CHTYPE TEMP19 <TYPE-CODE EFF-ADDR> = STACK>
+                   <DEAD TEMP19>
+                   <CALL '\1aEMIT 3>
+                   <JUMP + PHRASE67>
+PHRASE45
+                   <TYPE? OP25 <TYPE-CODE FIX> - PHRASE58>
+                   <FRAME '\1aEMIT>
+                   <VEQUAL? OPC7 'AND - PHRASE61>
+                   <SET TEMP19 203 (TYPE FIX)>
+                   <JUMP + PHRASE63>
+PHRASE61
+                   <VEQUAL? OPC7 'EOR - PHRASE62>
+                   <DEAD OPC7>
+                   <SET TEMP19 205 (TYPE FIX)>
+                   <JUMP + PHRASE63>
+PHRASE62
+                   <SET TEMP19 201 (TYPE FIX)>
+PHRASE63
+                   <PUSH TEMP19>
+                   <DEAD TEMP19>
+                   <FRAME '\1aMA-IMM>
+                   <PUSH OP25>
+                   <DEAD OP25>
+                   <CALL '\1aMA-IMM 1 = STACK>
+                   <FRAME '\1aVAR-VALUE-ADDRESS>
+                   <PUSH OP14>
+                   <DEAD OP14>
+                   <CALL '\1aVAR-VALUE-ADDRESS 1 = STACK>
+                   <FRAME '\1aGET-AC>
+                   <PUSH 'PREF-VAL>
+                   <PUSH 'T>
+                   <CALL '\1aGET-AC 2 = VAC8>
+                   <NTHUV VAC8 2 = TEMP19 (TYPE FIX)>
+                   <OR TEMP19 #WORD *120* = TEMP19>
+                   <LSH TEMP19 24 = TEMP19 (TYPE FIX)>
+                   <CHTYPE TEMP19 <TYPE-CODE EFF-ADDR> = STACK>
+                   <DEAD TEMP19>
+                   <CALL '\1aEMIT 4>
+                   <JUMP + PHRASE67>
+PHRASE58
+                   <FRAME '\1aEMIT>
+                   <VEQUAL? OPC7 'AND - PHRASE70>
+                   <SET TEMP19 203 (TYPE FIX)>
+                   <JUMP + PHRASE72>
+PHRASE70
+                   <VEQUAL? OPC7 'EOR - PHRASE71>
+                   <DEAD OPC7>
+                   <SET TEMP19 205 (TYPE FIX)>
+                   <JUMP + PHRASE72>
+PHRASE71
+                   <SET TEMP19 201 (TYPE FIX)>
+PHRASE72
+                   <PUSH TEMP19>
+                   <DEAD TEMP19>
+                   <TYPE? OP14 <TYPE-CODE FIX> - PHRASE74>
+                   <FRAME '\1aMA-IMM>
+                   <PUSH OP14>
+                   <DEAD OP14>
+                   <CALL '\1aMA-IMM 1 = TEMP19>
+                   <JUMP + PHRASE78>
+PHRASE74
+                   <TYPE? VAC8 <TYPE-CODE FALSE> + PHRASE76>
+                   <NTHUV VAC8 2 = TMP9 (TYPE FIX)>
+                   <OR TMP9 #WORD *120* = TMP9>
+                   <LSH TMP9 24 = TMP9 (TYPE FIX)>
+                   <CHTYPE TMP9 <TYPE-CODE EFF-ADDR> = TEMP19>
+                   <DEAD TMP9>
+                   <JUMP + PHRASE78>
+PHRASE76
+                   <FRAME '\1aVAR-VALUE-ADDRESS>
+                   <PUSH OP14>
+                   <DEAD OP14>
+                   <CALL '\1aVAR-VALUE-ADDRESS 1 = TEMP19>
+PHRASE78
+                   <PUSH TEMP19>
+                   <DEAD TEMP19>
+                   <FRAME '\1aVAR-VALUE-ADDRESS>
+                   <PUSH OP25>
+                   <DEAD OP25>
+                   <CALL '\1aVAR-VALUE-ADDRESS 1 = STACK>
+                   <SET TEMP19 VAC8>
+                   <TYPE? TEMP19 <TYPE-CODE FALSE> - PHRASE82>
+                   <FRAME '\1aGET-AC>
+                   <PUSH 'PREF-VAL>
+                   <PUSH 'T>
+                   <CALL '\1aGET-AC 2 = VAC8>
+                   <SET TEMP19 VAC8>
+PHRASE82
+                   <NTHUV TEMP19 2 = TMP9 (TYPE FIX)>
+                   <DEAD TEMP19>
+                   <OR TMP9 #WORD *120* = TMP9>
+                   <LSH TMP9 24 = TMP9 (TYPE FIX)>
+                   <CHTYPE TMP9 <TYPE-CODE EFF-ADDR> = STACK>
+                   <DEAD TMP9>
+                   <CALL '\1aEMIT 4>
+PHRASE67
+                   <FRAME '\1aDEST-DECL>
+                   <PUSH VAC8>
+                   <DEAD VAC8>
+                   <PUSH DEST6>
+                   <DEAD DEST6>
+                   <PUSH 'FIX>
+                   <CALL '\1aDEST-DECL 3>
+                   <RETURN 'NORMAL>
+                   <END \1aANDOR-GEN>
+
+#WORD *13124635253*
+                   <GFCN \1aASH-GEN ("VALUE" ATOM <OR FIX VARTBL> <OR FIX VARTBL> <OR ATOM VARTBL> "OPTIONAL" ANY) VAL16 VAL27 DEST8 HINT9>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <TEMP TEMP11:ATOM>
+                   <INTGO>
+                   <FRAME '\1aSHIFT-GEN>
+                   <PUSH VAL16>
+                   <DEAD VAL16>
+                   <PUSH VAL27>
+                   <DEAD VAL27>
+                   <PUSH DEST8>
+                   <DEAD DEST8>
+                   <PUSH 'ASH>
+                   <CALL '\1aSHIFT-GEN 4 = TEMP11>
+                   <RETURN TEMP11>
+                   <DEAD TEMP11>
+                   <END \1aASH-GEN>
+
+#WORD *25250435511*
+                   <GFCN \1aLSH-GEN ("VALUE" ATOM <OR FIX VARTBL> <OR FIX VARTBL> <OR ATOM VARTBL> "OPTIONAL" ANY) VAL16 VAL27 DEST8 HINT9>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <TEMP TEMP11:ATOM>
+                   <INTGO>
+                   <FRAME '\1aSHIFT-GEN>
+                   <PUSH VAL16>
+                   <DEAD VAL16>
+                   <PUSH VAL27>
+                   <DEAD VAL27>
+                   <PUSH DEST8>
+                   <DEAD DEST8>
+                   <PUSH 'LSH>
+                   <CALL '\1aSHIFT-GEN 4 = TEMP11>
+                   <RETURN TEMP11>
+                   <DEAD TEMP11>
+                   <END \1aLSH-GEN>
+
+#WORD *25110436411*
+                   <GFCN \1aROT-GEN ("VALUE" ATOM <OR FIX VARTBL> <OR FIX VARTBL> <OR ATOM VARTBL> "OPTIONAL" ANY) VAL16 VAL27 DEST8 HINT9>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <TEMP TEMP11:ATOM>
+                   <INTGO>
+                   <FRAME '\1aSHIFT-GEN>
+                   <PUSH VAL16>
+                   <DEAD VAL16>
+                   <PUSH VAL27>
+                   <DEAD VAL27>
+                   <PUSH DEST8>
+                   <DEAD DEST8>
+                   <PUSH 'ROT>
+                   <CALL '\1aSHIFT-GEN 4 = TEMP11>
+                   <RETURN TEMP11>
+                   <DEAD TEMP11>
+                   <END \1aROT-GEN>
+
+#WORD *20701161375*
+                   <GFCN \1aSHIFT-GEN ("VALUE" ATOM <OR VARTBL <PRIMTYPE FIX>> <OR VARTBL <PRIMTYPE FIX>> <OR VARTBL ATOM> ATOM) VAL14 VAL25 DEST6 OPC7>
+                   <TEMP (VAC8 %<>) (USE-LONG9 %<>) TEMP34>
+                   <INTGO>
+                   <TYPE? VAL14 <TYPE-CODE VARTBL> + PHRASE12>
+                   <CHTYPE VAL14 <TYPE-CODE FIX> = VAL14>
+PHRASE12
+                   <TYPE? VAL25 <TYPE-CODE VARTBL> + PHRASE14>
+                   <CHTYPE VAL25 <TYPE-CODE FIX> = VAL25>
+PHRASE14
+                   <VEQUAL? OPC7 'LSH - PHRASE16>
+                   <TYPE? VAL14 <TYPE-CODE VARTBL> + BOOL18>
+                   <LESS? VAL14 0 - PHRASE16 (TYPE FIX)>
+BOOL18
+                   <TYPE? VAL25 <TYPE-CODE VARTBL> + BOOL21>
+                   <LESS? VAL25 0 - PHRASE16 (TYPE FIX)>
+BOOL21
+                   <FRAME '\1aGET-AC>
+                   <PUSH 'PREF-VAL>
+                   <PUSH 'T>
+                   <CALL '\1aGET-AC 2 = VAC8>
+                   <FRAME '\1aGET-AC>
+                   <FRAME '\1aNEXT-AC>
+                   <PUSH VAC8>
+                   <CALL '\1aNEXT-AC 1 = STACK>
+                   <PUSH 'T>
+                   <CALL '\1aGET-AC 2>
+                   <SET USE-LONG9 'T (TYPE ATOM)>
+                   <TYPE? VAL14 <TYPE-CODE VARTBL> - PHRASE28>
+                   <FRAME '\1aLOAD-VAR>
+                   <PUSH VAL14>
+                   <PUSH 'VALUE>
+                   <PUSH 'T>
+                   <PUSH VAC8>
+                   <CALL '\1aLOAD-VAR 4>
+                   <JUMP + PHRASE30>
+PHRASE28
+                   <FRAME '\1aLOAD-CONSTANT>
+                   <PUSH VAC8>
+                   <PUSH VAL14>
+                   <CALL '\1aLOAD-CONSTANT 2>
+PHRASE30
+                   <FRAME '\1aEMIT>
+                   <PUSH 212>
+                   <FRAME '\1aNEXT-AC>
+                   <PUSH VAC8>
+                   <CALL '\1aNEXT-AC 1 = TEMP34>
+                   <NTHUV TEMP34 2 = TEMP34 (TYPE FIX)>
+                   <OR TEMP34 #WORD *120* = TEMP34>
+                   <LSH TEMP34 24 = TEMP34 (TYPE FIX)>
+                   <CHTYPE TEMP34 <TYPE-CODE EFF-ADDR> = STACK>
+                   <DEAD TEMP34>
+                   <CALL '\1aEMIT 2>
+                   <JUMP + PHRASE35>
+PHRASE16
+                   <TYPE? VAL14 <TYPE-CODE FIX> + BOOL37>
+                   <FRAME '\1aFIND-CACHE-VAR>
+                   <PUSH VAL14>
+                   <CALL '\1aFIND-CACHE-VAR 1 = VAC8>
+                   <TYPE? VAC8 <TYPE-CODE FALSE> + BOOL37>
+                   <NTHUV VAC8 6 = VAC8>
+                   <TYPE? VAC8 <TYPE-CODE FALSE> + BOOL37>
+                   <FRAME '\1aAVAILABLE?>
+                   <PUSH VAC8>
+                   <CALL '\1aAVAILABLE? 1 = TEMP34>
+                   <TYPE? TEMP34 <TYPE-CODE FALSE> - PHRASE35>
+                   <DEAD TEMP34>
+BOOL37
+                   <SET VAC8 %<> (TYPE FALSE)>
+PHRASE35
+                   <TYPE? VAC8 <TYPE-CODE FALSE> + PHRASE41>
+                   <EQUAL? VAL14 DEST6 + PHRASE41>
+                   <FRAME '\1aMUNG-AC>
+                   <PUSH VAC8>
+                   <CALL '\1aMUNG-AC 1>
+PHRASE41
+                   <FRAME '\1aEMIT>
+                   <VEQUAL? OPC7 'ROT - PHRASE46>
+                   <DEAD OPC7>
+                   <SET TEMP34 156 (TYPE FIX)>
+                   <JUMP + PHRASE49>
+PHRASE46
+                   <VEQUAL? USE-LONG9 0 + PHRASE48>
+                   <SET TEMP34 121 (TYPE FIX)>
+                   <JUMP + PHRASE49>
+PHRASE48
+                   <SET TEMP34 120 (TYPE FIX)>
+PHRASE49
+                   <PUSH TEMP34>
+                   <DEAD TEMP34>
+                   <TYPE? VAL25 <TYPE-CODE FIX> - PHRASE51>
+                   <FRAME '\1aMA-IMM>
+                   <PUSH VAL25>
+                   <DEAD VAL25>
+                   <CALL '\1aMA-IMM 1 = TEMP34>
+                   <JUMP + PHRASE53>
+PHRASE51
+                   <FRAME '\1aVAR-VALUE-ADDRESS>
+                   <PUSH VAL25>
+                   <DEAD VAL25>
+                   <CALL '\1aVAR-VALUE-ADDRESS 1 = TEMP34>
+PHRASE53
+                   <PUSH TEMP34>
+                   <DEAD TEMP34>
+                   <TYPE? VAC8 <TYPE-CODE FALSE> + PHRASE56>
+                   <NTHUV VAC8 2 = TEMP34 (TYPE FIX)>
+                   <OR TEMP34 #WORD *120* = TEMP34>
+                   <LSH TEMP34 24 = TEMP34 (TYPE FIX)>
+                   <CHTYPE TEMP34 <TYPE-CODE EFF-ADDR> = TEMP34>
+                   <JUMP + PHRASE59>
+PHRASE56
+                   <TYPE? VAL14 <TYPE-CODE FIX> - PHRASE57>
+                   <FRAME '\1aMA-IMM>
+                   <PUSH VAL14>
+                   <DEAD VAL14>
+                   <CALL '\1aMA-IMM 1 = TEMP34>
+                   <JUMP + PHRASE59>
+PHRASE57
+                   <FRAME '\1aVAR-VALUE-ADDRESS>
+                   <PUSH VAL14>
+                   <DEAD VAL14>
+                   <CALL '\1aVAR-VALUE-ADDRESS 1 = TEMP34>
+PHRASE59
+                   <PUSH TEMP34>
+                   <DEAD TEMP34>
+                   <VEQUAL? USE-LONG9 0 + PHRASE62>
+                   <DEAD USE-LONG9>
+                   <NTHUV VAC8 2 = TEMP34 (TYPE FIX)>
+                   <OR TEMP34 #WORD *120* = TEMP34>
+                   <LSH TEMP34 24 = TEMP34 (TYPE FIX)>
+                   <CHTYPE TEMP34 <TYPE-CODE EFF-ADDR> = TEMP34>
+                   <JUMP + PHRASE65>
+PHRASE62
+                   <TYPE? VAC8 <TYPE-CODE FALSE> + PHRASE63>
+                   <NTHUV VAC8 2 = USE-LONG9 (TYPE FIX)>
+                   <OR USE-LONG9 #WORD *120* = USE-LONG9>
+                   <LSH USE-LONG9 24 = USE-LONG9 (TYPE FIX)>
+                   <CHTYPE USE-LONG9 <TYPE-CODE EFF-ADDR> = TEMP34>
+                   <DEAD USE-LONG9>
+                   <JUMP + PHRASE65>
+PHRASE63
+                   <FRAME '\1aGET-AC>
+                   <PUSH 'PREF-VAL>
+                   <PUSH 'T>
+                   <CALL '\1aGET-AC 2 = VAC8>
+                   <NTHUV VAC8 2 = USE-LONG9 (TYPE FIX)>
+                   <OR USE-LONG9 #WORD *120* = USE-LONG9>
+                   <LSH USE-LONG9 24 = USE-LONG9 (TYPE FIX)>
+                   <CHTYPE USE-LONG9 <TYPE-CODE EFF-ADDR> = TEMP34>
+                   <DEAD USE-LONG9>
+PHRASE65
+                   <PUSH TEMP34>
+                   <DEAD TEMP34>
+                   <CALL '\1aEMIT 4>
+                   <FRAME '\1aDEST-DECL>
+                   <PUSH VAC8>
+                   <DEAD VAC8>
+                   <PUSH DEST6>
+                   <DEAD DEST6>
+                   <PUSH 'FIX>
+                   <CALL '\1aDEST-DECL 3>
+                   <RETURN 'NORMAL>
+                   <END \1aSHIFT-GEN>