/* MEMORY LOCATIONS AND IMMEDIATES ARE 16 BITS LONG */ enum OPS_STARTING_VALUES { MOVI, MOVR, LOAD, STOR, ADDI, ADDR, SUBI, SUBR, XORI, XORR, NOTR, MULI, MULR, DIVI, DIVR, PUSH, POOP, COMP, JUMP, JMPA, JMPB, JMPE, SHIT, NOPE, GERM, NUM_OPS }; uint8_t OPS[NUM_OPS]; #define REG2REG 2 #define IMM2REG 4 #define REG2IMM 4 #define UNARY 1 #define MOVI_SIZE IMM2REG #define MOVR_SIZE REG2REG #define LOAD_SIZE IMM2REG #define STOR_SIZE REG2IMM #define ADDI_SIZE IMM2REG #define ADDR_SIZE REG2REG