code | field | symbol | instruction |
| | | |
00 | 00 | NOP | no operation |
01 | 06 | FADD | floating point add (m) to A |
01 | 07 | ORR | inclusive-OR of (m) with A |
01 | L:R | ADD | add (m) to register A |
02 | 06 | FSUB | floating point subtract (m) from A |
02 | 07 | XOR | exclusive-OR of (m) with A |
02 | L:R | SUB | subtract (m) from A |
03 | 06 | FMUL | floating point multiply of A by (m) |
03 | 07 | AND | logical and (m) into A |
03 | L:R | MUL | multiply (m) by A giving AX |
04 | 06 | FDIV | floating point divide of A by (m) |
04 | L:R | DIV | divide (m) into AX giving A (quotient) and X (remainder) |
05 | 00 | NUM | 10-byte decimal in AX converted to binary in A |
05 | 01 | CHAR | A is converted to 10-byte decimal characters in AX |
05 | 02 | HLT | halt the MIX machine |
05 | 03 | OCT | A is converted to 10-byte octal characters in AX |
05 | 06 | FLOT | convert A from integer to floating point in A |
06 | 00 | SLA | shift A m bytes left, end-off |
06 | 01 | SRA | shift A m bytes right, end-off |
06 | 02 | SLAX | shift AX m bytes left, end-off |
06 | 03 | SRAX | shift AX m bytes right, end-off |
06 | 04 | SLC | shift AX m bytes left, circular |
06 | 05 | SRC | shift AX m bytes right, circular |
06 | 06 | SLB | shift AX m bits left, end-off |
06 | 07 | SRB | shift AX m bits right, end-off |
07 | N | MOVE | move N words starting from m to (I1), add N to I1 |
10 | L:R | LDA | load A with (m) |
11 | L:R | LD1 | load I1 with (m) |
12 | L:R | LD2 | load I2 with (m) |
13 | L:R | LD3 | load I3 with (m) |
14 | L:R | LD4 | load I4 with (m) |
15 | L:R | LD5 | load I5 with (m) |
16 | L:R | LD6 | load I6 with (m) |
17 | L:R | LDX | load X with (m) |
20 | L:R | LDAN | load A with negative of (m) |
21 | L:R | LD1N | load I1 with negative of (m) |
22 | L:R | LD2N | load I2 with negative of (m) |
23 | L:R | LD3N | load I3 with negative of (m) |
24 | L:R | LD4N | load I4 with negative of (m) |
25 | L:R | LD5N | load I5 with negative of (m) |
26 | L:R | LD6N | load I6 with negative of (m) |
27 | L:R | LDXN | load X with negative of (m) |
30 | L:R | STA | store A into location m |
31 | L:R | ST1 | store I1 into location m |
32 | L:R | ST2 | store I2 into location m |
33 | L:R | ST3 | store I3 into location m |
34 | L:R | ST4 | store I4 into location m |
35 | L:R | ST5 | store I5 into location m |
36 | L:R | ST6 | store I6 into location m |
37 | L:R | STX | store X into location m |
40 | L:R | STJ | store J register into location m |
41 | L:R | STZ | store zero into location m |
42 | N | JBUS | jump to location m if unit N is busy |
43 | N | IOC | issue I/O control signal to unit N |
44 | N | IN | start input transfer from unit N |
45 | N | OUT | start output transfer from unit N |
46 | N | JRED | jump to location m if unit N is ready |
47 | 00 | JMP | jump to m |
47 | 01 | JSJ | jump to m (but do not change register J) |
47 | 02 | JOV | jump to m if overflow on, turn overflow off |
47 | 03 | JNOV | jump to m if overflow off, turn overflow off anyway |
47 | 04 | JL | jump to m if comparison indicator is less |
47 | 05 | JE | jump to m if comparison indicator is equal |
47 | 06 | JG | jump to m if comparison indicator is greater |
47 | 07 | JGE | jump to m if comparison indicator is greater or equal |
47 | 10 | JNE | jump to m if comparison indicator is not equal |
47 | 11 | JLE | jump to m if comparison indicator is less or equal |
50 | 00 | JAN | jump to m if A is negative |
50 | 01 | JAZ | jump to m if A is zero |
50 | 02 | JAP | jump to m if A is positive |
50 | 03 | JANN | jump to m if A is nonnegative |
50 | 04 | JANZ | jump to m if A is nonzero |
50 | 05 | JANP | jump to m if A is nonpositive |
50 | 06 | JAE | jump to m if A is even |
50 | 07 | JAO | jump to m if A is odd |
51 | 00 | J1N | jump to m if I1 is negative |
51 | 01 | J1Z | jump to m if I1 is zero |
51 | 02 | J1P | jump to m if I1 is positive |
51 | 03 | J1NN | jump to m if I1 is nonnegative |
51 | 04 | J1NZ | jump to m if I1 is nonzero |
51 | 05 | J1NP | jump to m if I1 is nonpositive |
52 | 00 | J2N | jump to m if I2 is negative |
52 | 01 | J2Z | jump to m if I2 is zero |
52 | 02 | J2P | jump to m if I2 is positive |
52 | 03 | J2NN | jump to m if I2 is nonnegative |
52 | 04 | J2NZ | jump to m if I2 is nonzero |
52 | 05 | J2NP | jump to m if I2 is nonpositive |
53 | 00 | J3N | jump to m if I3 is negative |
53 | 01 | J3Z | jump to m if I3 is zero |
53 | 02 | J3P | jump to m if I3 is positive |
53 | 03 | J3NN | jump to m if I3 is nonnegative |
53 | 04 | J3NZ | jump to m if I3 is nonzero |
53 | 05 | J3NP | jump to m if I3 is nonpositive |
54 | 00 | J4N | jump to m if I4 is negative |
54 | 01 | J4Z | jump to m if I4 is zero |
54 | 02 | J4P | jump to m if I4 is positive |
54 | 03 | J4NN | jump to m if I4 is nonnegative |
54 | 04 | J4NZ | jump to m if I4 is nonzero |
54 | 05 | J4NP | jump to m if I4 is nonpositive |
55 | 00 | J5N | jump to m if I5 is negative |
55 | 01 | J5Z | jump to m if I5 is zero |
55 | 02 | J5P | jump to m if I5 is positive |
55 | 03 | J5NN | jump to m if I5 is nonnegative |
55 | 04 | J5NZ | jump to m if I5 is nonzero |
55 | 05 | J5NP | jump to m if I5 is nonpositive |
56 | 00 | J6N | jump to m if I6 is negative |
56 | 01 | J6Z | jump to m if I6 is zero |
56 | 02 | J6P | jump to m if I6 is positive |
56 | 03 | J6NN | jump to m if I6 is nonnegative |
56 | 04 | J6NZ | jump to m if I6 is nonzero |
56 | 05 | J6NP | jump to m if I6 is nonpositive |
57 | 00 | JXN | jump to m if X is negative |
57 | 01 | JXZ | jump to m if X is zero |
57 | 02 | JXP | jump to m if X is positive |
57 | 03 | JXNN | jump to m if X is nonnegative |
57 | 04 | JXNZ | jump to m if X is nonzero |
57 | 05 | JXNP | jump to m if X is nonpositive |
57 | 06 | JXE | jump to m if X is even |
57 | 07 | JXO | jump to m if X is odd |
60 | 00 | INCA | increment A by m |
60 | 01 | DECA | decrement A by m |
60 | 02 | ENTA | enter m into A |
60 | 03 | ENNA | enter negative of m into A |
61 | 00 | INC1 | increment I1 by m |
61 | 01 | DEC1 | decrement I1 by m |
61 | 02 | ENT1 | enter m into I1 |
61 | 03 | ENN1 | enter negative of m into I1 |
62 | 00 | INC2 | increment I2 by m |
62 | 01 | DEC2 | decrement I2 by m |
62 | 02 | ENT2 | enter m into I2 |
62 | 03 | ENN2 | enter negative of m into I2 |
63 | 00 | INC3 | increment I3 by m |
63 | 01 | DEC3 | decrement I3 by m |
63 | 02 | ENT3 | enter m into I3 |
63 | 03 | ENN3 | enter negative of m into I3 |
64 | 00 | INC4 | increment I4 by m |
64 | 01 | DEC4 | decrement I4 by m |
64 | 02 | ENT4 | enter m into I4 |
64 | 03 | ENN4 | enter negative of m into I4 |
65 | 00 | INC5 | increment I5 by m |
65 | 01 | DEC5 | decrement I5 by m |
65 | 02 | ENT5 | enter m into I5 |
65 | 03 | ENN5 | enter negative of m into I5 |
66 | 00 | INC6 | increment I6 by m |
66 | 01 | DEC6 | decrement I6 by m |
66 | 02 | ENT6 | enter m into I6 |
66 | 03 | ENN6 | enter negative of m into I6 |
67 | 00 | INCX | increment X by m |
67 | 01 | DECX | decrement X by m |
67 | 02 | ENTX | enter m into X |
67 | 03 | ENNX | enter negative of m into X |
70 | 06 | FCMP | floating point compare A and (m), set comparison indicator |
70 | L:R | CMPA | compare A and (m), set comparison indicator |
71 | L:R | CMP1 | compare I1 and (m), set comparison indicator |
72 | L:R | CMP2 | compare I2 and (m), set comparison indicator |
73 | L:R | CMP3 | compare I3 and (m), set comparison indicator |
74 | L:R | CMP4 | compare I4 and (m), set comparison indicator |
75 | L:R | CMP5 | compare I5 and (m), set comparison indicator |
76 | L:R | CMP6 | compare I6 and (m), set comparison indicator |
77 | L:R | CMPX | compare X and (m), set comparison indicator |