Notation: | m is the computed effective address |

(m) is the contents of location m |

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 |