github.com/jflude/taocp@v0.0.0-20240210234939-99f2a91af3c2/mix/opcodes.go (about)

     1  package mix
     2  
     3  const (
     4  	// The opcodes for the MIX 1009 computer (see Table 1, Section 1.3.1)
     5  	NOP = iota
     6  	ADD // FADD
     7  	SUB // FSUB
     8  	MUL // FMUL
     9  	DIV // FDIV
    10  	NUM // CHAR, HLT, AND, OR, XOR, FLOT, FIX, INT
    11  	SLA // SRA, SLAX, SRAX, SLC, SRC, SLB, SRB
    12  	MOVE
    13  	LDA
    14  	LD1
    15  	LD2
    16  	LD3
    17  	LD4
    18  	LD5
    19  	LD6
    20  	LDX
    21  	LDAN
    22  	LD1N
    23  	LD2N
    24  	LD3N
    25  	LD4N
    26  	LD5N
    27  	LD6N
    28  	LDXN
    29  	STA
    30  	ST1
    31  	ST2
    32  	ST3
    33  	ST4
    34  	ST5
    35  	ST6
    36  	STX
    37  	STJ
    38  	STZ
    39  	JBUS
    40  	IOC
    41  	IN
    42  	OUT
    43  	JRED
    44  	JMP  // JSJ, JOV, JNOV, JL, JE, JG, JGE, JNE, JLE
    45  	JA   // JAN, JAZ, JAP, JANN, JANZ, JANP, JAE, JEO
    46  	J1   // J1N, J1Z, J1P, J1NN, J1NZ, J1NP
    47  	J2   // J2N, J2Z, J2P, J2NN, J2NZ, J2NP
    48  	J3   // J3N, J3Z, J3P, J3NN, J3NZ, J3NP
    49  	J4   // J4N, J4Z, J4P, J4NN, J4NZ, J4NP
    50  	J5   // J5N, J5Z, J5P, J5NN, J5NZ, J5NP
    51  	J6   // J6N, J6Z, J6P, J6NN, J6NZ, J6NP
    52  	JX   // JXN, JXZ, JXP, JXNN, JXNZ, JXNP, JXE, JXO
    53  	INCA // DECA, ENTA, ENNA
    54  	INC1 // DEC1, ENT1, ENN1
    55  	INC2 // DEC2, ENT2, ENN2
    56  	INC3 // DEC3, ENT3, ENN3
    57  	INC4 // DEC4, ENT4, ENN4
    58  	INC5 // DEC5, ENT5, ENN5
    59  	INC6 // DEC6, ENT6, ENN6
    60  	INCX // DECX, ENTX, ENNX
    61  	CMPA // FCMP
    62  	CMP1
    63  	CMP2
    64  	CMP3
    65  	CMP4
    66  	CMP5
    67  	CMP6
    68  	CMPX
    69  )