/[emacs]/emacs/lisp/progmodes/mixal-mode.el
ViewVC logotype

Diff of /emacs/lisp/progmodes/mixal-mode.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26