aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/progmodes/mixal-mode.el865
1 files changed, 433 insertions, 432 deletions
diff --git a/lisp/progmodes/mixal-mode.el b/lisp/progmodes/mixal-mode.el
index 8c9359ae859..0e881c0d79f 100644
--- a/lisp/progmodes/mixal-mode.el
+++ b/lisp/progmodes/mixal-mode.el
@@ -124,950 +124,951 @@ value.")
124(defvar mixal-operation-codes-alist 124(defvar mixal-operation-codes-alist
125 ;; FIXME: the codes FADD, FSUB, FMUL, FDIV, JRAD, and FCMP were in 125 ;; FIXME: the codes FADD, FSUB, FMUL, FDIV, JRAD, and FCMP were in
126 ;; mixal-operation-codes but not here. They should probably be added here. 126 ;; mixal-operation-codes but not here. They should probably be added here.
127 `((LDA loading "load A" 8 field 127 (eval-when-compile
128 "Put in rA the contents of cell no. M. 128 `((LDA loading "load A" 8 field
129 "Put in rA the contents of cell no. M.
129Uses a + when there is no sign in subfield. Subfield is left padded with 130Uses a + when there is no sign in subfield. Subfield is left padded with
130zeros to make a word." 131zeros to make a word."
131 2) 132 2)
132 133
133 (LDX loading "load X" 15 field 134 (LDX loading "load X" 15 field
134 "Put in rX the contents of cell no. M. 135 "Put in rX the contents of cell no. M.
135Uses a + when there is no sign in subfield. Subfield is left padded with 136Uses a + when there is no sign in subfield. Subfield is left padded with
136zeros to make a word." 137zeros to make a word."
137 2) 138 2)
138 139
139 (LD1 loading "load I1" ,(+ 8 1) field 140 (LD1 loading "load I1" ,(+ 8 1) field
140 "Put in rI1 the contents of cell no. M. 141 "Put in rI1 the contents of cell no. M.
141Uses a + when there is no sign in subfield. Subfield is left padded with 142Uses a + when there is no sign in subfield. Subfield is left padded with
142zeros to make a word. Index registers only have 2 bytes and a sign, Trying 143zeros to make a word. Index registers only have 2 bytes and a sign, Trying
143to set anything more that that will result in undefined behavior." 144to set anything more that that will result in undefined behavior."
144 2) 145 2)
145 146
146 (LD2 loading "load I2" ,(+ 8 2) field 147 (LD2 loading "load I2" ,(+ 8 2) field
147 "Put in rI2 the contents of cell no. M. 148 "Put in rI2 the contents of cell no. M.
148Uses a + when there is no sign in subfield. Subfield is left padded with 149Uses a + when there is no sign in subfield. Subfield is left padded with
149zeros to make a word. Index registers only have 2 bytes and a sign, Trying 150zeros to make a word. Index registers only have 2 bytes and a sign, Trying
150to set anything more that that will result in undefined behavior." 151to set anything more that that will result in undefined behavior."
151 2) 152 2)
152 153
153 (LD3 loading "load I3" ,(+ 8 3) field 154 (LD3 loading "load I3" ,(+ 8 3) field
154 "Put in rI3 the contents of cell no. M. 155 "Put in rI3 the contents of cell no. M.
155Uses a + when there is no sign in subfield. Subfield is left padded with 156Uses a + when there is no sign in subfield. Subfield is left padded with
156zeros to make a word. Index registers only have 2 bytes and a sign, Trying 157zeros to make a word. Index registers only have 2 bytes and a sign, Trying
157to set anything more that that will result in undefined behavior." 158to set anything more that that will result in undefined behavior."
158 2) 159 2)
159 160
160 (LD4 loading "load I4" ,(+ 8 4) field 161 (LD4 loading "load I4" ,(+ 8 4) field
161 "Put in rI4 the contents of cell no. M. 162 "Put in rI4 the contents of cell no. M.
162Uses a + when there is no sign in subfield. Subfield is left padded with 163Uses a + when there is no sign in subfield. Subfield is left padded with
163zeros to make a word. Index registers only have 2 bytes and a sign, Trying 164zeros to make a word. Index registers only have 2 bytes and a sign, Trying
164to set anything more that that will result in undefined behavior." 165to set anything more that that will result in undefined behavior."
165 2) 166 2)
166 167
167 (LD5 loading "load I5" ,(+ 8 5) field 168 (LD5 loading "load I5" ,(+ 8 5) field
168 "Put in rI5 the contents of cell no. M. 169 "Put in rI5 the contents of cell no. M.
169Uses a + when there is no sign in subfield. Subfield is left padded with 170Uses a + when there is no sign in subfield. Subfield is left padded with
170zeros to make a word. Index registers only have 2 bytes and a sign, Trying 171zeros to make a word. Index registers only have 2 bytes and a sign, Trying
171to set anything more that that will result in undefined behavior." 172to set anything more that that will result in undefined behavior."
172 2) 173 2)
173 174
174 (LD6 loading "load I6" ,(+ 8 6) field 175 (LD6 loading "load I6" ,(+ 8 6) field
175 "Put in rI6 the contents of cell no. M. 176 "Put in rI6 the contents of cell no. M.
176Uses a + when there is no sign in subfield. Subfield is left padded with 177Uses a + when there is no sign in subfield. Subfield is left padded with
177zeros to make a word. Index registers only have 2 bytes and a sign, Trying 178zeros to make a word. Index registers only have 2 bytes and a sign, Trying
178to set anything more that that will result in undefined behavior." 179to set anything more that that will result in undefined behavior."
179 2) 180 2)
180 181
181 (LDAN loading "load A negative" 16 field 182 (LDAN loading "load A negative" 16 field
182 "Put in rA the contents of cell no. M, with opposite sign. 183 "Put in rA the contents of cell no. M, with opposite sign.
183Uses a + when there is no sign in subfield, otherwise use the opposite sign. 184Uses a + when there is no sign in subfield, otherwise use the opposite sign.
184Subfield is left padded with zeros to make a word." 185Subfield is left padded with zeros to make a word."
185 2) 186 2)
186 187
187 (LDXN loading "load X negative" 23 field 188 (LDXN loading "load X negative" 23 field
188 "Put in rX the contents of cell no. M, with opposite sign. 189 "Put in rX the contents of cell no. M, with opposite sign.
189Uses a + when there is no sign in subfield, otherwise use the opposite sign. 190Uses a + when there is no sign in subfield, otherwise use the opposite sign.
190Subfield is left padded with zeros to make a word." 191Subfield is left padded with zeros to make a word."
191 2) 192 2)
192 193
193 (LD1N loading "load I1 negative" ,(+ 16 1) field 194 (LD1N loading "load I1 negative" ,(+ 16 1) field
194 "Put in rI1 the contents of cell no. M, with opposite sign. 195 "Put in rI1 the contents of cell no. M, with opposite sign.
195Uses a + when there is no sign in subfield, otherwise use the opposite sign. 196Uses a + when there is no sign in subfield, otherwise use the opposite sign.
196Subfield is left padded with zeros to make a word. Index registers only 197Subfield is left padded with zeros to make a word. Index registers only
197have 2 bytes and a sign, Trying to set anything more that that will result 198have 2 bytes and a sign, Trying to set anything more that that will result
198in undefined behavior." 199in undefined behavior."
199 2) 200 2)
200 201
201 (LD2N loading "load I2 negative" ,(+ 16 2) field 202 (LD2N loading "load I2 negative" ,(+ 16 2) field
202 "Put in rI2 the contents of cell no. M, with opposite sign. 203 "Put in rI2 the contents of cell no. M, with opposite sign.
203Uses a + when there is no sign in subfield, otherwise use the opposite sign. 204Uses a + when there is no sign in subfield, otherwise use the opposite sign.
204Subfield is left padded with zeros to make a word. Index registers only 205Subfield is left padded with zeros to make a word. Index registers only
205have 2 bytes and a sign, Trying to set anything more that that will result 206have 2 bytes and a sign, Trying to set anything more that that will result
206in undefined behavior." 207in undefined behavior."
207 2) 208 2)
208 209
209 (LD3N loading "load I3 negative" ,(+ 16 3) field 210 (LD3N loading "load I3 negative" ,(+ 16 3) field
210 "Put in rI3 the contents of cell no. M, with opposite sign. 211 "Put in rI3 the contents of cell no. M, with opposite sign.
211Uses a + when there is no sign in subfield, otherwise use the opposite sign. 212Uses a + when there is no sign in subfield, otherwise use the opposite sign.
212Subfield is left padded with zeros to make a word. Index registers only 213Subfield is left padded with zeros to make a word. Index registers only
213have 2 bytes and a sign, Trying to set anything more that that will result 214have 2 bytes and a sign, Trying to set anything more that that will result
214in undefined behavior." 215in undefined behavior."
215 2) 216 2)
216 217
217 (LD4N loading "load I4 negative" ,(+ 16 4) field 218 (LD4N loading "load I4 negative" ,(+ 16 4) field
218 "Put in rI4 the contents of cell no. M, with opposite sign. 219 "Put in rI4 the contents of cell no. M, with opposite sign.
219Uses a + when there is no sign in subfield, otherwise use the opposite sign. 220Uses a + when there is no sign in subfield, otherwise use the opposite sign.
220Subfield is left padded with zeros to make a word. Index registers only 221Subfield is left padded with zeros to make a word. Index registers only
221have 2 bytes and a sign, Trying to set anything more that that will result 222have 2 bytes and a sign, Trying to set anything more that that will result
222in undefined behavior." 223in undefined behavior."
223 2) 224 2)
224 225
225 (LD5N loading "load I5 negative" ,(+ 16 5) field 226 (LD5N loading "load I5 negative" ,(+ 16 5) field
226 "Put in rI5 the contents of cell no. M, with opposite sign. 227 "Put in rI5 the contents of cell no. M, with opposite sign.
227Uses a + when there is no sign in subfield, otherwise use the opposite sign. 228Uses a + when there is no sign in subfield, otherwise use the opposite sign.
228Subfield is left padded with zeros to make a word. Index registers only 229Subfield is left padded with zeros to make a word. Index registers only
229have 2 bytes and a sign, Trying to set anything more that that will result 230have 2 bytes and a sign, Trying to set anything more that that will result
230in undefined behavior." 231in undefined behavior."
231 2) 232 2)
232 233
233 (LD6N loading "load I6 negative" ,(+ 16 6) field 234 (LD6N loading "load I6 negative" ,(+ 16 6) field
234 "Put in rI6 the contents of cell no. M, with opposite sign. 235 "Put in rI6 the contents of cell no. M, with opposite sign.
235Uses a + when there is no sign in subfield, otherwise use the opposite sign. 236Uses a + when there is no sign in subfield, otherwise use the opposite sign.
236Subfield is left padded with zeros to make a word. Index registers only 237Subfield is left padded with zeros to make a word. Index registers only
237have 2 bytes and a sign, Trying to set anything more that that will result 238have 2 bytes and a sign, Trying to set anything more that that will result
238in undefined behavior." 239in undefined behavior."
239 2) 240 2)
240 241
241 (STA storing "store A" 24 field 242 (STA storing "store A" 24 field
242 "Store in cell Nr. M the contents of rA. 243 "Store in cell Nr. M the contents of rA.
243The modification of the operation code represents the subfield of the 244The modification of the operation code represents the subfield of the
244memory cell that is to be overwritten with bytes from a register. These 245memory cell that is to be overwritten with bytes from a register. These
245bytes are taken beginning by the rightmost side of the register. The 246bytes are taken beginning by the rightmost side of the register. The
246sign of the memory cell is not changed, unless it is part of the subfield." 247sign of the memory cell is not changed, unless it is part of the subfield."
247 2) 248 2)
248 249
249 (STX storing "store X" 31 field 250 (STX storing "store X" 31 field
250 "Store in cell Nr. M the contents of rX. 251 "Store in cell Nr. M the contents of rX.
251The modification of the operation code represents the subfield of the 252The modification of the operation code represents the subfield of the
252memory cell that is to be overwritten with bytes from a register. These 253memory cell that is to be overwritten with bytes from a register. These
253bytes are taken beginning by the rightmost side of the register. The 254bytes are taken beginning by the rightmost side of the register. The
254sign of the memory cell is not changed, unless it is part of the subfield." 255sign of the memory cell is not changed, unless it is part of the subfield."
255 2) 256 2)
256 257
257 (ST1 storing "store I1" ,(+ 24 1) field 258 (ST1 storing "store I1" ,(+ 24 1) field
258 "Store in cell Nr. M the contents of rI1. 259 "Store in cell Nr. M the contents of rI1.
259The modification of the operation code represents the subfield of the 260The modification of the operation code represents the subfield of the
260memory cell that is to be overwritten with bytes from a register. These 261memory cell that is to be overwritten with bytes from a register. These
261bytes are taken beginning by the rightmost side of the register. The 262bytes are taken beginning by the rightmost side of the register. The
262sign of the memory cell is not changed, unless it is part of the subfield. 263sign of the memory cell is not changed, unless it is part of the subfield.
263Because index registers only have 2 bytes and a sign, the rest of the bytes 264Because index registers only have 2 bytes and a sign, the rest of the bytes
264are assumed to be 0." 265are assumed to be 0."
265 2) 266 2)
266 267
267 (ST2 storing "store I2" ,(+ 24 2) field 268 (ST2 storing "store I2" ,(+ 24 2) field
268 "Store in cell Nr. M the contents of rI2. 269 "Store in cell Nr. M the contents of rI2.
269The modification of the operation code represents the subfield of the 270The modification of the operation code represents the subfield of the
270memory cell that is to be overwritten with bytes from a register. These 271memory cell that is to be overwritten with bytes from a register. These
271bytes are taken beginning by the rightmost side of the register. The 272bytes are taken beginning by the rightmost side of the register. The
272sign of the memory cell is not changed, unless it is part of the subfield. 273sign of the memory cell is not changed, unless it is part of the subfield.
273Because index registers only have 2 bytes and a sign, the rest of the bytes 274Because index registers only have 2 bytes and a sign, the rest of the bytes
274are assumed to be 0." 275are assumed to be 0."
275 2) 276 2)
276 277
277 (ST3 storing "store I3" ,(+ 24 3) field 278 (ST3 storing "store I3" ,(+ 24 3) field
278 "Store in cell Nr. M the contents of rI3. 279 "Store in cell Nr. M the contents of rI3.
279The modification of the operation code represents the subfield of the 280The modification of the operation code represents the subfield of the
280memory cell that is to be overwritten with bytes from a register. These 281memory cell that is to be overwritten with bytes from a register. These
281bytes are taken beginning by the rightmost side of the register. The 282bytes are taken beginning by the rightmost side of the register. The
282sign of the memory cell is not changed, unless it is part of the subfield. 283sign of the memory cell is not changed, unless it is part of the subfield.
283Because index registers only have 2 bytes and a sign, the rest of the bytes 284Because index registers only have 2 bytes and a sign, the rest of the bytes
284are assumed to be 0." 285are assumed to be 0."
285 2) 286 2)
286 287
287 (ST4 storing "store I4" ,(+ 24 4) field 288 (ST4 storing "store I4" ,(+ 24 4) field
288 "Store in cell Nr. M the contents of rI4. 289 "Store in cell Nr. M the contents of rI4.
289The modification of the operation code represents the subfield of the 290The modification of the operation code represents the subfield of the
290memory cell that is to be overwritten with bytes from a register. These 291memory cell that is to be overwritten with bytes from a register. These
291bytes are taken beginning by the rightmost side of the register. The 292bytes are taken beginning by the rightmost side of the register. The
292sign of the memory cell is not changed, unless it is part of the subfield. 293sign of the memory cell is not changed, unless it is part of the subfield.
293Because index registers only have 2 bytes and a sign, the rest of the bytes 294Because index registers only have 2 bytes and a sign, the rest of the bytes
294are assumed to be 0." 295are assumed to be 0."
295 2) 296 2)
296 297
297 (ST5 storing "store I5" ,(+ 24 5) field 298 (ST5 storing "store I5" ,(+ 24 5) field
298 "Store in cell Nr. M the contents of rI5. 299 "Store in cell Nr. M the contents of rI5.
299The modification of the operation code represents the subfield of the 300The modification of the operation code represents the subfield of the
300memory cell that is to be overwritten with bytes from a register. These 301memory cell that is to be overwritten with bytes from a register. These
301bytes are taken beginning by the rightmost side of the register. The 302bytes are taken beginning by the rightmost side of the register. The
302sign of the memory cell is not changed, unless it is part of the subfield. 303sign of the memory cell is not changed, unless it is part of the subfield.
303Because index registers only have 2 bytes and a sign, the rest of the bytes 304Because index registers only have 2 bytes and a sign, the rest of the bytes
304are assumed to be 0." 305are assumed to be 0."
305 2) 306 2)
306 307
307 (ST6 storing "store I6" ,(+ 24 6) field 308 (ST6 storing "store I6" ,(+ 24 6) field
308 "Store in cell Nr. M the contents of rI6. 309 "Store in cell Nr. M the contents of rI6.
309The modification of the operation code represents the subfield of the 310The modification of the operation code represents the subfield of the
310memory cell that is to be overwritten with bytes from a register. These 311memory cell that is to be overwritten with bytes from a register. These
311bytes are taken beginning by the rightmost side of the register. The 312bytes are taken beginning by the rightmost side of the register. The
312sign of the memory cell is not changed, unless it is part of the subfield. 313sign of the memory cell is not changed, unless it is part of the subfield.
313Because index registers only have 2 bytes and a sign, the rest of the bytes 314Because index registers only have 2 bytes and a sign, the rest of the bytes
314are assumed to be 0." 315are assumed to be 0."
315 2) 316 2)
316 317
317 (STJ storing "store J" 32 field 318 (STJ storing "store J" 32 field
318 "Store in cell Nr. M the contents of rJ. 319 "Store in cell Nr. M the contents of rJ.
319The modification of the operation code represents the subfield of the 320The modification of the operation code represents the subfield of the
320memory cell that is to be overwritten with bytes from a register. These 321memory cell that is to be overwritten with bytes from a register. These
321bytes are taken beginning by the rightmost side of the register. The sign 322bytes are taken beginning by the rightmost side of the register. The sign
322of rJ is always +, sign of the memory cell is not changed, unless it is 323of rJ is always +, sign of the memory cell is not changed, unless it is
323part of the subfield. The default field for STJ is (0:2)." 324part of the subfield. The default field for STJ is (0:2)."
324 2) 325 2)
325 326
326 (STZ storing "store zero" 33 field 327 (STZ storing "store zero" 33 field
327 "Store in cell Nr. M '+ 0'. 328 "Store in cell Nr. M '+ 0'.
328The modification of the operation code represents the subfield of the 329The modification of the operation code represents the subfield of the
329memory cell that is to be overwritten with zeros." 330memory cell that is to be overwritten with zeros."
330 2) 331 2)
331 332
332 (ADD arithmetic "add" 1 field 333 (ADD arithmetic "add" 1 field
333 "Add to A the contents of cell Nr. M. 334 "Add to A the contents of cell Nr. M.
334Subfield is padded with zero to make a word. 335Subfield is padded with zero to make a word.
335If the result is to large, the operation result modulo 1,073,741,823 (the 336If the result is to large, the operation result modulo 1,073,741,823 (the
336maximum value storable in a MIX word) is stored in `rA', and the overflow 337maximum value storable in a MIX word) is stored in `rA', and the overflow
337toggle is set to TRUE." 338toggle is set to TRUE."
338 2) 339 2)
339 340
340 (SUB arithmetic "subtract" 2 field 341 (SUB arithmetic "subtract" 2 field
341 "Subtract to A the contents of cell Nr. M. 342 "Subtract to A the contents of cell Nr. M.
342Subfield is padded with zero to make a word. 343Subfield is padded with zero to make a word.
343If the result is to large, the operation result modulo 1,073,741,823 (the 344If the result is to large, the operation result modulo 1,073,741,823 (the
344maximum value storable in a MIX word) is stored in `rA', and the overflow 345maximum value storable in a MIX word) is stored in `rA', and the overflow
345toggle is set to TRUE." 346toggle is set to TRUE."
346 2) 347 2)
347 348
348 (MUL arithmetic "multiply" 3 field 349 (MUL arithmetic "multiply" 3 field
349 "Multiplies the contents of cell Nr. M with A, result is 10 bytes and stored in rA and rX. 350 "Multiplies the contents of cell Nr. M with A, result is 10 bytes and stored in rA and rX.
350The sign is + if the sign of rA and cell M where the same, otherwise, it is -" 351The sign is + if the sign of rA and cell M where the same, otherwise, it is -"
351 10) 352 10)
352 353
353 (DIV arithmetic "divide" 4 field 354 (DIV arithmetic "divide" 4 field
354 "Both rA and rX are taken together and divided by cell Nr. M, quotient is placed in rA, remainder in rX. 355 "Both rA and rX are taken together and divided by cell Nr. M, quotient is placed in rA, remainder in rX.
355The sign is taken from rA, and after the divide the sign of rA is set to + when 356The sign is taken from rA, and after the divide the sign of rA is set to + when
356both the sign of rA and M where the same. Divide by zero and overflow of rA 357both the sign of rA and M where the same. Divide by zero and overflow of rA
357result in undefined behavior." 358result in undefined behavior."
358 12) 359 12)
359 360
360 (ENTA address-transfer "enter A" 48 361 (ENTA address-transfer "enter A" 48
361 "Literal value is stored in rA. 362 "Literal value is stored in rA.
362Indexed, stores value of index in rA." 363Indexed, stores value of index in rA."
363 1) 364 1)
364 365
365 (ENTX address-transfer "enter X" 55 366 (ENTX address-transfer "enter X" 55
366 "Literal value is stored in rX. 367 "Literal value is stored in rX.
367Indexed, stores value of index in rX." 368Indexed, stores value of index in rX."
368 1) 369 1)
369 370
370 (ENT1 address-transfer "Enter rI1" ,(+ 48 1) 371 (ENT1 address-transfer "Enter rI1" ,(+ 48 1)
371 "Literal value is stored in rI1. 372 "Literal value is stored in rI1.
372Indexed, stores value of index in rI1." 373Indexed, stores value of index in rI1."
373 1) 374 1)
374 375
375 (ENT2 address-transfer "Enter rI2" ,(+ 48 2) 376 (ENT2 address-transfer "Enter rI2" ,(+ 48 2)
376 "Literal value is stored in rI2. 377 "Literal value is stored in rI2.
377Indexed, stores value of index in rI2." 378Indexed, stores value of index in rI2."
378 1) 379 1)
379 380
380 (ENT3 address-transfer "Enter rI3" ,(+ 48 3) 381 (ENT3 address-transfer "Enter rI3" ,(+ 48 3)
381 "Literal value is stored in rI3. 382 "Literal value is stored in rI3.
382Indexed, stores value of index in rI3." 383Indexed, stores value of index in rI3."
383 1) 384 1)
384 385
385 (ENT4 address-transfer "Enter rI4" ,(+ 48 4) 386 (ENT4 address-transfer "Enter rI4" ,(+ 48 4)
386 "Literal value is stored in rI4. 387 "Literal value is stored in rI4.
387Indexed, stores value of index in rI4." 388Indexed, stores value of index in rI4."
388 1) 389 1)
389 390
390 (ENT5 address-transfer "Enter rI5" ,(+ 48 5) 391 (ENT5 address-transfer "Enter rI5" ,(+ 48 5)
391 "Literal value is stored in rI5. 392 "Literal value is stored in rI5.
392Indexed, stores value of index in rI5." 393Indexed, stores value of index in rI5."
393 1) 394 1)
394 395
395 (ENT6 address-transfer "Enter rI6" ,(+ 48 6) 396 (ENT6 address-transfer "Enter rI6" ,(+ 48 6)
396 "Literal value is stored in rI6. 397 "Literal value is stored in rI6.
397Indexed, stores value of index in rI6." 398Indexed, stores value of index in rI6."
398 1) 399 1)
399 400
400 (ENNA address-transfer "enter negative A" 48 401 (ENNA address-transfer "enter negative A" 48
401 "Literal value is stored in rA with opposite sign. 402 "Literal value is stored in rA with opposite sign.
402Indexed, stores value of index in rA with opposite sign." 403Indexed, stores value of index in rA with opposite sign."
403 1) 404 1)
404 405
405 (ENNX address-transfer "enter negative X" 55 406 (ENNX address-transfer "enter negative X" 55
406 "Literal value is stored in rX with opposite sign. 407 "Literal value is stored in rX with opposite sign.
407Indexed, stores value of index in rX with opposite sign." 408Indexed, stores value of index in rX with opposite sign."
408 1) 409 1)
409 410
410 (ENN1 address-transfer "Enter negative rI1" ,(+ 48 1) 411 (ENN1 address-transfer "Enter negative rI1" ,(+ 48 1)
411 "Literal value is stored in rI1 with opposite sign. 412 "Literal value is stored in rI1 with opposite sign.
412Indexed, stores value of index in rI1 with opposite sign." 413Indexed, stores value of index in rI1 with opposite sign."
413 1) 414 1)
414 415
415 (ENN2 address-transfer "Enter negative rI2" ,(+ 48 2) 416 (ENN2 address-transfer "Enter negative rI2" ,(+ 48 2)
416 "Literal value is stored in rI2 with opposite sign. 417 "Literal value is stored in rI2 with opposite sign.
417Indexed, stores value of index in rI2 with opposite sign." 418Indexed, stores value of index in rI2 with opposite sign."
418 1) 419 1)
419 420
420 (ENN3 address-transfer "Enter negative rI3" ,(+ 48 3) 421 (ENN3 address-transfer "Enter negative rI3" ,(+ 48 3)
421 "Literal value is stored in rI3 with opposite sign. 422 "Literal value is stored in rI3 with opposite sign.
422Indexed, stores value of index in rI3 with opposite sign." 423Indexed, stores value of index in rI3 with opposite sign."
423 1) 424 1)
424 425
425 (ENN4 address-transfer "Enter negative rI4" ,(+ 48 4) 426 (ENN4 address-transfer "Enter negative rI4" ,(+ 48 4)
426 "Literal value is stored in rI4 with opposite sign. 427 "Literal value is stored in rI4 with opposite sign.
427Indexed, stores value of index in rI4 with opposite sign." 428Indexed, stores value of index in rI4 with opposite sign."
428 1) 429 1)
429 430
430 (ENN5 address-transfer "Enter negative rI5" ,(+ 48 5) 431 (ENN5 address-transfer "Enter negative rI5" ,(+ 48 5)
431 "Literal value is stored in rI5 with opposite sign. 432 "Literal value is stored in rI5 with opposite sign.
432Indexed, stores value of index in rI5 with opposite sign." 433Indexed, stores value of index in rI5 with opposite sign."
433 1) 434 1)
434 435
435 (ENN6 address-transfer "Enter negative rI6" ,(+ 48 6) 436 (ENN6 address-transfer "Enter negative rI6" ,(+ 48 6)
436 "Literal value is stored in rI6 with opposite sign. 437 "Literal value is stored in rI6 with opposite sign.
437Indexed, stores value of index in rI6 with opposite sign." 438Indexed, stores value of index in rI6 with opposite sign."
438 1) 439 1)
439 440
440 (INCA address-transfer "increase A" 48 441 (INCA address-transfer "increase A" 48
441 "Increase register A with the literal value of M. 442 "Increase register A with the literal value of M.
442On overflow the overflow toggle is set." 443On overflow the overflow toggle is set."
443 1) 444 1)
444 445
445 (INCX address-transfer "increase X" 55 446 (INCX address-transfer "increase X" 55
446 "Increase register X with the literal value of M. 447 "Increase register X with the literal value of M.
447On overflow the overflow toggle is set." 448On overflow the overflow toggle is set."
448 1) 449 1)
449 450
450 (INC1 address-transfer "increase I1" ,(+ 48 1) 451 (INC1 address-transfer "increase I1" ,(+ 48 1)
451 "Increase register I1 with the literal value of M. 452 "Increase register I1 with the literal value of M.
452The result is undefined when the result does not fit in 453The result is undefined when the result does not fit in
4532 bytes." 4542 bytes."
454 1) 455 1)
455 456
456 (INC2 address-transfer "increase I2" ,(+ 48 2) 457 (INC2 address-transfer "increase I2" ,(+ 48 2)
457 "Increase register I2 with the literal value of M. 458 "Increase register I2 with the literal value of M.
458The result is undefined when the result does not fit in 459The result is undefined when the result does not fit in
4592 bytes." 4602 bytes."
460 1) 461 1)
461 462
462 (INC3 address-transfer "increase I3" ,(+ 48 3) 463 (INC3 address-transfer "increase I3" ,(+ 48 3)
463 "Increase register I3 with the literal value of M. 464 "Increase register I3 with the literal value of M.
464The result is undefined when the result does not fit in 465The result is undefined when the result does not fit in
4652 bytes." 4662 bytes."
466 1) 467 1)
467 468
468 (INC4 address-transfer "increase I4" ,(+ 48 4) 469 (INC4 address-transfer "increase I4" ,(+ 48 4)
469 "Increase register I4 with the literal value of M. 470 "Increase register I4 with the literal value of M.
470The result is undefined when the result does not fit in 471The result is undefined when the result does not fit in
4712 bytes." 4722 bytes."
472 1) 473 1)
473 474
474 (INC5 address-transfer "increase I5" ,(+ 48 5) 475 (INC5 address-transfer "increase I5" ,(+ 48 5)
475 "Increase register I5 with the literal value of M. 476 "Increase register I5 with the literal value of M.
476The result is undefined when the result does not fit in 477The result is undefined when the result does not fit in
4772 bytes." 4782 bytes."
478 1) 479 1)
479 480
480 (INC6 address-transfer "increase I6" ,(+ 48 6) 481 (INC6 address-transfer "increase I6" ,(+ 48 6)
481 "Increase register I6 with the literal value of M. 482 "Increase register I6 with the literal value of M.
482The result is undefined when the result does not fit in 483The result is undefined when the result does not fit in
4832 bytes." 4842 bytes."
484 1) 485 1)
485 486
486 (DECA address-transfer "decrease A" 48 487 (DECA address-transfer "decrease A" 48
487 "Decrease register A with the literal value of M. 488 "Decrease register A with the literal value of M.
488On overflow the overflow toggle is set." 489On overflow the overflow toggle is set."
489 1) 490 1)
490 491
491 (DECX address-transfer "decrease X" 55 492 (DECX address-transfer "decrease X" 55
492 "Decrease register X with the literal value of M. 493 "Decrease register X with the literal value of M.
493On overflow the overflow toggle is set." 494On overflow the overflow toggle is set."
494 1) 495 1)
495 496
496 (DEC1 address-transfer "decrease I1" ,(+ 48 1) 497 (DEC1 address-transfer "decrease I1" ,(+ 48 1)
497 "Decrease register I1 with the literal value of M. 498 "Decrease register I1 with the literal value of M.
498The result is undefined when the result does not fit in 499The result is undefined when the result does not fit in
4992 bytes." 5002 bytes."
500 1) 501 1)
501 502
502 (DEC2 address-transfer "decrease I2" ,(+ 48 2) 503 (DEC2 address-transfer "decrease I2" ,(+ 48 2)
503 "Decrease register I2 with the literal value of M. 504 "Decrease register I2 with the literal value of M.
504The result is undefined when the result does not fit in 505The result is undefined when the result does not fit in
5052 bytes." 5062 bytes."
506 1) 507 1)
507 508
508 (DEC3 address-transfer "decrease I3" ,(+ 48 3) 509 (DEC3 address-transfer "decrease I3" ,(+ 48 3)
509 "Decrease register I3 with the literal value of M. 510 "Decrease register I3 with the literal value of M.
510The result is undefined when the result does not fit in 511The result is undefined when the result does not fit in
5112 bytes." 5122 bytes."
512 1) 513 1)
513 514
514 (DEC4 address-transfer "decrease I4" ,(+ 48 4) 515 (DEC4 address-transfer "decrease I4" ,(+ 48 4)
515 "Decrease register I4 with the literal value of M. 516 "Decrease register I4 with the literal value of M.
516The result is undefined when the result does not fit in 517The result is undefined when the result does not fit in
5172 bytes." 5182 bytes."
518 1) 519 1)
519 520
520 (DEC5 address-transfer "decrease I5" ,(+ 48 5) 521 (DEC5 address-transfer "decrease I5" ,(+ 48 5)
521 "Decrease register I5 with the literal value of M. 522 "Decrease register I5 with the literal value of M.
522The result is undefined when the result does not fit in 523The result is undefined when the result does not fit in
5232 bytes." 5242 bytes."
524 1) 525 1)
525 526
526 (DEC6 address-transfer "decrease I6" ,(+ 48 6) 527 (DEC6 address-transfer "decrease I6" ,(+ 48 6)
527 "Decrease register I6 with the literal value of M. 528 "Decrease register I6 with the literal value of M.
528The result is undefined when the result does not fit in 529The result is undefined when the result does not fit in
5292 bytes." 5302 bytes."
530 1) 531 1)
531 532
532 (CMPA comparison "compare A" 56 field 533 (CMPA comparison "compare A" 56 field
533 "Compare contents of A with contents of M. 534 "Compare contents of A with contents of M.
534The field specifier works on both fields. The comparison indicator 535The field specifier works on both fields. The comparison indicator
535is set to LESS, EQUAL or GREATER depending on the outcome." 536is set to LESS, EQUAL or GREATER depending on the outcome."
536 2) 537 2)
537 538
538 539
539 (CMPX comparison "compare X" 63 field 540 (CMPX comparison "compare X" 63 field
540 "Compare contents of rX with contents of M. 541 "Compare contents of rX with contents of M.
541The field specifier works on both fields. The comparison indicator 542The field specifier works on both fields. The comparison indicator
542is set to LESS, EQUAL or GREATER depending on the outcome." 543is set to LESS, EQUAL or GREATER depending on the outcome."
543 2) 544 2)
544 545
545 546
546 (CMP1 comparison "compare I1" ,(+ 56 1) field 547 (CMP1 comparison "compare I1" ,(+ 56 1) field
547 "Compare contents of rI1 with contents of M. 548 "Compare contents of rI1 with contents of M.
548The field specifier works on both fields. The comparison indicator 549The field specifier works on both fields. The comparison indicator
549is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 550is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
550have a value of 0." 551have a value of 0."
551 2) 552 2)
552 553
553 554
554 (CMP2 comparison "compare I2" ,(+ 56 2) field 555 (CMP2 comparison "compare I2" ,(+ 56 2) field
555 "Compare contents of rI2 with contents of M. 556 "Compare contents of rI2 with contents of M.
556The field specifier works on both fields. The comparison indicator 557The field specifier works on both fields. The comparison indicator
557is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 558is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
558have a value of 0." 559have a value of 0."
559 2) 560 2)
560 561
561 562
562 (CMP3 comparison "compare I3" ,(+ 56 3) field 563 (CMP3 comparison "compare I3" ,(+ 56 3) field
563 "Compare contents of rI3 with contents of M. 564 "Compare contents of rI3 with contents of M.
564The field specifier works on both fields. The comparison indicator 565The field specifier works on both fields. The comparison indicator
565is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 566is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
566have a value of 0." 567have a value of 0."
567 2) 568 2)
568 569
569 570
570 (CMP4 comparison "compare I4" ,(+ 56 4) field 571 (CMP4 comparison "compare I4" ,(+ 56 4) field
571 "Compare contents of rI4 with contents of M. 572 "Compare contents of rI4 with contents of M.
572The field specifier works on both fields. The comparison indicator 573The field specifier works on both fields. The comparison indicator
573is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 574is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
574have a value of 0." 575have a value of 0."
575 2) 576 2)
576 577
577 578
578 (CMP5 comparison "compare I5" ,(+ 56 5) field 579 (CMP5 comparison "compare I5" ,(+ 56 5) field
579 "Compare contents of rI5 with contents of M. 580 "Compare contents of rI5 with contents of M.
580The field specifier works on both fields. The comparison indicator 581The field specifier works on both fields. The comparison indicator
581is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 582is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
582have a value of 0." 583have a value of 0."
583 2) 584 2)
584 585
585 586
586 (CMP6 comparison "compare I6" ,(+ 56 6) field 587 (CMP6 comparison "compare I6" ,(+ 56 6) field
587 "Compare contents of rI6 with contents of M. 588 "Compare contents of rI6 with contents of M.
588The field specifier works on both fields. The comparison indicator 589The field specifier works on both fields. The comparison indicator
589is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 590is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
590have a value of 0." 591have a value of 0."
591 2) 592 2)
592 593
593 (JMP jump "jump" 39 594 (JMP jump "jump" 39
594 "Unconditional jump. 595 "Unconditional jump.
595Register J is set to the value of the next instruction that would have 596Register J is set to the value of the next instruction that would have
596been executed when there was no jump." 597been executed when there was no jump."
597 1) 598 1)
598 599
599 (JSJ jump "jump, save J" 39 600 (JSJ jump "jump, save J" 39
600 "Unconditional jump, but rJ is not modified." 601 "Unconditional jump, but rJ is not modified."
601 1) 602 1)
602 603
603 (JOV jump "jump on overflow" 39 604 (JOV jump "jump on overflow" 39
604 "Jump if OV is set (and turn it off). 605 "Jump if OV is set (and turn it off).
605Register J is set to the value of the next instruction that would have 606Register J is set to the value of the next instruction that would have
606been executed when there was no jump." 607been executed when there was no jump."
607 1) 608 1)
608 609
609 (JNOV jump "Jump on no overflow" 39 610 (JNOV jump "Jump on no overflow" 39
610 "Jump if OV is not set (and turn it off). 611 "Jump if OV is not set (and turn it off).
611Register J is set to the value of the next instruction that would have 612Register J is set to the value of the next instruction that would have
612been executed when there was no jump." 613been executed when there was no jump."
613 1) 614 1)
614 615
615 (JL jump "Jump on less" 39 616 (JL jump "Jump on less" 39
616 "Jump if '[CM] = L'. 617 "Jump if '[CM] = L'.
617Register J is set to the value of the next instruction that would have 618Register J is set to the value of the next instruction that would have
618been executed when there was no jump." 619been executed when there was no jump."
619 1) 620 1)
620 621
621 622
622 (JE jump "Jump on equal" 39 623 (JE jump "Jump on equal" 39
623 "Jump if '[CM] = E'. 624 "Jump if '[CM] = E'.
624Register J is set to the value of the next instruction that would have 625Register J is set to the value of the next instruction that would have
625been executed when there was no jump." 626been executed when there was no jump."
626 1) 627 1)
627 628
628 629
629 (JG jump "Jump on greater" 39 630 (JG jump "Jump on greater" 39
630 "Jump if '[CM] = G'. 631 "Jump if '[CM] = G'.
631Register J is set to the value of the next instruction that would have 632Register J is set to the value of the next instruction that would have
632been executed when there was no jump." 633been executed when there was no jump."
633 1) 634 1)
634 635
635 636
636 (JGE jump "Jump on not less" 39 637 (JGE jump "Jump on not less" 39
637 "Jump if '[CM]' does not equal 'L'. 638 "Jump if '[CM]' does not equal 'L'.
638Register J is set to the value of the next instruction that would have 639Register J is set to the value of the next instruction that would have
639been executed when there was no jump." 640been executed when there was no jump."
640 1) 641 1)
641 642
642 643
643 (JNE jump "Jump on not equal" 39 644 (JNE jump "Jump on not equal" 39
644 "Jump if '[CM]' does not equal 'E'. 645 "Jump if '[CM]' does not equal 'E'.
645Register J is set to the value of the next instruction that would have 646Register J is set to the value of the next instruction that would have
646been executed when there was no jump." 647been executed when there was no jump."
647 1) 648 1)
648 649
649 650
650 (JLE jump "Jump on not greater" 39 651 (JLE jump "Jump on not greater" 39
651 "Jump if '[CM]' does not equal 'G'. 652 "Jump if '[CM]' does not equal 'G'.
652Register J is set to the value of the next instruction that would have 653Register J is set to the value of the next instruction that would have
653been executed when there was no jump." 654been executed when there was no jump."
654 1) 655 1)
655 656
656 (JAN jump "jump A negative" 40 657 (JAN jump "jump A negative" 40
657 "Jump if the content of rA is negative. 658 "Jump if the content of rA is negative.
658Register J is set to the value of the next instruction that would have 659Register J is set to the value of the next instruction that would have
659been executed when there was no jump." 660been executed when there was no jump."
660 1) 661 1)
661 662
662 663
663 (JAZ jump "jump A zero" 40 664 (JAZ jump "jump A zero" 40
664 "Jump if the content of rA is zero. 665 "Jump if the content of rA is zero.
665Register J is set to the value of the next instruction that would have 666Register J is set to the value of the next instruction that would have
666been executed when there was no jump." 667been executed when there was no jump."
667 1) 668 1)
668 669
669 670
670 (JAP jump "jump A positive" 40 671 (JAP jump "jump A positive" 40
671 "Jump if the content of rA is positive. 672 "Jump if the content of rA is positive.
672Register J is set to the value of the next instruction that would have 673Register J is set to the value of the next instruction that would have
673been executed when there was no jump." 674been executed when there was no jump."
674 1) 675 1)
675 676
676 677
677 (JANN jump "jump A non-negative" 40 678 (JANN jump "jump A non-negative" 40
678 "Jump if the content of rA is non-negative. 679 "Jump if the content of rA is non-negative.
679Register J is set to the value of the next instruction that would have 680Register J is set to the value of the next instruction that would have
680been executed when there was no jump." 681been executed when there was no jump."
681 1) 682 1)
682 683
683 684
684 (JANZ jump "jump A non-zero" 40 685 (JANZ jump "jump A non-zero" 40
685 "Jump if the content of rA is non-zero. 686 "Jump if the content of rA is non-zero.
686Register J is set to the value of the next instruction that would have 687Register J is set to the value of the next instruction that would have
687been executed when there was no jump." 688been executed when there was no jump."
688 1) 689 1)
689 690
690 691
691 (JANP jump "jump A non-positive" 40 692 (JANP jump "jump A non-positive" 40
692 "Jump if the content of rA is non-positive. 693 "Jump if the content of rA is non-positive.
693Register J is set to the value of the next instruction that would have 694Register J is set to the value of the next instruction that would have
694been executed when there was no jump." 695been executed when there was no jump."
695 1) 696 1)
696 697
697 (JXN jump "jump X negative" 47 698 (JXN jump "jump X negative" 47
698 "Jump if the content of rX is negative. 699 "Jump if the content of rX is negative.
699Register J is set to the value of the next instruction that would have 700Register J is set to the value of the next instruction that would have
700been executed when there was no jump." 701been executed when there was no jump."
701 1) 702 1)
702 703
703 704
704 (JXZ jump "jump X zero" 47 705 (JXZ jump "jump X zero" 47
705 "Jump if the content of rX is zero. 706 "Jump if the content of rX is zero.
706Register J is set to the value of the next instruction that would have 707Register J is set to the value of the next instruction that would have
707been executed when there was no jump." 708been executed when there was no jump."
708 1) 709 1)
709 710
710 711
711 (JXP jump "jump X positive" 47 712 (JXP jump "jump X positive" 47
712 "Jump if the content of rX is positive. 713 "Jump if the content of rX is positive.
713Register J is set to the value of the next instruction that would have 714Register J is set to the value of the next instruction that would have
714been executed when there was no jump." 715been executed when there was no jump."
715 1) 716 1)
716 717
717 718
718 (JXNN jump "jump X non-negative" 47 719 (JXNN jump "jump X non-negative" 47
719 "Jump if the content of rX is non-negative. 720 "Jump if the content of rX is non-negative.
720Register J is set to the value of the next instruction that would have 721Register J is set to the value of the next instruction that would have
721been executed when there was no jump." 722been executed when there was no jump."
722 1) 723 1)
723 724
724 725
725 (JXNZ jump "jump X non-zero" 47 726 (JXNZ jump "jump X non-zero" 47
726 "Jump if the content of rX is non-zero. 727 "Jump if the content of rX is non-zero.
727Register J is set to the value of the next instruction that would have 728Register J is set to the value of the next instruction that would have
728been executed when there was no jump." 729been executed when there was no jump."
729 1) 730 1)
730 731
731 732
732 (JXNP jump "jump X non-positive" 47 733 (JXNP jump "jump X non-positive" 47
733 "Jump if the content of rX is non-positive. 734 "Jump if the content of rX is non-positive.
734Register J is set to the value of the next instruction that would have 735Register J is set to the value of the next instruction that would have
735been executed when there was no jump." 736been executed when there was no jump."
736 1) 737 1)
737 738
738 (J1N jump "jump I1 negative" ,(+ 40 1) 739 (J1N jump "jump I1 negative" ,(+ 40 1)
739 "Jump if the content of rI1 is negative. 740 "Jump if the content of rI1 is negative.
740Register J is set to the value of the next instruction that would have 741Register J is set to the value of the next instruction that would have
741been executed when there was no jump." 742been executed when there was no jump."
742 1) 743 1)
743 744
744 745
745 (J1Z jump "jump I1 zero" ,(+ 40 1) 746 (J1Z jump "jump I1 zero" ,(+ 40 1)
746 "Jump if the content of rI1 is zero. 747 "Jump if the content of rI1 is zero.
747Register J is set to the value of the next instruction that would have 748Register J is set to the value of the next instruction that would have
748been executed when there was no jump." 749been executed when there was no jump."
749 1) 750 1)
750 751
751 752
752 (J1P jump "jump I1 positive" ,(+ 40 1) 753 (J1P jump "jump I1 positive" ,(+ 40 1)
753 "Jump if the content of rI1 is positive. 754 "Jump if the content of rI1 is positive.
754Register J is set to the value of the next instruction that would have 755Register J is set to the value of the next instruction that would have
755been executed when there was no jump." 756been executed when there was no jump."
756 1) 757 1)
757 758
758 759
759 (J1NN jump "jump I1 non-negative" ,(+ 40 1) 760 (J1NN jump "jump I1 non-negative" ,(+ 40 1)
760 "Jump if the content of rI1 is non-negative. 761 "Jump if the content of rI1 is non-negative.
761Register J is set to the value of the next instruction that would have 762Register J is set to the value of the next instruction that would have
762been executed when there was no jump." 763been executed when there was no jump."
763 1) 764 1)
764 765
765 766
766 (J1NZ jump "jump I1 non-zero" ,(+ 40 1) 767 (J1NZ jump "jump I1 non-zero" ,(+ 40 1)
767 "Jump if the content of rI1 is non-zero. 768 "Jump if the content of rI1 is non-zero.
768Register J is set to the value of the next instruction that would have 769Register J is set to the value of the next instruction that would have
769been executed when there was no jump." 770been executed when there was no jump."
770 1) 771 1)
771 772
772 773
773 (J1NP jump "jump I1 non-positive" ,(+ 40 1) 774 (J1NP jump "jump I1 non-positive" ,(+ 40 1)
774 "Jump if the content of rI1 is non-positive. 775 "Jump if the content of rI1 is non-positive.
775Register J is set to the value of the next instruction that would have 776Register J is set to the value of the next instruction that would have
776been executed when there was no jump." 777been executed when there was no jump."
777 1) 778 1)
778 779
779 (J2N jump "jump I2 negative" ,(+ 40 1) 780 (J2N jump "jump I2 negative" ,(+ 40 1)
780 "Jump if the content of rI2 is negative. 781 "Jump if the content of rI2 is negative.
781Register J is set to the value of the next instruction that would have 782Register J is set to the value of the next instruction that would have
782been executed when there was no jump." 783been executed when there was no jump."
783 1) 784 1)
784 785
785 786
786 (J2Z jump "jump I2 zero" ,(+ 40 1) 787 (J2Z jump "jump I2 zero" ,(+ 40 1)
787 "Jump if the content of rI2 is zero. 788 "Jump if the content of rI2 is zero.
788Register J is set to the value of the next instruction that would have 789Register J is set to the value of the next instruction that would have
789been executed when there was no jump." 790been executed when there was no jump."
790 1) 791 1)
791 792
792 793
793 (J2P jump "jump I2 positive" ,(+ 40 1) 794 (J2P jump "jump I2 positive" ,(+ 40 1)
794 "Jump if the content of rI2 is positive. 795 "Jump if the content of rI2 is positive.
795Register J is set to the value of the next instruction that would have 796Register J is set to the value of the next instruction that would have
796been executed when there was no jump." 797been executed when there was no jump."
797 1) 798 1)
798 799
799 800
800 (J2NN jump "jump I2 non-negative" ,(+ 40 1) 801 (J2NN jump "jump I2 non-negative" ,(+ 40 1)
801 "Jump if the content of rI2 is non-negative. 802 "Jump if the content of rI2 is non-negative.
802Register J is set to the value of the next instruction that would have 803Register J is set to the value of the next instruction that would have
803been executed when there was no jump." 804been executed when there was no jump."
804 1) 805 1)
805 806
806 807
807 (J2NZ jump "jump I2 non-zero" ,(+ 40 1) 808 (J2NZ jump "jump I2 non-zero" ,(+ 40 1)
808 "Jump if the content of rI2 is non-zero. 809 "Jump if the content of rI2 is non-zero.
809Register J is set to the value of the next instruction that would have 810Register J is set to the value of the next instruction that would have
810been executed when there was no jump." 811been executed when there was no jump."
811 1) 812 1)
812 813
813 814
814 (J2NP jump "jump I2 non-positive" ,(+ 40 1) 815 (J2NP jump "jump I2 non-positive" ,(+ 40 1)
815 "Jump if the content of rI2 is non-positive. 816 "Jump if the content of rI2 is non-positive.
816Register J is set to the value of the next instruction that would have 817Register J is set to the value of the next instruction that would have
817been executed when there was no jump." 818been executed when there was no jump."
818 1) 819 1)
819 820
820 821
821 (J3N jump "jump I3 negative" ,(+ 40 1) 822 (J3N jump "jump I3 negative" ,(+ 40 1)
822 "Jump if the content of rI3 is negative. 823 "Jump if the content of rI3 is negative.
823Register J is set to the value of the next instruction that would have 824Register J is set to the value of the next instruction that would have
824been executed when there was no jump." 825been executed when there was no jump."
825 1) 826 1)
826 827
827 828
828 (J3Z jump "jump I3 zero" ,(+ 40 1) 829 (J3Z jump "jump I3 zero" ,(+ 40 1)
829 "Jump if the content of rI3 is zero. 830 "Jump if the content of rI3 is zero.
830Register J is set to the value of the next instruction that would have 831Register J is set to the value of the next instruction that would have
831been executed when there was no jump." 832been executed when there was no jump."
832 1) 833 1)
833 834
834 835
835 (J3P jump "jump I3 positive" ,(+ 40 1) 836 (J3P jump "jump I3 positive" ,(+ 40 1)
836 "Jump if the content of rI3 is positive. 837 "Jump if the content of rI3 is positive.
837Register J is set to the value of the next instruction that would have 838Register J is set to the value of the next instruction that would have
838been executed when there was no jump." 839been executed when there was no jump."
839 1) 840 1)
840 841
841 842
842 (J3NN jump "jump I3 non-negative" ,(+ 40 1) 843 (J3NN jump "jump I3 non-negative" ,(+ 40 1)
843 "Jump if the content of rI3 is non-negative. 844 "Jump if the content of rI3 is non-negative.
844Register J is set to the value of the next instruction that would have 845Register J is set to the value of the next instruction that would have
845been executed when there was no jump." 846been executed when there was no jump."
846 1) 847 1)
847 848
848 849
849 (J3NZ jump "jump I3 non-zero" ,(+ 40 1) 850 (J3NZ jump "jump I3 non-zero" ,(+ 40 1)
850 "Jump if the content of rI3 is non-zero. 851 "Jump if the content of rI3 is non-zero.
851Register J is set to the value of the next instruction that would have 852Register J is set to the value of the next instruction that would have
852been executed when there was no jump." 853been executed when there was no jump."
853 1) 854 1)
854 855
855 856
856 (J3NP jump "jump I3 non-positive" ,(+ 40 1) 857 (J3NP jump "jump I3 non-positive" ,(+ 40 1)
857 "Jump if the content of rI3 is non-positive. 858 "Jump if the content of rI3 is non-positive.
858Register J is set to the value of the next instruction that would have 859Register J is set to the value of the next instruction that would have
859been executed when there was no jump." 860been executed when there was no jump."
860 1) 861 1)
861 862
862 863
863 (J4N jump "jump I4 negative" ,(+ 40 1) 864 (J4N jump "jump I4 negative" ,(+ 40 1)
864 "Jump if the content of rI4 is negative. 865 "Jump if the content of rI4 is negative.
865Register J is set to the value of the next instruction that would have 866Register J is set to the value of the next instruction that would have
866been executed when there was no jump." 867been executed when there was no jump."
867 1) 868 1)
868 869
869 870
870 (J4Z jump "jump I4 zero" ,(+ 40 1) 871 (J4Z jump "jump I4 zero" ,(+ 40 1)
871 "Jump if the content of rI4 is zero. 872 "Jump if the content of rI4 is zero.
872Register J is set to the value of the next instruction that would have 873Register J is set to the value of the next instruction that would have
873been executed when there was no jump." 874been executed when there was no jump."
874 1) 875 1)
875 876
876 877
877 (J4P jump "jump I4 positive" ,(+ 40 1) 878 (J4P jump "jump I4 positive" ,(+ 40 1)
878 "Jump if the content of rI4 is positive. 879 "Jump if the content of rI4 is positive.
879Register J is set to the value of the next instruction that would have 880Register J is set to the value of the next instruction that would have
880been executed when there was no jump." 881been executed when there was no jump."
881 1) 882 1)
882 883
883 884
884 (J4NN jump "jump I4 non-negative" ,(+ 40 1) 885 (J4NN jump "jump I4 non-negative" ,(+ 40 1)
885 "Jump if the content of rI4 is non-negative. 886 "Jump if the content of rI4 is non-negative.
886Register J is set to the value of the next instruction that would have 887Register J is set to the value of the next instruction that would have
887been executed when there was no jump." 888been executed when there was no jump."
888 1) 889 1)
889 890
890 891
891 (J4NZ jump "jump I4 non-zero" ,(+ 40 1) 892 (J4NZ jump "jump I4 non-zero" ,(+ 40 1)
892 "Jump if the content of rI4 is non-zero. 893 "Jump if the content of rI4 is non-zero.
893Register J is set to the value of the next instruction that would have 894Register J is set to the value of the next instruction that would have
894been executed when there was no jump." 895been executed when there was no jump."
895 1) 896 1)
896 897
897 898
898 (J4NP jump "jump I4 non-positive" ,(+ 40 1) 899 (J4NP jump "jump I4 non-positive" ,(+ 40 1)
899 "Jump if the content of rI4 is non-positive. 900 "Jump if the content of rI4 is non-positive.
900Register J is set to the value of the next instruction that would have 901Register J is set to the value of the next instruction that would have
901been executed when there was no jump." 902been executed when there was no jump."
902 1) 903 1)
903 904
904 905
905 (J5N jump "jump I5 negative" ,(+ 40 1) 906 (J5N jump "jump I5 negative" ,(+ 40 1)
906 "Jump if the content of rI5 is negative. 907 "Jump if the content of rI5 is negative.
907Register J is set to the value of the next instruction that would have 908Register J is set to the value of the next instruction that would have
908been executed when there was no jump." 909been executed when there was no jump."
909 1) 910 1)
910 911
911 912
912 (J5Z jump "jump I5 zero" ,(+ 40 1) 913 (J5Z jump "jump I5 zero" ,(+ 40 1)
913 "Jump if the content of rI5 is zero. 914 "Jump if the content of rI5 is zero.
914Register J is set to the value of the next instruction that would have 915Register J is set to the value of the next instruction that would have
915been executed when there was no jump." 916been executed when there was no jump."
916 1) 917 1)
917 918
918 919
919 (J5P jump "jump I5 positive" ,(+ 40 1) 920 (J5P jump "jump I5 positive" ,(+ 40 1)
920 "Jump if the content of rI5 is positive. 921 "Jump if the content of rI5 is positive.
921Register J is set to the value of the next instruction that would have 922Register J is set to the value of the next instruction that would have
922been executed when there was no jump." 923been executed when there was no jump."
923 1) 924 1)
924 925
925 926
926 (J5NN jump "jump I5 non-negative" ,(+ 40 1) 927 (J5NN jump "jump I5 non-negative" ,(+ 40 1)
927 "Jump if the content of rI5 is non-negative. 928 "Jump if the content of rI5 is non-negative.
928Register J is set to the value of the next instruction that would have 929Register J is set to the value of the next instruction that would have
929been executed when there was no jump." 930been executed when there was no jump."
930 1) 931 1)
931 932
932 933
933 (J5NZ jump "jump I5 non-zero" ,(+ 40 1) 934 (J5NZ jump "jump I5 non-zero" ,(+ 40 1)
934 "Jump if the content of rI5 is non-zero. 935 "Jump if the content of rI5 is non-zero.
935Register J is set to the value of the next instruction that would have 936Register J is set to the value of the next instruction that would have
936been executed when there was no jump." 937been executed when there was no jump."
937 1) 938 1)
938 939
939 940
940 (J5NP jump "jump I5 non-positive" ,(+ 40 1) 941 (J5NP jump "jump I5 non-positive" ,(+ 40 1)
941 "Jump if the content of rI5 is non-positive. 942 "Jump if the content of rI5 is non-positive.
942Register J is set to the value of the next instruction that would have 943Register J is set to the value of the next instruction that would have
943been executed when there was no jump." 944been executed when there was no jump."
944 1) 945 1)
945 946
946 947
947 (J6N jump "jump I6 negative" ,(+ 40 1) 948 (J6N jump "jump I6 negative" ,(+ 40 1)
948 "Jump if the content of rI6 is negative. 949 "Jump if the content of rI6 is negative.
949Register J is set to the value of the next instruction that would have 950Register J is set to the value of the next instruction that would have
950been executed when there was no jump." 951been executed when there was no jump."
951 1) 952 1)
952 953
953 954
954 (J6Z jump "jump I6 zero" ,(+ 40 1) 955 (J6Z jump "jump I6 zero" ,(+ 40 1)
955 "Jump if the content of rI6 is zero. 956 "Jump if the content of rI6 is zero.
956Register J is set to the value of the next instruction that would have 957Register J is set to the value of the next instruction that would have
957been executed when there was no jump." 958been executed when there was no jump."
958 1) 959 1)
959 960
960 961
961 (J6P jump "jump I6 positive" ,(+ 40 1) 962 (J6P jump "jump I6 positive" ,(+ 40 1)
962 "Jump if the content of rI6 is positive. 963 "Jump if the content of rI6 is positive.
963Register J is set to the value of the next instruction that would have 964Register J is set to the value of the next instruction that would have
964been executed when there was no jump." 965been executed when there was no jump."
965 1) 966 1)
966 967
967 968
968 (J6NN jump "jump I6 non-negative" ,(+ 40 1) 969 (J6NN jump "jump I6 non-negative" ,(+ 40 1)
969 "Jump if the content of rI6 is non-negative. 970 "Jump if the content of rI6 is non-negative.
970Register J is set to the value of the next instruction that would have 971Register J is set to the value of the next instruction that would have
971been executed when there was no jump." 972been executed when there was no jump."
972 1) 973 1)
973 974
974 975
975 (J6NZ jump "jump I6 non-zero" ,(+ 40 1) 976 (J6NZ jump "jump I6 non-zero" ,(+ 40 1)
976 "Jump if the content of rI6 is non-zero. 977 "Jump if the content of rI6 is non-zero.
977Register J is set to the value of the next instruction that would have 978Register J is set to the value of the next instruction that would have
978been executed when there was no jump." 979been executed when there was no jump."
979 1) 980 1)
980 981
981 982
982 (J6NP jump "jump I6 non-positive" ,(+ 40 1) 983 (J6NP jump "jump I6 non-positive" ,(+ 40 1)
983 "Jump if the content of rI6 is non-positive. 984 "Jump if the content of rI6 is non-positive.
984Register J is set to the value of the next instruction that would have 985Register J is set to the value of the next instruction that would have
985been executed when there was no jump." 986been executed when there was no jump."
986 1) 987 1)
987 988
988 (SLA miscellaneous "shift left A" 6 989 (SLA miscellaneous "shift left A" 6
989 "Shift to A, M bytes left. 990 "Shift to A, M bytes left.
990Hero's will be added to the right." 991Hero's will be added to the right."
991 2) 992 2)
992 993
993 994
994 (SRA miscellaneous "shift right A" 6 995 (SRA miscellaneous "shift right A" 6
995 "Shift to A, M bytes right. 996 "Shift to A, M bytes right.
996Zeros will be added to the left." 997Zeros will be added to the left."
997 2) 998 2)
998 999
999 1000
1000 (SLAX miscellaneous "shift left AX" 6 1001 (SLAX miscellaneous "shift left AX" 6
1001 "Shift AX, M bytes left. 1002 "Shift AX, M bytes left.
1002Zeros will be added to the right." 1003Zeros will be added to the right."
1003 2) 1004 2)
1004 1005
1005 1006
1006 1007
1007 (SRAX miscellaneous "shift right AX" 6 1008 (SRAX miscellaneous "shift right AX" 6
1008 "Shift AX, M bytes right. 1009 "Shift AX, M bytes right.
1009Zeros will be added to the left." 1010Zeros will be added to the left."
1010 2) 1011 2)
1011 1012
1012 1013
1013 (SLC miscellaneous "shift left AX circularly" 6 1014 (SLC miscellaneous "shift left AX circularly" 6
1014 "Shift AX, M bytes left circularly. 1015 "Shift AX, M bytes left circularly.
1015The bytes that fall off to the left will be added to the right." 1016The bytes that fall off to the left will be added to the right."
1016 2) 1017 2)
1017 1018
1018 1019
1019 (SRC miscellaneous "shift right AX circularly" 6 1020 (SRC miscellaneous "shift right AX circularly" 6
1020 "Shift AX, M bytes right circularly. 1021 "Shift AX, M bytes right circularly.
1021The bytes that fall off to the right will be added to the left." 1022The bytes that fall off to the right will be added to the left."
1022 2) 1023 2)
1023 1024
1024 (MOVE miscellaneous "move" 7 number 1025 (MOVE miscellaneous "move" 7 number
1025 "Move MOD words from M to the location stored in rI1." 1026 "Move MOD words from M to the location stored in rI1."
1026 (+ 1 (* 2 number))) 1027 (+ 1 (* 2 number)))
1027 1028
1028 (NOP miscellaneous "no operation" 0 ignored 1029 (NOP miscellaneous "no operation" 0 ignored
1029 "No operation, M and F are not used by the machine." 1030 "No operation, M and F are not used by the machine."
1030 1) 1031 1)
1031 1032
1032 (HLT miscellaneous "halt" 5 1033 (HLT miscellaneous "halt" 5
1033 "Halt. 1034 "Halt.
1034Stop instruction fetching." 1035Stop instruction fetching."
1035 1) 1036 1)
1036 1037
1037 (IN input-output "input" 36 unit 1038 (IN input-output "input" 36 unit
1038 "Transfer a block of words from the specified unit to memory. 1039 "Transfer a block of words from the specified unit to memory.
1039The transfer starts at address M." 1040The transfer starts at address M."
1040 1) 1041 1)
1041 1042
1042 (OUT input-output "output" 37 unit 1043 (OUT input-output "output" 37 unit
1043 "Transfer a block of words from memory. 1044 "Transfer a block of words from memory.
1044The transfer starts at address M to the specified unit." 1045The transfer starts at address M to the specified unit."
1045 1) 1046 1)
1046 1047
1047 (IOC input-output "input-output control" 35 unit 1048 (IOC input-output "input-output control" 35 unit
1048 "Perform a control operation. 1049 "Perform a control operation.
1049The control operation is given by M on the specified unit." 1050The control operation is given by M on the specified unit."
1050 1) 1051 1)
1051 1052
1052 (JRED input-output "jump ready" 38 unit 1053 (JRED input-output "jump ready" 38 unit
1053 "Jump to M if the specified unit is ready." 1054 "Jump to M if the specified unit is ready."
1054 1) 1055 1)
1055 1056
1056 1057
1057 (JBUS input-output "jump busy" 34 unit 1058 (JBUS input-output "jump busy" 34 unit
1058 "Jump to M if the specified unit is busy." 1059 "Jump to M if the specified unit is busy."
1059 1) 1060 1)
1060 1061
1061 (NUM conversion "convert to numeric" 5 1062 (NUM conversion "convert to numeric" 5
1062 "Convert rAX to its numerical value and store it in rA. 1063 "Convert rAX to its numerical value and store it in rA.
1063the register rAX is assumed to contain a character representation of 1064the register rAX is assumed to contain a character representation of
1064a number." 1065a number."
1065 10) 1066 10)
1066 1067
1067 (CHAR conversion "convert to characters" 5 1068 (CHAR conversion "convert to characters" 5
1068 "Convert the number stored in rA to a character representation. 1069 "Convert the number stored in rA to a character representation.
1069The converted character representation is stored in rAX." 1070The converted character representation is stored in rAX."
1070 10)) 1071 10)))
1071 1072
1072 "Alist that contains all the possible operation codes for mix. 1073 "Alist that contains all the possible operation codes for mix.
1073Each elt has the form 1074Each elt has the form