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 |