Instructions for the UCSD IV.1 p-Machine ======================================== (* Typed in by Martin Hepperle, 2025 Beware: there may be typos) TAB separated tables can be imported into spreadsheet or text processing tools. *) Parameter Types =============== UB Unsigned Byte SB Signed Byte DB Don't Care Byte B Big W Word Sorted by Mnemonic ================== Mnemonics Parameters OpCode Description ABI 224 Absolute Value Integer ABR 227 Absolute Value Real ADI 162 Add Integer ADJ UB 199 Adjust Set ADR 192 Add Real ASTR UB1,UB2 235 Assign String BNOT 159 Boolean Not BPT 158 Break Point CAP B 171 Copy Array Parameter CFP UB 151 Call Formal Parameter CGP UB 145 Call Global Procedure CHK 203 Check Subrange Bounds CIP DB,UB 146 Call Intermediate Procedure CLP UB 144 Call Local Procedure CSP UB 172 Copy String Parameter CSTR 236 Check String Index CXG UB1,UB2 148 Call External Global CXI UB1,DB,UB2 149 Call External Intermediate CXL UB1,UB2 147 Call External Local DECI 238 Decrement Integer DIF 221 Set Difference DUP1 226 Duplicate One Word DUPR 198 Duplicate Real DVI 141 Divide Integer DVR 195 Divide Real EFJ SB 210 Equal False Jump EQBYT UB1,UB2,B 185 Equal Byte EQPWR 182 Equal Set EQREAL 205 Equal Real EQSTR UB1,UB2 232 Equal String EQUI 176 Equal Integer FJP SB 212 False Jump FJPL W 213 False Jump Long FLT 204 Float GEBYT UB1,UB2,B 187 Greater Than or Equal Byte Array GEPWR 184 Greater Than or Equal Set GEQI 179 Greater Than or Equal Integer GEREAL 207 Grater Than or Equal Real GESTR UB1,UB2 234 Greater Than or Equal String GEUSW 181 Greater Than or Equal Unsigned INC B 231 Increment INCI 237 Increment Integer IND B 230 Index INN 218 Set Membership INT 220 Set Intersection IXA B 215 Index Array IXP UB1,UB2 216 Index Packed Array LAE UB,B 155 Load Extended Address LAND 161 Logical And LAO B 134 Load Global Address LCO B 130 Load Constant Offset LDA DB,B 136 Load Intermediate Address LDB 167 Load Byte LDC UB1,B,UB2 131 Load Constant LDCB UB 128 Load Constant Byte LDCI W 129 Load Constant Integer LDCN 152 Load Constant NIL LDCRL B 242 Load Constant Real LDE UB,B 154 Load Extended LDL B 135 Load Local LDM UB 208 Load Multiple LDO B 133 Load Global LDP 201 Load Packed LDRL 243 Load Real LEBYT UB1,UB2,B 186 Less Than or Equal Byte Array LEPWR 183 Less Than or Equal Set LEQI 178 Less Than or Equal Integer LEREAL 206 Less Than or Equal Real LESTR UB1,UB2 233 Less Than or Equal String LEUSW 180 Unsigned Less Than or Equal LLA B 132 Load Local Address LNOT 229 Logical Not LOD DB,B 137 Load Immediate LOR 160 Logical Or LPR 157 Load Processor Register LSL DB 153 Load Static Link MODI 143 Modulo Integers MOV UB,B 197 Move MPI 140 Multiply Integer MPR 194 Multiply Real NAT 168 Enter Native Code NAT-INFO B 169 Native Code Information NEQI 177 Not Equal Integet NFJ SB 211 Not Equal False Jump NGI 225 Negate Integer NGR 228 Negate Real NOP 156 No Operation RESERVE1 250 Reserved RESERVE2 251 Reserved RESERVE3 252 Reserved RESERVE4 253 Reserved RESERVE5 254 Reserved RESERVE6 255 Reserved RND 191 Round Real RPU B 150 Return from Procedure SBI 163 Subtract Integer SBR 193 Subtract Real SCIP1 UB 239 Short Call Intermediate Procedure SCIP1 UB 240 Short Call Intermediate Procedure SCXG1 UB 112 Short Call External Global SCXG2 UB 113 Short Call External Global SCXG3 UB 114 Short Call External Global SCXG4 UB 115 Short Call External Global SCXG5 UB 116 Short Call External Global SCXG6 UB 117 Short Call External Global SCXG7 UB 118 Short Call External Global SCXG8 UB 119 Short Call External Global SIGNAL 222 Signal SIND0 120 Short Index SIND1 121 Short Index SIND2 122 Short Index SIND3 123 Short Index SIND4 124 Short Index SIND5 125 Short Index SIND6 126 Short Index SIND7 127 Short Index SLDC0 0 Short Load Constant SLDC1 1 Short Load Constant SLDC10 10 Short Load Constant SLDC11 11 Short Load Constant SLDC12 12 Short Load Constant SLDC13 13 Short Load Constant SLDC14 14 Short Load Constant SLDC15 15 Short Load Constant SLDC16 16 Short Load Constant SLDC17 17 Short Load Constant SLDC18 18 Short Load Constant SLDC19 19 Short Load Constant SLDC2 2 Short Load Constant SLDC20 20 Short Load Constant SLDC21 21 Short Load Constant SLDC22 22 Short Load Constant SLDC23 23 Short Load Constant SLDC24 24 Short Load Constant SLDC25 25 Short Load Constant SLDC26 26 Short Load Constant SLDC27 27 Short Load Constant SLDC28 28 Short Load Constant SLDC29 29 Short Load Constant SLDC3 3 Short Load Constant SLDC30 30 Short Load Constant SLDC31 31 Short Load Constant SLDC4 4 Short Load Constant SLDC5 5 Short Load Constant SLDC6 6 Short Load Constant SLDC7 7 Short Load Constant SLDC8 8 Short Load Constant SLDC9 9 Short Load Constant SLDL1 32 Short Load Local SLDL10 41 Short Load Local SLDL11 42 Short Load Local SLDL12 43 Short Load Local SLDL13 44 Short Load Local SLDL14 45 Short Load Local SLDL15 46 Short Load Local SLDL16 47 Short Load Local SLDL2 33 Short Load Local SLDL3 34 Short Load Local SLDL4 35 Short Load Local SLDL5 36 Short Load Local SLDL6 37 Short Load Local SLDL7 38 Short Load Local SLDL8 39 Short Load Local SLDL9 40 Short Load Local SLDO1 48 Short Load Global SLDO10 57 Short Load Global SLDO11 58 Short Load Global SLDO12 59 Short Load Global SLDO13 60 Short Load Global SLDO14 61 Short Load Global SLDO15 62 Short Load Global SLDO16 63 Short Load Global SLDO2 49 Short Load Global SLDO3 50 Short Load Global SLDO4 51 Short Load Global SLDO5 52 Short Load Global SLDO6 53 Short Load Global SLDO7 54 Short Load Global SLDO8 55 Short Load Global SLDO9 56 Short Load Global SLLA1 96 Short Load Local Address SLLA2 97 Short Load Local Address SLLA3 98 Short Load Local Address SLLA4 99 Short Load Local Address SLLA5 100 Short Load Local Address SLLA6 101 Short Load Local Address SLLA7 102 Short Load Local Address SLLA8 103 Short Load Local Address SLOD1 B 173 Short Load Intermediate SLOD2 B 174 Short Load Intermediate SPR 209 Store Processor Register SRO B 165 Store Global SRS 188 Subrange Set SSTL1 104 Short Store Local SSTL2 105 Short Store Local SSTL3 106 Short Store Local SSTL4 107 Short Store Local SSTL5 108 Short Store Local SSTL6 109 Short Store Local SSTL7 110 Short Store Local SSTL8 111 Short Store Local STB 200 Store Byte STE UB,B 217 Store Extended STL B 164 Store Local STM UB 142 Store Multiple STO 196 Store STP 202 Store Packed STR DB,B 166 Store Intermediate STRL 244 Store Real SWAP 189 Swap TJP SB 241 True Jump TNC 190 Truncate Real UJP SB 138 Unconditional Jump UJPL W 139 Unconditional Jump Long UNI 219 Set Union WAIT 223 Wait XJP B 214 Case Jump 64 unused 65 unused 66 unused 67 unused 68 unused 69 unused 70 unused 71 unused 72 unused 73 unused 74 unused 75 unused 76 unused 77 unused 78 unused 79 unused 80 unused 81 unused 82 unused 83 unused 84 unused 85 unused 86 unused 87 unused 88 unused 89 unused 90 unused 91 unused 92 unused 93 unused 94 unused 95 unused 170 reserved 175 unused 245 unused 246 unused 247 unused 248 unused 249 unused Sorted by Opcode ================ Mnemonics Parameters OpCode Description SLDC0 0 Short Load Constant SLDC1 1 Short Load Constant SLDC2 2 Short Load Constant SLDC3 3 Short Load Constant SLDC4 4 Short Load Constant SLDC5 5 Short Load Constant SLDC6 6 Short Load Constant SLDC7 7 Short Load Constant SLDC8 8 Short Load Constant SLDC9 9 Short Load Constant SLDC10 10 Short Load Constant SLDC11 11 Short Load Constant SLDC12 12 Short Load Constant SLDC13 13 Short Load Constant SLDC14 14 Short Load Constant SLDC15 15 Short Load Constant SLDC16 16 Short Load Constant SLDC17 17 Short Load Constant SLDC18 18 Short Load Constant SLDC19 19 Short Load Constant SLDC20 20 Short Load Constant SLDC21 21 Short Load Constant SLDC22 22 Short Load Constant SLDC23 23 Short Load Constant SLDC24 24 Short Load Constant SLDC25 25 Short Load Constant SLDC26 26 Short Load Constant SLDC27 27 Short Load Constant SLDC28 28 Short Load Constant SLDC29 29 Short Load Constant SLDC30 30 Short Load Constant SLDC31 31 Short Load Constant SLDL1 32 Short Load Local SLDL2 33 Short Load Local SLDL3 34 Short Load Local SLDL4 35 Short Load Local SLDL5 36 Short Load Local SLDL6 37 Short Load Local SLDL7 38 Short Load Local SLDL8 39 Short Load Local SLDL9 40 Short Load Local SLDL10 41 Short Load Local SLDL11 42 Short Load Local SLDL12 43 Short Load Local SLDL13 44 Short Load Local SLDL14 45 Short Load Local SLDL15 46 Short Load Local SLDL16 47 Short Load Local SLDO1 48 Short Load Global SLDO2 49 Short Load Global SLDO3 50 Short Load Global SLDO4 51 Short Load Global SLDO5 52 Short Load Global SLDO6 53 Short Load Global SLDO7 54 Short Load Global SLDO8 55 Short Load Global SLDO9 56 Short Load Global SLDO10 57 Short Load Global SLDO11 58 Short Load Global SLDO12 59 Short Load Global SLDO13 60 Short Load Global SLDO14 61 Short Load Global SLDO15 62 Short Load Global SLDO16 63 Short Load Global 64 unused 65 unused 66 unused 67 unused 68 unused 69 unused 70 unused 71 unused 72 unused 73 unused 74 unused 75 unused 76 unused 77 unused 78 unused 79 unused 80 unused 81 unused 82 unused 83 unused 84 unused 85 unused 86 unused 87 unused 88 unused 89 unused 90 unused 91 unused 92 unused 93 unused 94 unused 95 unused SLLA1 96 Short Load Local Address SLLA2 97 Short Load Local Address SLLA3 98 Short Load Local Address SLLA4 99 Short Load Local Address SLLA5 100 Short Load Local Address SLLA6 101 Short Load Local Address SLLA7 102 Short Load Local Address SLLA8 103 Short Load Local Address SSTL1 104 Short Store Local SSTL2 105 Short Store Local SSTL3 106 Short Store Local SSTL4 107 Short Store Local SSTL5 108 Short Store Local SSTL6 109 Short Store Local SSTL7 110 Short Store Local SSTL8 111 Short Store Local SCXG1 UB 112 Short Call External Global SCXG2 UB 113 Short Call External Global SCXG3 UB 114 Short Call External Global SCXG4 UB 115 Short Call External Global SCXG5 UB 116 Short Call External Global SCXG6 UB 117 Short Call External Global SCXG7 UB 118 Short Call External Global SCXG8 UB 119 Short Call External Global SIND0 120 Short Index SIND1 121 Short Index SIND2 122 Short Index SIND3 123 Short Index SIND4 124 Short Index SIND5 125 Short Index SIND6 126 Short Index SIND7 127 Short Index LDCB UB 128 Load Constant Byte LDCI W 129 Load Constant Integer LCO B 130 Load Constant Offset LDC UB1,B,UB2 131 Load Constant LLA B 132 Load Local Address LDO B 133 Load Global LAO B 134 Load Global Address LDL B 135 Load Local LDA DB,B 136 Load Intermediate Address LOD DB,B 137 Load Immediate UJP SB 138 Unconditional Jump UJPL W 139 Unconditional Jump Long MPI 140 Multiply Integer DVI 141 Divide Integer STM UB 142 Store Multiple MODI 143 Modulo Integers CLP UB 144 Call Local Procedure CGP UB 145 Call Global Procedure CIP DB,UB 146 Call Intermediate Procedure CXL UB1,UB2 147 Call External Local CXG UB1,UB2 148 Call External Global CXI UB1,DB,UB2 149 Call External Intermediate RPU B 150 Return from Procedure CFP UB 151 Call Formal Parameter LDCN 152 Load Constant NIL LSL DB 153 Load Static Link LDE UB,B 154 Load Extended LAE UB,B 155 Load Extended Address NOP 156 No Operation LPR 157 Load Processor Register BPT 158 Break Point BNOT 159 Boolean Not LOR 160 Logical Or LAND 161 Logical And ADI 162 Add Integer SBI 163 Subtract Integer STL B 164 Store Local SRO B 165 Store Global STR DB,B 166 Store Intermediate LDB 167 Load Byte NAT 168 Enter Native Code NAT-INFO B 169 Native Code Information 170 reserved CAP B 171 Copy Array Parameter CSP UB 172 Copy String Parameter SLOD1 B 173 Short Load Intermediate SLOD2 B 174 Short Load Intermediate 175 unused EQUI 176 Equal Integer NEQI 177 Not Equal Integet LEQI 178 Less Than or Equal Integer GEQI 179 Greater Than or Equal Integer LEUSW 180 Unsigned Less Than or Equal GEUSW 181 Greater Than or Equal Unsigned EQPWR 182 Equal Set LEPWR 183 Less Than or Equal Set GEPWR 184 Greater Than or Equal Set EQBYT UB1,UB2,B 185 Equal Byte LEBYT UB1,UB2,B 186 Less Than or Equal Byte Array GEBYT UB1,UB2,B 187 Greater Than or Equal Byte Array SRS 188 Subrange Set SWAP 189 Swap TNC 190 Truncate Real RND 191 Round Real ADR 192 Add Real SBR 193 Subtract Real MPR 194 Multiply Real DVR 195 Divide Real STO 196 Store MOV UB,B 197 Move DUPR 198 Duplicate Real ADJ UB 199 Adjust Set STB 200 Store Byte LDP 201 Load Packed STP 202 Store Packed CHK 203 Check Subrange Bounds FLT 204 Float EQREAL 205 Equal Real LEREAL 206 Less Than or Equal Real GEREAL 207 Grater Than or Equal Real LDM UB 208 Load Multiple SPR 209 Store Processor Register EFJ SB 210 Equal False Jump NFJ SB 211 Not Equal False Jump FJP SB 212 False Jump FJPL W 213 False Jump Long XJP B 214 Case Jump IXA B 215 Index Array IXP UB1,UB2 216 Index Packed Array STE UB,B 217 Store Extended INN 218 Set Membership UNI 219 Set Union INT 220 Set Intersection DIF 221 Set Difference SIGNAL 222 Signal WAIT 223 Wait ABI 224 Absolute Value Integer NGI 225 Negate Integer DUP1 226 Duplicate One Word ABR 227 Absolute Value Real NGR 228 Negate Real LNOT 229 Logical Not IND B 230 Index INC B 231 Increment EQSTR UB1,UB2 232 Equal String LESTR UB1,UB2 233 Less Than or Equal String GESTR UB1,UB2 234 Greater Than or Equal String ASTR UB1,UB2 235 Assign String CSTR 236 Check String Index INCI 237 Increment Integer DECI 238 Decrement Integer SCIP1 UB 239 Short Call Intermediate Procedure SCIP1 UB 240 Short Call Intermediate Procedure TJP SB 241 True Jump LDCRL B 242 Load Constant Real LDRL 243 Load Real STRL 244 Store Real 245 unused 246 unused 247 unused 248 unused 249 unused RESERVE1 250 Reserved RESERVE2 251 Reserved RESERVE3 252 Reserved RESERVE4 253 Reserved RESERVE5 254 Reserved RESERVE6 255 Reserved (* EOF *)