diff --git a/lib/base.h b/lib/base.h index e0cabc0..1eaf9ba 100644 --- a/lib/base.h +++ b/lib/base.h @@ -77,7 +77,7 @@ typedef enum #define SWORD_SIZE sizeof(s_word) // Macros to extract the nth byte or nth hword from a word -#define WORD_NTH_BYTE(WORD, N) (((WORD) >> ((N)*8)) & 0xff) +#define WORD_NTH_BYTE(WORD, N) (((WORD) >> ((N)*8)) & 0xFF) #define WORD_NTH_HWORD(WORD, N) (((WORD) >> ((N)*2)) & 0xFFFFFFFF) // Assume array contains 4 bytes. diff --git a/lib/inst.h b/lib/inst.h index 10f8dc7..63b1669 100644 --- a/lib/inst.h +++ b/lib/inst.h @@ -229,8 +229,9 @@ inst_t *insts_read_bytecode_file(FILE *, size_t *); #define INST_JUMP_ABS(OP) \ ((inst_t){.opcode = OP_JUMP_ABS, .operand = DWORD(OP)}) -#define INST_JUMP_STACK ((inst_t){.opcode = OP_JUMP_STACK}) -#define INST_JUMP_REGISTER ((inst_t){.opcode = OP_JUMP_REGISTER}) +#define INST_JUMP_STACK ((inst_t){.opcode = OP_JUMP_STACK}) +#define INST_JUMP_REGISTER(OP) \ + ((inst_t){.opcode = OP_JUMP_REGISTER, .operand = DWORD(OP)}) #define INST_JUMP_IF(TYPE, OP) \ ((inst_t){.opcode = OP_JUMP_IF_##TYPE, .operand = DWORD(OP)})