Rearranged opcodes (switched mov with push_reg)

This is so push opcodes are closer together
This commit is contained in:
2023-10-15 21:21:27 +01:00
parent 54760d446c
commit 4ae762294d

View File

@@ -24,25 +24,25 @@ typedef enum
OP_PUSH_WORD = 0b00000101,
OP_PUSH_FLOAT = 0b00001001,
// 0b0010
OP_MOV_BYTE = 0b00000010,
OP_MOV_WORD = 0b00000110,
OP_MOV_FLOAT = 0b00001010,
OP_PUSH_BREG = 0b00000010,
OP_PUSH_WREG = 0b00000110,
OP_PUSH_FREG = 0b00001010,
// 0b0100
OP_POP_BYTE = 0b00000100,
OP_POP_WORD = 0b00001100,
OP_POP_FLOAT = 0b00010100,
// 0b1000
OP_PUSH_BREG = 0b00001000,
OP_PUSH_WREG = 0b00011000,
OP_PUSH_FREG = 0b00101000,
OP_MOV_BYTE = 0b00001000,
OP_MOV_WORD = 0b00011000,
OP_MOV_FLOAT = 0b00101000,
OP_HALT,
} opcode_t;
#define OPCODE_IS_PUSH(OPCODE) (((OPCODE)&0b1) == 0b1)
#define OPCODE_IS_MOV(OPCODE) (((OPCODE)&0b10) == 0b10)
#define OPCODE_IS_PUSH_REG(OPCODE) (((OPCODE)&0b10) == 0b10)
#define OPCODE_IS_POP(OPCODE) (((OPCODE)&0b100) == 0b100)
#define OPCODE_IS_PUSH_REG(OPCODE) (((OPCODE)&0b1000) == 0b1000)
#define OPCODE_IS_MOV(OPCODE) (((OPCODE)&0b1000) == 0b1000)
typedef struct
{