[gamecode] Rename the old opcodes

To reflect their basis on v6 progs instructions, they sport the v6p tag
where the p is for "plus" due to the QuakeForge extensions.
This commit is contained in:
Bill Currie 2022-01-02 21:06:14 +09:00
parent bc0a09f452
commit 0c17c6dc24
7 changed files with 1004 additions and 1003 deletions

View file

@ -89,355 +89,355 @@ extern const char * const pr_type_name[ev_type_count];
typedef enum { typedef enum {
OP_DONE, OP_DONE_v6p,
OP_MUL_F, OP_MUL_F_v6p,
OP_MUL_V, OP_MUL_V_v6p,
OP_MUL_FV, OP_MUL_FV_v6p,
OP_MUL_VF, OP_MUL_VF_v6p,
OP_DIV_F, OP_DIV_F_v6p,
OP_ADD_F, OP_ADD_F_v6p,
OP_ADD_V, OP_ADD_V_v6p,
OP_SUB_F, OP_SUB_F_v6p,
OP_SUB_V, OP_SUB_V_v6p,
OP_EQ_F, OP_EQ_F_v6p,
OP_EQ_V, OP_EQ_V_v6p,
OP_EQ_S, OP_EQ_S_v6p,
OP_EQ_E, OP_EQ_E_v6p,
OP_EQ_FN, OP_EQ_FN_v6p,
OP_NE_F, OP_NE_F_v6p,
OP_NE_V, OP_NE_V_v6p,
OP_NE_S, OP_NE_S_v6p,
OP_NE_E, OP_NE_E_v6p,
OP_NE_FN, OP_NE_FN_v6p,
OP_LE_F, OP_LE_F_v6p,
OP_GE_F, OP_GE_F_v6p,
OP_LT_F, OP_LT_F_v6p,
OP_GT_F, OP_GT_F_v6p,
OP_LOAD_F, OP_LOAD_F_v6p,
OP_LOAD_V, OP_LOAD_V_v6p,
OP_LOAD_S, OP_LOAD_S_v6p,
OP_LOAD_ENT, OP_LOAD_ENT_v6p,
OP_LOAD_FLD, OP_LOAD_FLD_v6p,
OP_LOAD_FN, OP_LOAD_FN_v6p,
OP_ADDRESS, OP_ADDRESS_v6p,
OP_STORE_F, OP_STORE_F_v6p,
OP_STORE_V, OP_STORE_V_v6p,
OP_STORE_S, OP_STORE_S_v6p,
OP_STORE_ENT, OP_STORE_ENT_v6p,
OP_STORE_FLD, OP_STORE_FLD_v6p,
OP_STORE_FN, OP_STORE_FN_v6p,
OP_STOREP_F, OP_STOREP_F_v6p,
OP_STOREP_V, OP_STOREP_V_v6p,
OP_STOREP_S, OP_STOREP_S_v6p,
OP_STOREP_ENT, OP_STOREP_ENT_v6p,
OP_STOREP_FLD, OP_STOREP_FLD_v6p,
OP_STOREP_FN, OP_STOREP_FN_v6p,
OP_RETURN, OP_RETURN_v6p,
OP_NOT_F, OP_NOT_F_v6p,
OP_NOT_V, OP_NOT_V_v6p,
OP_NOT_S, OP_NOT_S_v6p,
OP_NOT_ENT, OP_NOT_ENT_v6p,
OP_NOT_FN, OP_NOT_FN_v6p,
OP_IF, OP_IF_v6p,
OP_IFNOT, OP_IFNOT_v6p,
OP_CALL0, OP_CALL0_v6p,
OP_CALL1, OP_CALL1_v6p,
OP_CALL2, OP_CALL2_v6p,
OP_CALL3, OP_CALL3_v6p,
OP_CALL4, OP_CALL4_v6p,
OP_CALL5, OP_CALL5_v6p,
OP_CALL6, OP_CALL6_v6p,
OP_CALL7, OP_CALL7_v6p,
OP_CALL8, OP_CALL8_v6p,
OP_STATE, OP_STATE_v6p,
OP_GOTO, OP_GOTO_v6p,
OP_AND, OP_AND_v6p,
OP_OR, OP_OR_v6p,
OP_BITAND, OP_BITAND_v6p,
OP_BITOR, // end of v6 opcodes OP_BITOR_v6p, // end of v6 opcodes
OP_ADD_S, OP_ADD_S_v6p,
OP_LE_S, OP_LE_S_v6p,
OP_GE_S, OP_GE_S_v6p,
OP_LT_S, OP_LT_S_v6p,
OP_GT_S, OP_GT_S_v6p,
OP_ADD_I, OP_ADD_I_v6p,
OP_SUB_I, OP_SUB_I_v6p,
OP_MUL_I, OP_MUL_I_v6p,
OP_DIV_I, OP_DIV_I_v6p,
OP_BITAND_I, OP_BITAND_I_v6p,
OP_BITOR_I, OP_BITOR_I_v6p,
OP_GE_I, OP_GE_I_v6p,
OP_LE_I, OP_LE_I_v6p,
OP_GT_I, OP_GT_I_v6p,
OP_LT_I, OP_LT_I_v6p,
OP_AND_I, OP_AND_I_v6p,
OP_OR_I, OP_OR_I_v6p,
OP_NOT_I, OP_NOT_I_v6p,
OP_EQ_I, OP_EQ_I_v6p,
OP_NE_I, OP_NE_I_v6p,
OP_STORE_I, OP_STORE_I_v6p,
OP_STOREP_I, OP_STOREP_I_v6p,
OP_LOAD_I, OP_LOAD_I_v6p,
OP_CONV_IF, OP_CONV_IF_v6p,
OP_CONV_FI, OP_CONV_FI_v6p,
OP_BITXOR_F, OP_BITXOR_F_v6p,
OP_BITXOR_I, OP_BITXOR_I_v6p,
OP_BITNOT_F, OP_BITNOT_F_v6p,
OP_BITNOT_I, OP_BITNOT_I_v6p,
OP_SHL_F, OP_SHL_F_v6p,
OP_SHR_F, OP_SHR_F_v6p,
OP_SHL_I, OP_SHL_I_v6p,
OP_SHR_I, OP_SHR_I_v6p,
OP_REM_F, OP_REM_F_v6p,
OP_REM_I, OP_REM_I_v6p,
OP_LOADB_F, OP_LOADB_F_v6p,
OP_LOADB_V, OP_LOADB_V_v6p,
OP_LOADB_S, OP_LOADB_S_v6p,
OP_LOADB_ENT, OP_LOADB_ENT_v6p,
OP_LOADB_FLD, OP_LOADB_FLD_v6p,
OP_LOADB_FN, OP_LOADB_FN_v6p,
OP_LOADB_I, OP_LOADB_I_v6p,
OP_LOADB_P, OP_LOADB_P_v6p,
OP_STOREB_F, OP_STOREB_F_v6p,
OP_STOREB_V, OP_STOREB_V_v6p,
OP_STOREB_S, OP_STOREB_S_v6p,
OP_STOREB_ENT, OP_STOREB_ENT_v6p,
OP_STOREB_FLD, OP_STOREB_FLD_v6p,
OP_STOREB_FN, OP_STOREB_FN_v6p,
OP_STOREB_I, OP_STOREB_I_v6p,
OP_STOREB_P, OP_STOREB_P_v6p,
OP_ADDRESS_VOID, OP_ADDRESS_VOID_v6p,
OP_ADDRESS_F, OP_ADDRESS_F_v6p,
OP_ADDRESS_V, OP_ADDRESS_V_v6p,
OP_ADDRESS_S, OP_ADDRESS_S_v6p,
OP_ADDRESS_ENT, OP_ADDRESS_ENT_v6p,
OP_ADDRESS_FLD, OP_ADDRESS_FLD_v6p,
OP_ADDRESS_FN, OP_ADDRESS_FN_v6p,
OP_ADDRESS_I, OP_ADDRESS_I_v6p,
OP_ADDRESS_P, OP_ADDRESS_P_v6p,
OP_LEA, OP_LEA_v6p,
OP_IFBE, OP_IFBE_v6p,
OP_IFB, OP_IFB_v6p,
OP_IFAE, OP_IFAE_v6p,
OP_IFA, OP_IFA_v6p,
OP_JUMP, OP_JUMP_v6p,
OP_JUMPB, OP_JUMPB_v6p,
OP_LT_U, OP_LT_U_v6p,
OP_GT_U, OP_GT_U_v6p,
OP_LE_U, OP_LE_U_v6p,
OP_GE_U, OP_GE_U_v6p,
OP_LOADBI_F, OP_LOADBI_F_v6p,
OP_LOADBI_V, OP_LOADBI_V_v6p,
OP_LOADBI_S, OP_LOADBI_S_v6p,
OP_LOADBI_ENT, OP_LOADBI_ENT_v6p,
OP_LOADBI_FLD, OP_LOADBI_FLD_v6p,
OP_LOADBI_FN, OP_LOADBI_FN_v6p,
OP_LOADBI_I, OP_LOADBI_I_v6p,
OP_LOADBI_P, OP_LOADBI_P_v6p,
OP_STOREBI_F, OP_STOREBI_F_v6p,
OP_STOREBI_V, OP_STOREBI_V_v6p,
OP_STOREBI_S, OP_STOREBI_S_v6p,
OP_STOREBI_ENT, OP_STOREBI_ENT_v6p,
OP_STOREBI_FLD, OP_STOREBI_FLD_v6p,
OP_STOREBI_FN, OP_STOREBI_FN_v6p,
OP_STOREBI_I, OP_STOREBI_I_v6p,
OP_STOREBI_P, OP_STOREBI_P_v6p,
OP_LEAI, OP_LEAI_v6p,
OP_LOAD_P, OP_LOAD_P_v6p,
OP_STORE_P, OP_STORE_P_v6p,
OP_STOREP_P, OP_STOREP_P_v6p,
OP_NOT_P, OP_NOT_P_v6p,
OP_EQ_P, OP_EQ_P_v6p,
OP_NE_P, OP_NE_P_v6p,
OP_LE_P, OP_LE_P_v6p,
OP_GE_P, OP_GE_P_v6p,
OP_LT_P, OP_LT_P_v6p,
OP_GT_P, OP_GT_P_v6p,
OP_MOVEI, OP_MOVEI_v6p,
OP_MOVEP, OP_MOVEP_v6p,
OP_MOVEPI, OP_MOVEPI_v6p,
OP_SHR_U, OP_SHR_U_v6p,
OP_STATE_F, OP_STATE_F_v6p,
OP_ADD_Q, OP_ADD_Q_v6p,
OP_SUB_Q, OP_SUB_Q_v6p,
OP_MUL_Q, OP_MUL_Q_v6p,
OP_MUL_QF, OP_MUL_QF_v6p,
OP_MUL_FQ, OP_MUL_FQ_v6p,
OP_MUL_QV, OP_MUL_QV_v6p,
OP_CONJ_Q, OP_CONJ_Q_v6p,
OP_NOT_Q, OP_NOT_Q_v6p,
OP_EQ_Q, OP_EQ_Q_v6p,
OP_NE_Q, OP_NE_Q_v6p,
OP_STORE_Q, OP_STORE_Q_v6p,
OP_STOREB_Q, OP_STOREB_Q_v6p,
OP_STOREBI_Q, OP_STOREBI_Q_v6p,
OP_STOREP_Q, OP_STOREP_Q_v6p,
OP_LOAD_Q, OP_LOAD_Q_v6p,
OP_LOADB_Q, OP_LOADB_Q_v6p,
OP_LOADBI_Q, OP_LOADBI_Q_v6p,
OP_ADDRESS_Q, OP_ADDRESS_Q_v6p,
OP_RCALL0, OP_RCALL0_v6p,
OP_RCALL1, OP_RCALL1_v6p,
OP_RCALL2, OP_RCALL2_v6p,
OP_RCALL3, OP_RCALL3_v6p,
OP_RCALL4, OP_RCALL4_v6p,
OP_RCALL5, OP_RCALL5_v6p,
OP_RCALL6, OP_RCALL6_v6p,
OP_RCALL7, OP_RCALL7_v6p,
OP_RCALL8, OP_RCALL8_v6p,
OP_RETURN_V, OP_RETURN_V_v6p,
OP_PUSH_S, OP_PUSH_S_v6p,
OP_PUSH_F, OP_PUSH_F_v6p,
OP_PUSH_V, OP_PUSH_V_v6p,
OP_PUSH_ENT, OP_PUSH_ENT_v6p,
OP_PUSH_FLD, OP_PUSH_FLD_v6p,
OP_PUSH_FN, OP_PUSH_FN_v6p,
OP_PUSH_P, OP_PUSH_P_v6p,
OP_PUSH_Q, OP_PUSH_Q_v6p,
OP_PUSH_I, OP_PUSH_I_v6p,
OP_PUSH_D, OP_PUSH_D_v6p,
OP_PUSHB_S, OP_PUSHB_S_v6p,
OP_PUSHB_F, OP_PUSHB_F_v6p,
OP_PUSHB_V, OP_PUSHB_V_v6p,
OP_PUSHB_ENT, OP_PUSHB_ENT_v6p,
OP_PUSHB_FLD, OP_PUSHB_FLD_v6p,
OP_PUSHB_FN, OP_PUSHB_FN_v6p,
OP_PUSHB_P, OP_PUSHB_P_v6p,
OP_PUSHB_Q, OP_PUSHB_Q_v6p,
OP_PUSHB_I, OP_PUSHB_I_v6p,
OP_PUSHB_D, OP_PUSHB_D_v6p,
OP_PUSHBI_S, OP_PUSHBI_S_v6p,
OP_PUSHBI_F, OP_PUSHBI_F_v6p,
OP_PUSHBI_V, OP_PUSHBI_V_v6p,
OP_PUSHBI_ENT, OP_PUSHBI_ENT_v6p,
OP_PUSHBI_FLD, OP_PUSHBI_FLD_v6p,
OP_PUSHBI_FN, OP_PUSHBI_FN_v6p,
OP_PUSHBI_P, OP_PUSHBI_P_v6p,
OP_PUSHBI_Q, OP_PUSHBI_Q_v6p,
OP_PUSHBI_I, OP_PUSHBI_I_v6p,
OP_PUSHBI_D, OP_PUSHBI_D_v6p,
OP_POP_S, OP_POP_S_v6p,
OP_POP_F, OP_POP_F_v6p,
OP_POP_V, OP_POP_V_v6p,
OP_POP_ENT, OP_POP_ENT_v6p,
OP_POP_FLD, OP_POP_FLD_v6p,
OP_POP_FN, OP_POP_FN_v6p,
OP_POP_P, OP_POP_P_v6p,
OP_POP_Q, OP_POP_Q_v6p,
OP_POP_I, OP_POP_I_v6p,
OP_POP_D, OP_POP_D_v6p,
OP_POPB_S, OP_POPB_S_v6p,
OP_POPB_F, OP_POPB_F_v6p,
OP_POPB_V, OP_POPB_V_v6p,
OP_POPB_ENT, OP_POPB_ENT_v6p,
OP_POPB_FLD, OP_POPB_FLD_v6p,
OP_POPB_FN, OP_POPB_FN_v6p,
OP_POPB_P, OP_POPB_P_v6p,
OP_POPB_Q, OP_POPB_Q_v6p,
OP_POPB_I, OP_POPB_I_v6p,
OP_POPB_D, OP_POPB_D_v6p,
OP_POPBI_S, OP_POPBI_S_v6p,
OP_POPBI_F, OP_POPBI_F_v6p,
OP_POPBI_V, OP_POPBI_V_v6p,
OP_POPBI_ENT, OP_POPBI_ENT_v6p,
OP_POPBI_FLD, OP_POPBI_FLD_v6p,
OP_POPBI_FN, OP_POPBI_FN_v6p,
OP_POPBI_P, OP_POPBI_P_v6p,
OP_POPBI_Q, OP_POPBI_Q_v6p,
OP_POPBI_I, OP_POPBI_I_v6p,
OP_POPBI_D, OP_POPBI_D_v6p,
OP_ADD_D, OP_ADD_D_v6p,
OP_SUB_D, OP_SUB_D_v6p,
OP_MUL_D, OP_MUL_D_v6p,
OP_MUL_QD, OP_MUL_QD_v6p,
OP_MUL_DQ, OP_MUL_DQ_v6p,
OP_MUL_VD, OP_MUL_VD_v6p,
OP_MUL_DV, OP_MUL_DV_v6p,
OP_DIV_D, OP_DIV_D_v6p,
OP_REM_D, OP_REM_D_v6p,
OP_GE_D, OP_GE_D_v6p,
OP_LE_D, OP_LE_D_v6p,
OP_GT_D, OP_GT_D_v6p,
OP_LT_D, OP_LT_D_v6p,
OP_NOT_D, OP_NOT_D_v6p,
OP_EQ_D, OP_EQ_D_v6p,
OP_NE_D, OP_NE_D_v6p,
OP_CONV_FD, OP_CONV_FD_v6p,
OP_CONV_DF, OP_CONV_DF_v6p,
OP_CONV_ID, OP_CONV_ID_v6p,
OP_CONV_DI, OP_CONV_DI_v6p,
OP_STORE_D, OP_STORE_D_v6p,
OP_STOREB_D, OP_STOREB_D_v6p,
OP_STOREBI_D, OP_STOREBI_D_v6p,
OP_STOREP_D, OP_STOREP_D_v6p,
OP_LOAD_D, OP_LOAD_D_v6p,
OP_LOADB_D, OP_LOADB_D_v6p,
OP_LOADBI_D, OP_LOADBI_D_v6p,
OP_ADDRESS_D, OP_ADDRESS_D_v6p,
OP_MOD_I, OP_MOD_I_v6p,
OP_MOD_F, OP_MOD_F_v6p,
OP_MOD_D, OP_MOD_D_v6p,
OP_MEMSETI, OP_MEMSETI_v6p,
OP_MEMSETP, OP_MEMSETP_v6p,
OP_MEMSETPI, OP_MEMSETPI_v6p,
} pr_opcode_e; } pr_opcode_v6p_e;
#define OP_BREAK 0x8000 #define OP_BREAK 0x8000
typedef struct opcode_s { typedef struct v6p_opcode_s {
const char *name; const char *name;
const char *opname; const char *opname;
etype_t type_a, type_b, type_c; etype_t type_a, type_b, type_c;
unsigned int min_version; unsigned int min_version;
const char *fmt; const char *fmt;
} opcode_t; } v6p_opcode_t;
extern const opcode_t pr_opcodes[]; extern const v6p_opcode_t pr_v6p_opcodes[];
const opcode_t *PR_Opcode (pr_short_t opcode) __attribute__((const)); const v6p_opcode_t *PR_v6p_Opcode (pr_ushort_t opcode) __attribute__((const));
void PR_Opcode_Init (void); // idempotent void PR_Opcode_Init (void); // idempotent
typedef struct dstatement_s { typedef struct dstatement_s {
pr_opcode_e op:16; pr_opcode_v6p_e op:16;
pr_ushort_t a,b,c; pr_ushort_t a,b,c;
} GCC_STRUCT dstatement_t; } GCC_STRUCT dstatement_t;

View file

@ -1482,7 +1482,7 @@ PR_PrintStatement (progs_t *pr, dstatement_t *s, int contents)
int addr = s - pr->pr_statements; int addr = s - pr->pr_statements;
int dump_code = contents & 2; int dump_code = contents & 2;
const char *fmt; const char *fmt;
const opcode_t *op; const v6p_opcode_t *op;
dfunction_t *call_func = 0; dfunction_t *call_func = 0;
pr_def_t *parm_def = 0; pr_def_t *parm_def = 0;
pr_auxfunction_t *aux_func = 0; pr_auxfunction_t *aux_func = 0;
@ -1508,7 +1508,7 @@ PR_PrintStatement (progs_t *pr, dstatement_t *s, int contents)
return; return;
} }
op = PR_Opcode (s->op); op = PR_v6p_Opcode (s->op);
if (!op) { if (!op) {
Sys_Printf ("%sUnknown instruction %d\n", res->line->str, s->op); Sys_Printf ("%sUnknown instruction %d\n", res->line->str, s->op);
return; return;

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -31,27 +31,28 @@
#ifndef __opcodes_h #ifndef __opcodes_h
#define __opcodes_h #define __opcodes_h
extern struct opcode_s *op_done; extern struct v6p_opcode_s *op_done;
extern struct opcode_s *op_return; extern struct v6p_opcode_s *op_return;
extern struct opcode_s *op_return_v; extern struct v6p_opcode_s *op_return_v;
extern struct opcode_s *op_if; extern struct v6p_opcode_s *op_if;
extern struct opcode_s *op_ifnot; extern struct v6p_opcode_s *op_ifnot;
extern struct opcode_s *op_ifbe; extern struct v6p_opcode_s *op_ifbe;
extern struct opcode_s *op_ifb; extern struct v6p_opcode_s *op_ifb;
extern struct opcode_s *op_ifae; extern struct v6p_opcode_s *op_ifae;
extern struct opcode_s *op_ifa; extern struct v6p_opcode_s *op_ifa;
extern struct opcode_s *op_state; extern struct v6p_opcode_s *op_state;
extern struct opcode_s *op_state_f; extern struct v6p_opcode_s *op_state_f;
extern struct opcode_s *op_goto; extern struct v6p_opcode_s *op_goto;
extern struct opcode_s *op_jump; extern struct v6p_opcode_s *op_jump;
extern struct opcode_s *op_jumpb; extern struct v6p_opcode_s *op_jumpb;
struct operand_s; struct operand_s;
extern struct opcode_s *opcode_map; extern struct v6p_opcode_s *opcode_map;
struct opcode_s *opcode_find (const char *name, struct operand_s *op_a, struct v6p_opcode_s *opcode_find (const char *name, struct operand_s *op_a,
struct operand_s *op_b, struct operand_s *op_c); struct operand_s *op_b,
struct operand_s *op_c);
void opcode_init (void); void opcode_init (void);
#endif//__opcodes_h #endif//__opcodes_h

View file

@ -185,7 +185,7 @@ emit_statement (statement_t *statement)
{ {
const char *opcode = statement->opcode; const char *opcode = statement->opcode;
def_t *def_a, *def_b, *def_c; def_t *def_a, *def_b, *def_c;
opcode_t *op; v6p_opcode_t *op;
dstatement_t *s; dstatement_t *s;
def_a = get_operand_def (statement->expr, statement->opa); def_a = get_operand_def (statement->expr, statement->opa);

View file

@ -49,14 +49,14 @@
hashtab_t *opcode_type_table; hashtab_t *opcode_type_table;
hashtab_t *opcode_void_table; hashtab_t *opcode_void_table;
opcode_t *opcode_map; v6p_opcode_t *opcode_map;
#define ROTL(x,n) ((((unsigned)(x))<<(n))|((unsigned)(x))>>(32-n)) #define ROTL(x,n) ((((unsigned)(x))<<(n))|((unsigned)(x))>>(32-n))
static uintptr_t static uintptr_t
get_hash (const void *_op, void *_tab) get_hash (const void *_op, void *_tab)
{ {
opcode_t *op = (opcode_t *) _op; v6p_opcode_t *op = (v6p_opcode_t *) _op;
uintptr_t hash; uintptr_t hash;
hash = ROTL (~op->type_a, 8) + ROTL (~op->type_b, 16) hash = ROTL (~op->type_a, 8) + ROTL (~op->type_b, 16)
@ -67,8 +67,8 @@ get_hash (const void *_op, void *_tab)
static int static int
compare (const void *_opa, const void *_opb, void *unused) compare (const void *_opa, const void *_opb, void *unused)
{ {
opcode_t *opa = (opcode_t *) _opa; v6p_opcode_t *opa = (v6p_opcode_t *) _opa;
opcode_t *opb = (opcode_t *) _opb; v6p_opcode_t *opb = (v6p_opcode_t *) _opb;
int cmp; int cmp;
cmp = (opa->type_a == opb->type_a) cmp = (opa->type_a == opb->type_a)
@ -80,7 +80,7 @@ compare (const void *_opa, const void *_opb, void *unused)
static const char * static const char *
get_key (const void *op, void *unused) get_key (const void *op, void *unused)
{ {
return ((opcode_t *) op)->name; return ((v6p_opcode_t *) op)->name;
} }
static int static int
@ -92,13 +92,13 @@ check_operand_type (etype_t ot1, etype_t ot2)
return 0; return 0;
} }
opcode_t * v6p_opcode_t *
opcode_find (const char *name, operand_t *op_a, operand_t *op_b, opcode_find (const char *name, operand_t *op_a, operand_t *op_b,
operand_t *op_c) operand_t *op_c)
{ {
opcode_t search_op = {}; v6p_opcode_t search_op = {};
opcode_t *op; v6p_opcode_t *op;
opcode_t *sop; v6p_opcode_t *sop;
void **op_list; void **op_list;
int i; int i;
@ -126,8 +126,8 @@ opcode_find (const char *name, operand_t *op_a, operand_t *op_b,
void void
opcode_init (void) opcode_init (void)
{ {
const opcode_t *op; const v6p_opcode_t *op;
opcode_t *mop; v6p_opcode_t *mop;
if (opcode_type_table) { if (opcode_type_table) {
Hash_FlushTable (opcode_void_table); Hash_FlushTable (opcode_void_table);
@ -140,14 +140,14 @@ opcode_init (void)
} }
int num_opcodes = 0; int num_opcodes = 0;
for (op = pr_opcodes; op->name; op++) { for (op = pr_v6p_opcodes; op->name; op++) {
num_opcodes++; num_opcodes++;
} }
if (!opcode_map) { if (!opcode_map) {
opcode_map = calloc (num_opcodes, sizeof (opcode_t)); opcode_map = calloc (num_opcodes, sizeof (v6p_opcode_t));
} }
for (int i = 0; i < num_opcodes; i++) { for (int i = 0; i < num_opcodes; i++) {
op = pr_opcodes + i; op = pr_v6p_opcodes + i;
if (op->min_version > options.code.progsversion) if (op->min_version > options.code.progsversion)
continue; continue;
mop = opcode_map + i; mop = opcode_map + i;