#ifndef ASSEMBLER_H #define ASSEMBLER_H #include typedef enum { SIZE_256B, SIZE_128B, SIZE_64B, SIZE_32B, SIZE_16B, SIZE_8B, } size_index; typedef enum { TYPE_REGISTER, TYPE_VARIABLE, TYPE_CONSTANT, } type_index; typedef enum { OPERATION_MOVE, OPERATION_ADD, OPERATION_SUBTRACT, OPERATION_MULTIPLY, OPERATION_DIVIDE, OPERATION_MODULUS, OPERATION_COMPARE, OPERATION_JUMP, OPERATION_XOR, OPERATION_AND, OPERATION_OR, OPERATION_NOT, OPERATION_IS, OPERATION_ABOVE, OPERATION_BELOW, OPERATION_IF, OPERATION_INCREMENT, OPERATION_DECREMENT, OPERATION_SYSTEM, OPERATION_CALL, OPERATION_RETURN, OPERATION_ENTER, OPERATION_LEAVE, OPERATION_EXIT, OPERATION_ADD_F, OPERATION_SUBTRACT_F, } operation_index; typedef enum { OPERAND_REGISTER_0, OPERAND_REGISTER_1, OPERAND_REGISTER_2, OPERAND_REGISTER_3, OPERAND_REGISTER_4, OPERAND_REGISTER_5, OPERAND_REGISTER_6, OPERAND_REGISTER_7, OPERAND_REGISTER_8, OPERAND_REGISTER_9, OPERAND_REGISTER_A, OPERAND_REGISTER_B, OPERAND_REGISTER_C, OPERAND_REGISTER_D, OPERAND_REGISTER_E, OPERAND_REGISTER_F, OPERAND_REFERENCE, OPERAND_DEREFERENCE, } operand_index; typedef signed int form; typedef unsigned int next; typedef unsigned char byte; #endif