#ifndef EXECUTER_IMP_H #define EXECUTER_IMP_H #include "proc.h" #include "../common/opcode.h" void instruction_nop(proc_t *proc, opcode_data_t *instruction); void instruction_add_i(proc_t *proc, opcode_data_t *instruction); void instruction_sub_i(proc_t *proc, opcode_data_t *instruction); void instruction_mul_i(proc_t *proc, opcode_data_t *instruction); void instruction_div_i(proc_t *proc, opcode_data_t *instruction); void instruction_mod_i(proc_t *proc, opcode_data_t *instruction); void instruction_neg_i(proc_t *proc, opcode_data_t *instruction); void instruction_shlt(proc_t *proc, opcode_data_t *instruction); void instruction_shrt(proc_t *proc, opcode_data_t *instruction); void instruction_and(proc_t *proc, opcode_data_t *instruction); void instruction_or(proc_t *proc, opcode_data_t *instruction); void instruction_xor(proc_t *proc, opcode_data_t *instruction); void instruction_not(proc_t *proc, opcode_data_t *instruction); void instruction_and_l(proc_t *proc, opcode_data_t *instruction); void instruction_or_l(proc_t *proc, opcode_data_t *instruction); void instruction_xor_l(proc_t *proc, opcode_data_t *instruction); void instruction_not_l(proc_t *proc, opcode_data_t *instruction); void instruction_is_l(proc_t *proc, opcode_data_t *instruction); void instruction_lt_i(proc_t *proc, opcode_data_t *instruction); void instruction_le_i(proc_t *proc, opcode_data_t *instruction); void instruction_gt_i(proc_t *proc, opcode_data_t *instruction); void instruction_ge_i(proc_t *proc, opcode_data_t *instruction); void instruction_eq_i(proc_t *proc, opcode_data_t *instruction); void instruction_neq_i(proc_t *proc, opcode_data_t *instruction); void instruction_push(proc_t *proc, opcode_data_t *instruction); void instruction_dup(proc_t *proc, opcode_data_t *instruction); void instruction_pop(proc_t *proc, opcode_data_t *instruction); void instruction_swap(proc_t *proc, opcode_data_t *instruction); void instruction_high(proc_t *proc, opcode_data_t *instruction); void instruction_top(proc_t *proc, opcode_data_t *instruction); void instruction_jmp(proc_t *proc, opcode_data_t *instruction); void instruction_jif(proc_t *proc, opcode_data_t *instruction); void instruction_jnt(proc_t *proc, opcode_data_t *instruction); void instruction_jind(proc_t *proc, opcode_data_t *instruction); void instruction_call(proc_t *proc, opcode_data_t *instruction); void instruction_cif(proc_t *proc, opcode_data_t *instruction); void instruction_cnt(proc_t *proc, opcode_data_t *instruction); void instruction_store(proc_t *proc, opcode_data_t *instruction); void instruction_stind(proc_t *proc, opcode_data_t *instruction); void instruction_puind(proc_t *proc, opcode_data_t *instruction); void instruction_swreg(proc_t *proc, opcode_data_t *instruction); void instruction_swregi(proc_t *proc, opcode_data_t *instruction); void instruction_halt(proc_t *proc, opcode_data_t *instruction); void instruction_reset(proc_t *proc, opcode_data_t *instruction); void instruction_int(proc_t *proc, opcode_data_t *instruction); void instruction_inth(proc_t *proc, opcode_data_t *instruction); void instruction_sub(proc_t *proc, opcode_data_t *instruction); void instruction_unsub(proc_t *proc, opcode_data_t *instruction); void instruction_stat_g(proc_t *proc, opcode_data_t *instruction); void instruction_stat_s(proc_t *proc, opcode_data_t *instruction); void instruction_stat(proc_t *proc, opcode_data_t *instruction); void instruction_ext(proc_t *proc, opcode_data_t *instruction); void instruction_mem_wr(proc_t *proc, opcode_data_t *instruction); void instruction_mem_ww(proc_t *proc, opcode_data_t *instruction); void instruction_mem_hr(proc_t *proc, opcode_data_t *instruction); void instruction_mem_hw(proc_t *proc, opcode_data_t *instruction); void instruction_mem_br(proc_t *proc, opcode_data_t *instruction); void instruction_mem_bw(proc_t *proc, opcode_data_t *instruction); void instruction_lastad(proc_t *proc, opcode_data_t *instruction); void instruction_extend(proc_t *proc, opcode_data_t *instruction); void instructionExt_nop(proc_t *proc, opcode_data_t *instruction); void instructionExt_add_d(proc_t *proc, opcode_data_t *instruction); void instructionExt_sub_d(proc_t *proc, opcode_data_t *instruction); void instructionExt_mul_d(proc_t *proc, opcode_data_t *instruction); void instructionExt_div_d(proc_t *proc, opcode_data_t *instruction); void instructionExt_pow_d(proc_t *proc, opcode_data_t *instruction); void instructionExt_neg_d(proc_t *proc, opcode_data_t *instruction); void instructionExt_sqrt(proc_t *proc, opcode_data_t *instruction); void instructionExt_cbrt(proc_t *proc, opcode_data_t *instruction); void instructionExt_hypot(proc_t *proc, opcode_data_t *instruction); void instructionExt_exp(proc_t *proc, opcode_data_t *instruction); void instructionExt_ln(proc_t *proc, opcode_data_t *instruction); void instructionExt_floor(proc_t *proc, opcode_data_t *instruction); void instructionExt_ceil(proc_t *proc, opcode_data_t *instruction); void instructionExt_round(proc_t *proc, opcode_data_t *instruction); void instructionExt_cos(proc_t *proc, opcode_data_t *instruction); void instructionExt_sin(proc_t *proc, opcode_data_t *instruction); void instructionExt_tan(proc_t *proc, opcode_data_t *instruction); void instructionExt_atan(proc_t *proc, opcode_data_t *instruction); void instructionExt_atan2(proc_t *proc, opcode_data_t *instruction); void instructionExt_lt_d(proc_t *proc, opcode_data_t *instruction); void instructionExt_le_d(proc_t *proc, opcode_data_t *instruction); void instructionExt_gt_d(proc_t *proc, opcode_data_t *instruction); void instructionExt_ge_d(proc_t *proc, opcode_data_t *instruction); void instructionExt_eq_d(proc_t *proc, opcode_data_t *instruction); void instructionExt_neq_d(proc_t *proc, opcode_data_t *instruction); void instructionExt_i2d(proc_t *proc, opcode_data_t *instruction); void instructionExt_d2i(proc_t *proc, opcode_data_t *instruction); void instructionExt_cst_pi(proc_t *proc, opcode_data_t *instruction); void instructionExt_cst_e(proc_t *proc, opcode_data_t *instruction); void illegalInstruction(proc_t *proc, opcode_data_t *instruction); #endif