Rizin
unix-like reverse engineering framework and cli tools
|
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "../../cs_priv.h"
#include "../../utils.h"
#include "../../MCInst.h"
#include "../../MCInstrDesc.h"
#include "../../MCRegisterInfo.h"
#include "M68KInstPrinter.h"
#include "M68KDisassembler.h"
#include "M68KInstructionTable.inc"
Go to the source code of this file.
Classes | |
struct | instruction_struct |
Macros | |
#define | BIT_0(A) ((A) & 0x00000001) |
#define | BIT_1(A) ((A) & 0x00000002) |
#define | BIT_2(A) ((A) & 0x00000004) |
#define | BIT_3(A) ((A) & 0x00000008) |
#define | BIT_4(A) ((A) & 0x00000010) |
#define | BIT_5(A) ((A) & 0x00000020) |
#define | BIT_6(A) ((A) & 0x00000040) |
#define | BIT_7(A) ((A) & 0x00000080) |
#define | BIT_8(A) ((A) & 0x00000100) |
#define | BIT_9(A) ((A) & 0x00000200) |
#define | BIT_A(A) ((A) & 0x00000400) |
#define | BIT_B(A) ((A) & 0x00000800) |
#define | BIT_C(A) ((A) & 0x00001000) |
#define | BIT_D(A) ((A) & 0x00002000) |
#define | BIT_E(A) ((A) & 0x00004000) |
#define | BIT_F(A) ((A) & 0x00008000) |
#define | BIT_10(A) ((A) & 0x00010000) |
#define | BIT_11(A) ((A) & 0x00020000) |
#define | BIT_12(A) ((A) & 0x00040000) |
#define | BIT_13(A) ((A) & 0x00080000) |
#define | BIT_14(A) ((A) & 0x00100000) |
#define | BIT_15(A) ((A) & 0x00200000) |
#define | BIT_16(A) ((A) & 0x00400000) |
#define | BIT_17(A) ((A) & 0x00800000) |
#define | BIT_18(A) ((A) & 0x01000000) |
#define | BIT_19(A) ((A) & 0x02000000) |
#define | BIT_1A(A) ((A) & 0x04000000) |
#define | BIT_1B(A) ((A) & 0x08000000) |
#define | BIT_1C(A) ((A) & 0x10000000) |
#define | BIT_1D(A) ((A) & 0x20000000) |
#define | BIT_1E(A) ((A) & 0x40000000) |
#define | BIT_1F(A) ((A) & 0x80000000) |
#define | TYPE_68000 1 |
#define | TYPE_68010 2 |
#define | TYPE_68020 4 |
#define | TYPE_68030 8 |
#define | TYPE_68040 16 |
#define | M68000_ONLY TYPE_68000 |
#define | M68010_ONLY TYPE_68010 |
#define | M68010_LESS (TYPE_68000 | TYPE_68010) |
#define | M68010_PLUS (TYPE_68010 | TYPE_68020 | TYPE_68030 | TYPE_68040) |
#define | M68020_ONLY TYPE_68020 |
#define | M68020_LESS (TYPE_68010 | TYPE_68020) |
#define | M68020_PLUS (TYPE_68020 | TYPE_68030 | TYPE_68040) |
#define | M68030_ONLY TYPE_68030 |
#define | M68030_LESS (TYPE_68010 | TYPE_68020 | TYPE_68030) |
#define | M68030_PLUS (TYPE_68030 | TYPE_68040) |
#define | M68040_PLUS TYPE_68040 |
#define | EXT_8BIT_DISPLACEMENT(A) ((A)&0xff) |
#define | EXT_FULL(A) BIT_8(A) |
#define | EXT_EFFECTIVE_ZERO(A) (((A)&0xe4) == 0xc4 || ((A)&0xe2) == 0xc0) |
#define | EXT_BASE_REGISTER_PRESENT(A) (!BIT_7(A)) |
#define | EXT_INDEX_REGISTER_PRESENT(A) (!BIT_6(A)) |
#define | EXT_INDEX_REGISTER(A) (((A)>>12)&7) |
#define | EXT_INDEX_PRE_POST(A) (EXT_INDEX_PRESENT(A) && (A)&3) |
#define | EXT_INDEX_PRE(A) (EXT_INDEX_PRESENT(A) && ((A)&7) < 4 && ((A)&7) != 0) |
#define | EXT_INDEX_POST(A) (EXT_INDEX_PRESENT(A) && ((A)&7) > 4) |
#define | EXT_INDEX_SCALE(A) (((A)>>9)&3) |
#define | EXT_INDEX_LONG(A) BIT_B(A) |
#define | EXT_INDEX_AR(A) BIT_F(A) |
#define | EXT_BASE_DISPLACEMENT_PRESENT(A) (((A)&0x30) > 0x10) |
#define | EXT_BASE_DISPLACEMENT_WORD(A) (((A)&0x30) == 0x20) |
#define | EXT_BASE_DISPLACEMENT_LONG(A) (((A)&0x30) == 0x30) |
#define | EXT_OUTER_DISPLACEMENT_PRESENT(A) (((A)&3) > 1 && ((A)&0x47) < 0x44) |
#define | EXT_OUTER_DISPLACEMENT_WORD(A) (((A)&3) == 2 && ((A)&0x47) < 0x44) |
#define | EXT_OUTER_DISPLACEMENT_LONG(A) (((A)&3) == 3 && ((A)&0x47) < 0x44) |
#define | IS_BITSET(val, b) ((val) & (1 << (b))) |
#define | BITFIELD_MASK(sb, eb) (((1 << ((sb) + 1))-1) & (~((1 << (eb))-1))) |
#define | BITFIELD(val, sb, eb) ((BITFIELD_MASK(sb,eb) & (val)) >> (eb)) |
#define | LIMIT_CPU_TYPES(info, ALLOWED_CPU_TYPES) |
#define | get_ea_mode_str_8(instruction) get_ea_mode_str(instruction, 0) |
#define | get_ea_mode_str_16(instruction) get_ea_mode_str(instruction, 1) |
#define | get_ea_mode_str_32(instruction) get_ea_mode_str(instruction, 2) |
#define | get_imm_str_s8() get_imm_str_s(0) |
#define | get_imm_str_s16() get_imm_str_s(1) |
#define | get_imm_str_s32() get_imm_str_s(2) |
#define | get_imm_str_u8() get_imm_str_u(0) |
#define | get_imm_str_u16() get_imm_str_u(1) |
#define | get_imm_str_u32() get_imm_str_u(2) |
Enumerations | |
enum | { M68K_CPU_TYPE_INVALID , M68K_CPU_TYPE_68000 , M68K_CPU_TYPE_68010 , M68K_CPU_TYPE_68EC020 , M68K_CPU_TYPE_68020 , M68K_CPU_TYPE_68030 , M68K_CPU_TYPE_68040 } |
Variables | |
static instruction_struct | g_instruction_table [0x10000] |
static uint32_t | g_3bit_qdata_table [8] = {8, 1, 2, 3, 4, 5, 6, 7} |
static uint32_t | g_5bit_data_table [32] |
static m68k_insn | s_branch_lut [] |
static m68k_insn | s_dbcc_lut [] |
static m68k_insn | s_scc_lut [] |
static m68k_insn | s_trap_lut [] |
Definition at line 55 of file M68KDisassembler.c.
Definition at line 56 of file M68KDisassembler.c.
Definition at line 71 of file M68KDisassembler.c.
Definition at line 72 of file M68KDisassembler.c.
Definition at line 73 of file M68KDisassembler.c.
Definition at line 74 of file M68KDisassembler.c.
Definition at line 75 of file M68KDisassembler.c.
Definition at line 76 of file M68KDisassembler.c.
Definition at line 77 of file M68KDisassembler.c.
Definition at line 78 of file M68KDisassembler.c.
Definition at line 79 of file M68KDisassembler.c.
Definition at line 80 of file M68KDisassembler.c.
Definition at line 81 of file M68KDisassembler.c.
Definition at line 82 of file M68KDisassembler.c.
Definition at line 83 of file M68KDisassembler.c.
Definition at line 84 of file M68KDisassembler.c.
Definition at line 85 of file M68KDisassembler.c.
Definition at line 86 of file M68KDisassembler.c.
Definition at line 57 of file M68KDisassembler.c.
Definition at line 58 of file M68KDisassembler.c.
Definition at line 59 of file M68KDisassembler.c.
Definition at line 60 of file M68KDisassembler.c.
Definition at line 61 of file M68KDisassembler.c.
Definition at line 62 of file M68KDisassembler.c.
Definition at line 63 of file M68KDisassembler.c.
Definition at line 64 of file M68KDisassembler.c.
Definition at line 65 of file M68KDisassembler.c.
Definition at line 66 of file M68KDisassembler.c.
Definition at line 67 of file M68KDisassembler.c.
Definition at line 68 of file M68KDisassembler.c.
Definition at line 69 of file M68KDisassembler.c.
Definition at line 70 of file M68KDisassembler.c.
#define BITFIELD | ( | val, | |
sb, | |||
eb | |||
) | ((BITFIELD_MASK(sb,eb) & (val)) >> (eb)) |
Definition at line 143 of file M68KDisassembler.c.
Definition at line 142 of file M68KDisassembler.c.
Definition at line 122 of file M68KDisassembler.c.
Definition at line 136 of file M68KDisassembler.c.
Definition at line 134 of file M68KDisassembler.c.
Definition at line 135 of file M68KDisassembler.c.
Definition at line 125 of file M68KDisassembler.c.
Definition at line 124 of file M68KDisassembler.c.
Definition at line 123 of file M68KDisassembler.c.
Definition at line 133 of file M68KDisassembler.c.
Definition at line 132 of file M68KDisassembler.c.
Definition at line 130 of file M68KDisassembler.c.
Definition at line 129 of file M68KDisassembler.c.
Definition at line 128 of file M68KDisassembler.c.
Definition at line 127 of file M68KDisassembler.c.
Definition at line 126 of file M68KDisassembler.c.
Definition at line 131 of file M68KDisassembler.c.
Definition at line 139 of file M68KDisassembler.c.
Definition at line 137 of file M68KDisassembler.c.
Definition at line 138 of file M68KDisassembler.c.
#define get_ea_mode_str_16 | ( | instruction | ) | get_ea_mode_str(instruction, 1) |
Definition at line 287 of file M68KDisassembler.c.
#define get_ea_mode_str_32 | ( | instruction | ) | get_ea_mode_str(instruction, 2) |
Definition at line 288 of file M68KDisassembler.c.
#define get_ea_mode_str_8 | ( | instruction | ) | get_ea_mode_str(instruction, 0) |
Definition at line 286 of file M68KDisassembler.c.
#define get_imm_str_s16 | ( | ) | get_imm_str_s(1) |
Definition at line 291 of file M68KDisassembler.c.
#define get_imm_str_s32 | ( | ) | get_imm_str_s(2) |
Definition at line 292 of file M68KDisassembler.c.
#define get_imm_str_s8 | ( | ) | get_imm_str_s(0) |
Definition at line 290 of file M68KDisassembler.c.
#define get_imm_str_u16 | ( | ) | get_imm_str_u(1) |
Definition at line 295 of file M68KDisassembler.c.
#define get_imm_str_u32 | ( | ) | get_imm_str_u(2) |
Definition at line 296 of file M68KDisassembler.c.
#define get_imm_str_u8 | ( | ) | get_imm_str_u(0) |
Definition at line 294 of file M68KDisassembler.c.
Definition at line 141 of file M68KDisassembler.c.
#define LIMIT_CPU_TYPES | ( | info, | |
ALLOWED_CPU_TYPES | |||
) |
Definition at line 267 of file M68KDisassembler.c.
#define M68000_ONLY TYPE_68000 |
Definition at line 95 of file M68KDisassembler.c.
#define M68010_LESS (TYPE_68000 | TYPE_68010) |
Definition at line 98 of file M68KDisassembler.c.
#define M68010_ONLY TYPE_68010 |
Definition at line 97 of file M68KDisassembler.c.
#define M68010_PLUS (TYPE_68010 | TYPE_68020 | TYPE_68030 | TYPE_68040) |
Definition at line 99 of file M68KDisassembler.c.
#define M68020_LESS (TYPE_68010 | TYPE_68020) |
Definition at line 102 of file M68KDisassembler.c.
#define M68020_ONLY TYPE_68020 |
Definition at line 101 of file M68KDisassembler.c.
#define M68020_PLUS (TYPE_68020 | TYPE_68030 | TYPE_68040) |
Definition at line 103 of file M68KDisassembler.c.
#define M68030_LESS (TYPE_68010 | TYPE_68020 | TYPE_68030) |
Definition at line 106 of file M68KDisassembler.c.
#define M68030_ONLY TYPE_68030 |
Definition at line 105 of file M68KDisassembler.c.
#define M68030_PLUS (TYPE_68030 | TYPE_68040) |
Definition at line 107 of file M68KDisassembler.c.
#define M68040_PLUS TYPE_68040 |
Definition at line 109 of file M68KDisassembler.c.
#define TYPE_68000 1 |
Definition at line 89 of file M68KDisassembler.c.
#define TYPE_68010 2 |
Definition at line 90 of file M68KDisassembler.c.
#define TYPE_68020 4 |
Definition at line 91 of file M68KDisassembler.c.
#define TYPE_68030 8 |
Definition at line 92 of file M68KDisassembler.c.
#define TYPE_68040 16 |
Definition at line 93 of file M68KDisassembler.c.
anonymous enum |
Enumerator | |
---|---|
M68K_CPU_TYPE_INVALID | |
M68K_CPU_TYPE_68000 | |
M68K_CPU_TYPE_68010 | |
M68K_CPU_TYPE_68EC020 | |
M68K_CPU_TYPE_68020 | |
M68K_CPU_TYPE_68030 | |
M68K_CPU_TYPE_68040 |
Definition at line 111 of file M68KDisassembler.c.
Definition at line 3411 of file M68KDisassembler.c.
References exists_reg_list(), info(), M68K_REG_INVALID, reg, and write.
Referenced by update_am_reg_list(), update_bits_range(), and update_op_reg_list().
Definition at line 611 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, g_3bit_qdata_table, cs_m68k_op::imm, info(), M68K_AM_IMMEDIATE, M68K_AM_REG_DIRECT_DATA, M68K_OP_IMM, M68K_REG_D0, cs_m68k_op::reg, and cs_m68k_op::type.
Referenced by d68000_asl_s_16(), d68000_asl_s_32(), d68000_asl_s_8(), d68000_asr_s_16(), d68000_asr_s_32(), d68000_asr_s_8(), d68000_lsl_s_16(), d68000_lsl_s_32(), d68000_lsl_s_8(), d68000_lsr_s_16(), d68000_lsr_s_32(), d68000_lsr_s_8(), d68000_rol_s_16(), d68000_rol_s_32(), d68000_rol_s_8(), d68000_ror_s_16(), d68000_ror_s_32(), d68000_ror_s_8(), d68000_roxl_s_16(), d68000_roxl_s_32(), d68000_roxl_s_8(), d68000_roxr_r_8(), d68000_roxr_s_16(), d68000_roxr_s_32(), and d68000_roxr_s_8().
Definition at line 628 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, g_3bit_qdata_table, get_ea_mode_op(), cs_m68k_op::imm, info(), M68K_AM_IMMEDIATE, M68K_OP_IMM, and cs_m68k_op::type.
Referenced by d68000_addq_16(), d68000_addq_32(), d68000_addq_8(), d68000_subq_16(), d68000_subq_32(), and d68000_subq_8().
|
static |
Definition at line 752 of file M68KDisassembler.c.
References build_init_op(), ext, info(), M68K_AM_IMMEDIATE, M68K_GRP_JUMP, M68K_OP_IMM, op, and set_insn_group().
Referenced by build_trap(), d68000_stop(), d68000_trap(), d68010_bkpt(), d68010_rtd(), and d68020_rtm().
Definition at line 766 of file M68KDisassembler.c.
References build_relative_branch(), info(), and s_branch_lut.
Referenced by d68000_bcc_16(), d68000_bcc_8(), and d68020_bcc_32().
Definition at line 823 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, BIT_5, BIT_B, m68k_op_mem::bitfield, build_init_op(), ext, g_5bit_data_table, get_ea_mode_op(), info(), M68K_AM_REG_DIRECT_DATA, M68K_REG_D0, cs_m68k_op::mem, m68k_op_mem::offset, read_imm_16(), cs_m68k_op::reg, m68k_op_mem::width, and width.
Referenced by d68020_bfchg(), d68020_bfclr(), d68020_bfexts(), d68020_bfextu(), d68020_bfffo(), d68020_bfins(), d68020_bfset(), and d68020_bftst().
Definition at line 955 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, BIT_1F, BIT_F, build_init_op(), ext, info(), instruction_is_valid(), M68K_AM_NONE, M68K_INS_CAS2, M68K_OP_REG_PAIR, M68K_REG_D0, peek_imm_32(), read_imm_32(), cs_m68k_op_reg_pair::reg_0, cs_m68k_op_reg_pair::reg_1, cs_m68k_op::reg_pair, and cs_m68k_op::type.
Referenced by d68020_cas2_16(), and d68020_cas2_32().
Definition at line 995 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, BIT_B, BIT_F, build_init_op(), ext, get_ea_mode_op(), info(), M68K_AM_NONE, M68K_INS_CHK2, M68K_INS_CMP2, M68K_OP_REG, M68K_REG_A0, M68K_REG_D0, MCInst_setOpcode(), read_imm_16(), cs_m68k_op::reg, and cs_m68k_op::type.
Referenced by d68020_chk2_cmp2_16(), d68020_chk2_cmp2_32(), and d68020_chk2_cmp2_8().
Definition at line 1057 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), d68000_invalid(), ext, cs_m68k_op::imm, info(), M68K_AM_IMMEDIATE, M68K_AM_REG_DIRECT_ADDR, M68K_INS_INVALID, M68K_OP_IMM, M68K_OP_MEM, M68K_REG_A0, MCInst_setOpcode(), and cs_m68k_op::type.
Referenced by d68040_cinv(), and d68040_cpush().
Definition at line 858 of file M68KDisassembler.c.
References build_init_op(), ext, info(), M68K_AM_REG_DIRECT_DATA, M68K_REG_D0, and op.
Referenced by d68000_ext_16(), d68000_ext_32(), d68000_swap(), and d68020_extb_32().
Definition at line 802 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, get_ea_mode_op(), info(), M68K_AM_REG_DIRECT_DATA, M68K_REG_D0, read_imm_16(), and cs_m68k_op::reg.
Referenced by d68020_cas_16(), d68020_cas_32(), and d68020_cas_8().
Definition at line 797 of file M68KDisassembler.c.
References build_dbxx(), info(), and s_dbcc_lut.
Referenced by d68000_dbcc().
Definition at line 776 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, cs_m68k_op::br_disp, build_init_op(), m68k_op_br_disp::disp, m68k_op_br_disp::disp_size, ext, info(), M68K_AM_BRANCH_DISPLACEMENT, M68K_AM_REG_DIRECT_DATA, M68K_GRP_BRANCH_RELATIVE, M68K_GRP_JUMP, M68K_OP_BR_DISP, M68K_OP_BR_DISP_SIZE_LONG, M68K_REG_D0, cs_m68k_op::reg, set_insn_group(), and cs_m68k_op::type.
Referenced by build_dbcc(), and d68000_dbra().
Definition at line 669 of file M68KDisassembler.c.
References build_init_op(), ext, get_ea_mode_op(), and info().
Referenced by d68000_asl_ea(), d68000_asr_ea(), d68000_clr_16(), d68000_clr_32(), d68000_clr_8(), d68000_lsl_ea(), d68000_lsr_ea(), d68000_nbcd(), d68000_neg_16(), d68000_neg_32(), d68000_neg_8(), d68000_negx_16(), d68000_negx_32(), d68000_negx_8(), d68000_not_16(), d68000_not_32(), d68000_not_8(), d68000_pea(), d68000_rol_ea(), d68000_ror_ea(), d68000_roxl_ea(), d68000_roxr_ea(), d68000_tas(), d68000_tst_16(), d68000_tst_32(), d68000_tst_8(), d68020_tst_a_16(), d68020_tst_a_32(), d68020_tst_i_16(), d68020_tst_i_32(), d68020_tst_i_8(), d68020_tst_pcdi_16(), d68020_tst_pcdi_32(), d68020_tst_pcdi_8(), d68020_tst_pcix_16(), d68020_tst_pcix_32(), and d68020_tst_pcix_8().
Definition at line 675 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, get_ea_mode_op(), info(), M68K_AM_REG_DIRECT_ADDR, M68K_REG_A0, and cs_m68k_op::reg.
Referenced by d68000_adda_16(), d68000_adda_32(), d68000_cmpa_16(), d68000_cmpa_32(), d68000_lea(), d68000_movea_16(), d68000_movea_32(), d68000_suba_16(), and d68000_suba_32().
Definition at line 690 of file M68KDisassembler.c.
References build_init_op(), ext, get_ea_mode_op(), and info().
Referenced by d68000_move_16(), d68000_move_32(), and d68000_move_8().
Definition at line 1148 of file M68KDisassembler.c.
References build_er_gen_1(), and info().
Referenced by d68000_add_er_16(), d68000_add_er_32(), d68000_add_er_8(), d68000_and_er_16(), d68000_and_er_32(), d68000_and_er_8(), d68000_chk_16(), d68000_cmp_16(), d68000_cmp_32(), d68000_cmp_8(), d68000_divs(), d68000_divu(), d68000_muls(), d68000_mulu(), d68000_or_er_16(), d68000_or_er_32(), d68000_or_er_8(), d68000_sub_er_16(), d68000_sub_er_32(), d68000_sub_er_8(), and d68020_chk_32().
Definition at line 534 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, get_ea_mode_op(), info(), M68K_AM_REG_DIRECT_ADDR, M68K_AM_REG_DIRECT_DATA, M68K_REG_A0, M68K_REG_D0, and cs_m68k_op::reg.
Referenced by build_er_1().
Definition at line 945 of file M68KDisassembler.c.
References build_imm(), info(), and M68K_INS_ILLEGAL.
Referenced by d68000_illegal().
Definition at line 931 of file M68KDisassembler.c.
References build_init_op(), ext, info(), M68K_AM_IMMEDIATE, M68K_OP_IMM, MCInst_setOpcode(), and op.
Referenced by build_illegal(), and build_invalid().
Definition at line 595 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, get_ea_mode_op(), imm, cs_m68k_op::imm, info(), M68K_AM_IMMEDIATE, M68K_OP_IMM, and cs_m68k_op::type.
Referenced by d68000_addi_16(), d68000_addi_32(), d68000_addi_8(), d68000_andi_16(), d68000_andi_32(), d68000_andi_8(), d68000_bchg_s(), d68000_bclr_s(), d68000_bset_s(), d68000_btst_s(), d68000_cmpi_16(), d68000_cmpi_32(), d68000_cmpi_8(), d68000_eori_16(), d68000_eori_32(), d68000_eori_8(), d68000_ori_16(), d68000_ori_32(), d68000_ori_8(), d68000_subi_16(), d68000_subi_32(), d68000_subi_8(), d68020_callm(), d68020_cmpi_pcdi_16(), d68020_cmpi_pcdi_32(), d68020_cmpi_pcdi_8(), d68020_cmpi_pcix_16(), d68020_cmpi_pcix_32(), and d68020_cmpi_pcix_8().
|
static |
Definition at line 719 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, imm, cs_m68k_op::imm, info(), M68K_AM_IMMEDIATE, M68K_AM_NONE, M68K_OP_IMM, reg, cs_m68k_op::reg, and cs_m68k_op::type.
Referenced by d68000_andi_to_ccr(), d68000_andi_to_sr(), d68000_eori_to_ccr(), d68000_eori_to_sr(), d68000_ori_to_ccr(), and d68000_ori_to_sr().
Definition at line 494 of file M68KDisassembler.c.
References count, ext, info(), M68K_SIZE_TYPE_CPU, and MCInst_setOpcode().
Referenced by build_3bit_d(), build_3bit_ea(), build_absolute_jump_with_immediate(), build_bitfield_ins(), build_cas2(), build_chk2_cmp2(), build_cpush_cinv(), build_d(), build_d_d_ea(), build_dbxx(), build_ea(), build_ea_a(), build_ea_ea(), build_er_gen_1(), build_imm(), build_imm_ea(), build_imm_special_reg(), build_link(), build_mm(), build_move16(), build_movem_er(), build_movem_re(), build_movep_er(), build_movep_re(), build_moves(), build_pi_pi(), build_r(), build_re_gen_1(), build_relative_branch(), build_rr(), d68000_exg_aa(), d68000_exg_da(), d68000_jmp(), d68000_jsr(), d68000_move_fr_sr(), d68000_move_fr_usp(), d68000_move_to_ccr(), d68000_move_to_sr(), d68000_move_to_usp(), d68000_moveq(), d68000_scc(), d68000_unlk(), d68010_move_fr_ccr(), d68010_movec(), d68020_cpbcc_16(), d68020_cpbcc_32(), d68020_cpdbcc(), d68020_cpgen(), d68020_cprestore(), d68020_cpsave(), d68020_cpscc(), d68020_cptrapcc_0(), d68020_cptrapcc_16(), d68020_cptrapcc_32(), d68020_divl(), d68020_mull(), fmove_fpcr(), and fmovem().
Definition at line 950 of file M68KDisassembler.c.
References build_imm(), info(), and M68K_INS_INVALID.
Referenced by d68000_1010(), d68000_1111(), and d68000_invalid().
Definition at line 1040 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, cs_m68k_op::imm, info(), M68K_AM_IMMEDIATE, M68K_AM_NONE, M68K_INS_LINK, M68K_OP_IMM, M68K_REG_A0, cs_m68k_op::reg, and cs_m68k_op::type.
Referenced by d68000_link_16(), and d68020_link_32().
Definition at line 644 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, imm, cs_m68k_op::imm, info(), M68K_AM_IMMEDIATE, M68K_AM_REGI_ADDR_PRE_DEC, M68K_OP_IMM, M68K_REG_A0, cs_m68k_op::reg, and cs_m68k_op::type.
Referenced by d68000_abcd_mm(), d68000_addx_mm_16(), d68000_addx_mm_32(), d68000_addx_mm_8(), d68000_sbcd_mm(), d68000_subx_mm_16(), d68000_subx_mm_32(), d68000_subx_mm_8(), d68020_pack_mm(), and d68020_unpk_mm().
Definition at line 1018 of file M68KDisassembler.c.
References build_init_op(), d, ext, i, info(), regress::m, M68K_AM_REG_DIRECT_ADDR, M68K_AM_REGI_ADDR_POST_INC, M68K_INS_MOVE16, M68K_OP_MEM, and M68K_REG_A0.
Referenced by d68040_move16_ai_al(), d68040_move16_al_ai(), d68040_move16_al_pi(), d68040_move16_pi_al(), and d68040_move16_pi_pi().
Definition at line 916 of file M68KDisassembler.c.
References build_init_op(), ext, get_ea_mode_op(), info(), M68K_OP_REG_BITS, read_imm_16(), cs_m68k_op::register_bits, and cs_m68k_op::type.
Referenced by d68000_movem_er_16(), and d68000_movem_er_32().
Definition at line 898 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, get_ea_mode_op(), info(), M68K_AM_REGI_ADDR_PRE_DEC, M68K_OP_REG_BITS, read_imm_16(), cs_m68k_op::register_bits, reverse_bits(), and cs_m68k_op::type.
Referenced by d68000_movem_pd_16(), d68000_movem_pd_32(), d68000_movem_re_16(), and d68000_movem_re_32().
Definition at line 1112 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, m68k_op_mem::base_reg, build_init_op(), m68k_op_mem::disp, ext, info(), M68K_AM_REGI_ADDR_DISP, M68K_INS_MOVEP, M68K_OP_MEM, M68K_REG_A0, M68K_REG_D0, cs_m68k_op::mem, read_imm_16(), cs_m68k_op::reg, and cs_m68k_op::type.
Referenced by d68000_movep_er_16(), and d68000_movep_er_32().
Definition at line 1095 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, m68k_op_mem::base_reg, build_init_op(), m68k_op_mem::disp, ext, info(), M68K_AM_REGI_ADDR_DISP, M68K_INS_MOVEP, M68K_OP_MEM, M68K_REG_A0, M68K_REG_D0, cs_m68k_op::mem, read_imm_16(), cs_m68k_op::reg, and cs_m68k_op::type.
Referenced by d68000_movep_re_16(), and d68000_movep_re_32().
Definition at line 1129 of file M68KDisassembler.c.
References BIT_B, BIT_F, build_init_op(), ext, get_ea_mode_op(), info(), M68K_INS_MOVES, M68K_REG_A0, M68K_REG_D0, read_imm_16(), and cs_m68k_op::reg.
Referenced by d68010_moves_16(), d68010_moves_32(), and d68010_moves_8().
Definition at line 703 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, info(), M68K_AM_REGI_ADDR_POST_INC, M68K_REG_A0, and cs_m68k_op::reg.
Referenced by d68000_cmpm_16(), d68000_cmpm_32(), and d68000_cmpm_8().
Definition at line 579 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, info(), M68K_AM_REG_DIRECT_DATA, M68K_REG_D0, and cs_m68k_op::reg.
Referenced by d68000_asl_r_16(), d68000_asl_r_32(), d68000_asl_r_8(), d68000_asr_r_16(), d68000_asr_r_32(), d68000_asr_r_8(), d68000_exg_dd(), d68000_lsl_r_16(), d68000_lsl_r_32(), d68000_lsl_r_8(), d68000_lsr_r_16(), d68000_lsr_r_32(), d68000_lsr_r_8(), d68000_rol_r_16(), d68000_rol_r_32(), d68000_rol_r_8(), d68000_ror_r_16(), d68000_ror_r_32(), d68000_ror_r_8(), d68000_roxl_r_16(), d68000_roxl_r_32(), d68000_roxl_r_8(), d68000_roxr_r_16(), and d68000_roxr_r_32().
Definition at line 529 of file M68KDisassembler.c.
References build_re_gen_1(), and info().
Referenced by d68000_add_re_16(), d68000_add_re_32(), d68000_add_re_8(), d68000_and_re_16(), d68000_and_re_32(), d68000_and_re_8(), d68000_bchg_r(), d68000_bclr_r(), d68000_bset_r(), d68000_btst_r(), d68000_eor_16(), d68000_eor_32(), d68000_eor_8(), d68000_or_re_16(), d68000_or_re_32(), d68000_or_re_8(), d68000_sub_re_16(), d68000_sub_re_32(), and d68000_sub_re_8().
Definition at line 509 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, get_ea_mode_op(), info(), M68K_AM_REG_DIRECT_ADDR, M68K_AM_REG_DIRECT_DATA, M68K_REG_A0, M68K_REG_D0, and cs_m68k_op::reg.
Referenced by build_re_1().
|
static |
Definition at line 3511 of file M68KDisassembler.c.
References i, info(), and update_op_reg_list().
Referenced by M68K_getInstruction().
|
static |
Definition at line 736 of file M68KDisassembler.c.
References build_init_op(), ext, info(), M68K_AM_BRANCH_DISPLACEMENT, M68K_GRP_BRANCH_RELATIVE, M68K_GRP_JUMP, M68K_OP_BR_DISP, op, and set_insn_group().
Referenced by build_bcc(), d68000_bra_16(), d68000_bra_8(), d68000_bsr_16(), d68000_bsr_8(), d68020_bra_32(), and d68020_bsr_32().
Definition at line 554 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, imm, cs_m68k_op::imm, info(), M68K_AM_IMMEDIATE, M68K_AM_REG_DIRECT_DATA, M68K_OP_IMM, M68K_REG_D0, cs_m68k_op::reg, and cs_m68k_op::type.
Referenced by d68000_abcd_rr(), d68000_addx_rr_16(), d68000_addx_rr_32(), d68000_addx_rr_8(), d68000_sbcd_rr(), d68000_subx_rr_16(), d68000_subx_rr_32(), d68000_subx_rr_8(), d68020_pack_rr(), and d68020_unpk_rr().
Definition at line 771 of file M68KDisassembler.c.
References build_absolute_jump_with_immediate(), info(), and s_trap_lut.
Referenced by d68020_trapcc_0(), d68020_trapcc_16(), and d68020_trapcc_32().
|
static |
|
static |
Definition at line 1207 of file M68KDisassembler.c.
References build_invalid(), and info().
|
static |
Definition at line 1217 of file M68KDisassembler.c.
References build_mm(), info(), and M68K_INS_ABCD.
|
static |
Definition at line 1212 of file M68KDisassembler.c.
References build_rr(), info(), and M68K_INS_ABCD.
|
static |
Definition at line 1227 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_ADD.
|
static |
Definition at line 1232 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_ADD.
|
static |
Definition at line 1222 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_ADD.
|
static |
Definition at line 1242 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_ADD.
|
static |
Definition at line 1247 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_ADD.
|
static |
Definition at line 1237 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_ADD.
|
static |
Definition at line 1252 of file M68KDisassembler.c.
References build_ea_a(), info(), and M68K_INS_ADDA.
|
static |
Definition at line 1257 of file M68KDisassembler.c.
References build_ea_a(), info(), and M68K_INS_ADDA.
|
static |
Definition at line 1267 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_ADDI, and read_imm_16().
|
static |
Definition at line 1272 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_ADDI, and read_imm_32().
|
static |
Definition at line 1262 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_ADDI, and read_imm_8().
|
static |
Definition at line 1282 of file M68KDisassembler.c.
References build_3bit_ea(), info(), and M68K_INS_ADDQ.
|
static |
Definition at line 1287 of file M68KDisassembler.c.
References build_3bit_ea(), info(), and M68K_INS_ADDQ.
|
static |
Definition at line 1277 of file M68KDisassembler.c.
References build_3bit_ea(), info(), and M68K_INS_ADDQ.
|
static |
Definition at line 1312 of file M68KDisassembler.c.
References build_mm(), info(), and M68K_INS_ADDX.
|
static |
Definition at line 1317 of file M68KDisassembler.c.
References build_mm(), info(), and M68K_INS_ADDX.
|
static |
Definition at line 1307 of file M68KDisassembler.c.
References build_mm(), info(), and M68K_INS_ADDX.
|
static |
Definition at line 1297 of file M68KDisassembler.c.
References build_rr(), info(), and M68K_INS_ADDX.
|
static |
Definition at line 1302 of file M68KDisassembler.c.
References build_rr(), info(), and M68K_INS_ADDX.
|
static |
Definition at line 1292 of file M68KDisassembler.c.
References build_rr(), info(), and M68K_INS_ADDX.
|
static |
Definition at line 1327 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_AND.
|
static |
Definition at line 1332 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_AND.
|
static |
Definition at line 1322 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_AND.
|
static |
Definition at line 1342 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_AND.
|
static |
Definition at line 1347 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_AND.
|
static |
Definition at line 1337 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_AND.
|
static |
Definition at line 1357 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_ANDI, and read_imm_16().
|
static |
Definition at line 1362 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_ANDI, and read_imm_32().
|
static |
Definition at line 1352 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_ANDI, and read_imm_8().
|
static |
Definition at line 1367 of file M68KDisassembler.c.
References build_imm_special_reg(), info(), M68K_INS_ANDI, M68K_REG_CCR, and read_imm_8().
|
static |
Definition at line 1372 of file M68KDisassembler.c.
References build_imm_special_reg(), info(), M68K_INS_ANDI, M68K_REG_SR, and read_imm_16().
|
static |
Definition at line 1442 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_ASL.
|
static |
Definition at line 1432 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ASL.
|
static |
Definition at line 1437 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ASL.
|
static |
Definition at line 1427 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ASL.
|
static |
Definition at line 1417 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ASL.
|
static |
Definition at line 1422 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ASL.
|
static |
Definition at line 1412 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ASL.
|
static |
Definition at line 1407 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_ASR.
|
static |
Definition at line 1397 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ASR.
|
static |
Definition at line 1402 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ASR.
|
static |
Definition at line 1392 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ASR.
|
static |
Definition at line 1382 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ASR.
|
static |
Definition at line 1387 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ASR.
|
static |
Definition at line 1377 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ASR.
|
static |
Definition at line 1452 of file M68KDisassembler.c.
References build_bcc(), info(), make_int_16(), and read_imm_16().
|
static |
Definition at line 1447 of file M68KDisassembler.c.
References build_bcc(), info(), and make_int_8().
|
static |
Definition at line 1463 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_BCHG.
|
static |
Definition at line 1468 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_BCHG, and read_imm_8().
|
static |
Definition at line 1473 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_BCLR.
|
static |
Definition at line 1478 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_BCLR, and read_imm_8().
|
static |
Definition at line 1551 of file M68KDisassembler.c.
References build_relative_branch(), info(), M68K_INS_BRA, make_int_16(), and read_imm_16().
|
static |
Definition at line 1546 of file M68KDisassembler.c.
References build_relative_branch(), info(), M68K_INS_BRA, and make_int_8().
|
static |
Definition at line 1562 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_BSET.
|
static |
Definition at line 1567 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_BSET, and read_imm_8().
|
static |
Definition at line 1577 of file M68KDisassembler.c.
References build_relative_branch(), info(), M68K_INS_BSR, make_int_16(), and read_imm_16().
|
static |
Definition at line 1572 of file M68KDisassembler.c.
References build_relative_branch(), info(), M68K_INS_BSR, and make_int_8().
|
static |
Definition at line 1588 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_BTST.
|
static |
Definition at line 1593 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_BTST, and read_imm_8().
|
static |
Definition at line 1632 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_CHK.
|
static |
Definition at line 1672 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_CLR.
|
static |
Definition at line 1677 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_CLR.
|
static |
Definition at line 1667 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_CLR.
|
static |
Definition at line 1687 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_CMP.
|
static |
Definition at line 1692 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_CMP.
|
static |
Definition at line 1682 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_CMP.
|
static |
Definition at line 1697 of file M68KDisassembler.c.
References build_ea_a(), info(), and M68K_INS_CMPA.
|
static |
Definition at line 1702 of file M68KDisassembler.c.
References build_ea_a(), info(), and M68K_INS_CMPA.
|
static |
Definition at line 1724 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_CMPI, and read_imm_16().
|
static |
Definition at line 1741 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_CMPI, and read_imm_32().
|
static |
Definition at line 1707 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_CMPI, and read_imm_8().
|
static |
Definition at line 1763 of file M68KDisassembler.c.
References build_pi_pi(), info(), and M68K_INS_CMPM.
|
static |
Definition at line 1768 of file M68KDisassembler.c.
References build_pi_pi(), info(), and M68K_INS_CMPM.
|
static |
Definition at line 1758 of file M68KDisassembler.c.
References build_pi_pi(), info(), and M68K_INS_CMPM.
|
static |
Definition at line 2199 of file M68KDisassembler.c.
References build_dbcc(), info(), make_int_16(), and read_imm_16().
|
static |
Definition at line 2194 of file M68KDisassembler.c.
References build_dbxx(), info(), M68K_INS_DBRA, make_int_16(), and read_imm_16().
|
static |
Definition at line 2204 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_DIVS.
|
static |
Definition at line 2209 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_DIVU.
|
static |
Definition at line 2256 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_EOR.
|
static |
Definition at line 2261 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_EOR.
|
static |
Definition at line 2251 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_EOR.
|
static |
Definition at line 2271 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_EORI, and read_imm_16().
|
static |
Definition at line 2276 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_EORI, and read_imm_32().
|
static |
Definition at line 2266 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_EORI, and read_imm_8().
|
static |
Definition at line 2281 of file M68KDisassembler.c.
References build_imm_special_reg(), info(), M68K_INS_EORI, M68K_REG_CCR, and read_imm_8().
|
static |
Definition at line 2286 of file M68KDisassembler.c.
References build_imm_special_reg(), info(), M68K_INS_EORI, M68K_REG_SR, and read_imm_16().
|
static |
Definition at line 2296 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, info(), M68K_AM_NONE, M68K_INS_EXG, M68K_REG_A0, and cs_m68k_op::reg.
|
static |
Definition at line 2312 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, info(), M68K_AM_NONE, M68K_INS_EXG, M68K_REG_A0, M68K_REG_D0, and cs_m68k_op::reg.
|
static |
Definition at line 2291 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_EXG.
|
static |
|
static |
Definition at line 2333 of file M68KDisassembler.c.
References build_d(), info(), and M68K_INS_EXT.
|
static |
|
static |
Definition at line 1192 of file M68KDisassembler.c.
References build_invalid(), and info().
Referenced by build_cpush_cinv(), and instruction_is_valid().
|
static |
Definition at line 2344 of file M68KDisassembler.c.
References build_init_op(), ext, get_ea_mode_op(), info(), M68K_GRP_JUMP, M68K_INS_JMP, and set_insn_group().
|
static |
Definition at line 2351 of file M68KDisassembler.c.
References build_init_op(), ext, get_ea_mode_op(), info(), M68K_GRP_JUMP, M68K_INS_JSR, and set_insn_group().
|
static |
Definition at line 2358 of file M68KDisassembler.c.
References build_ea_a(), info(), and M68K_INS_LEA.
|
static |
Definition at line 2363 of file M68KDisassembler.c.
References build_link(), info(), and read_imm_16().
|
static |
Definition at line 2439 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_LSL.
|
static |
Definition at line 2429 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_LSL.
|
static |
Definition at line 2434 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_LSL.
|
static |
Definition at line 2424 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_LSL.
|
static |
Definition at line 2414 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_LSL.
|
static |
Definition at line 2419 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_LSL.
|
static |
Definition at line 2409 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_LSL.
|
static |
Definition at line 2404 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_LSR.
|
static |
Definition at line 2394 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_LSR.
|
static |
Definition at line 2399 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_LSR.
|
static |
Definition at line 2389 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_LSR.
|
static |
Definition at line 2379 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_LSR.
|
static |
Definition at line 2384 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_LSR.
|
static |
Definition at line 2374 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_LSR.
|
static |
Definition at line 2449 of file M68KDisassembler.c.
References build_ea_ea(), info(), and M68K_INS_MOVE.
|
static |
Definition at line 2454 of file M68KDisassembler.c.
References build_ea_ea(), info(), and M68K_INS_MOVE.
|
static |
Definition at line 2444 of file M68KDisassembler.c.
References build_ea_ea(), info(), and M68K_INS_MOVE.
|
static |
Definition at line 2503 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, get_ea_mode_op(), info(), M68K_AM_NONE, M68K_INS_MOVE, M68K_REG_SR, and cs_m68k_op::reg.
|
static |
Definition at line 2533 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, info(), M68K_AM_NONE, M68K_INS_MOVE, M68K_REG_A0, M68K_REG_USP, and cs_m68k_op::reg.
|
static |
Definition at line 2469 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, get_ea_mode_op(), info(), M68K_AM_NONE, M68K_INS_MOVE, M68K_REG_CCR, and cs_m68k_op::reg.
|
static |
Definition at line 2518 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, get_ea_mode_op(), info(), M68K_AM_NONE, M68K_INS_MOVE, M68K_REG_SR, and cs_m68k_op::reg.
|
static |
Definition at line 2549 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, info(), M68K_AM_NONE, M68K_INS_MOVE, M68K_REG_A0, M68K_REG_USP, and cs_m68k_op::reg.
|
static |
Definition at line 2459 of file M68KDisassembler.c.
References build_ea_a(), info(), and M68K_INS_MOVEA.
|
static |
Definition at line 2464 of file M68KDisassembler.c.
References build_ea_a(), info(), and M68K_INS_MOVEA.
|
static |
Definition at line 2622 of file M68KDisassembler.c.
References build_movem_er(), info(), and M68K_INS_MOVEM.
|
static |
Definition at line 2627 of file M68KDisassembler.c.
References build_movem_er(), info(), and M68K_INS_MOVEM.
|
static |
Definition at line 2612 of file M68KDisassembler.c.
References build_movem_re(), info(), and M68K_INS_MOVEM.
|
static |
Definition at line 2617 of file M68KDisassembler.c.
References build_movem_re(), info(), and M68K_INS_MOVEM.
|
static |
Definition at line 2632 of file M68KDisassembler.c.
References build_movem_re(), info(), and M68K_INS_MOVEM.
|
static |
Definition at line 2637 of file M68KDisassembler.c.
References build_movem_re(), info(), and M68K_INS_MOVEM.
|
static |
Definition at line 2652 of file M68KDisassembler.c.
References build_movep_er(), and info().
|
static |
Definition at line 2657 of file M68KDisassembler.c.
References build_movep_er(), and info().
|
static |
Definition at line 2642 of file M68KDisassembler.c.
References build_movep_re(), and info().
|
static |
Definition at line 2647 of file M68KDisassembler.c.
References build_movep_re(), and info().
|
static |
Definition at line 2681 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, cs_m68k_op::imm, info(), M68K_AM_IMMEDIATE, M68K_AM_REG_DIRECT_DATA, M68K_INS_MOVEQ, M68K_OP_IMM, M68K_REG_D0, cs_m68k_op::reg, and cs_m68k_op::type.
|
static |
Definition at line 2749 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_MULS.
|
static |
Definition at line 2754 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_MULU.
|
static |
Definition at line 2796 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_NBCD.
|
static |
Definition at line 2806 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_NEG.
|
static |
Definition at line 2811 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_NEG.
|
static |
Definition at line 2801 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_NEG.
|
static |
Definition at line 2821 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_NEGX.
|
static |
Definition at line 2826 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_NEGX.
|
static |
Definition at line 2816 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_NEGX.
|
static |
Definition at line 2831 of file M68KDisassembler.c.
References info(), M68K_INS_NOP, and MCInst_setOpcode().
|
static |
Definition at line 2841 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_NOT.
|
static |
Definition at line 2846 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_NOT.
|
static |
Definition at line 2836 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_NOT.
|
static |
Definition at line 2856 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_OR.
|
static |
Definition at line 2861 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_OR.
|
static |
Definition at line 2851 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_OR.
|
static |
Definition at line 2871 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_OR.
|
static |
Definition at line 2876 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_OR.
|
static |
Definition at line 2866 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_OR.
|
static |
Definition at line 2886 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_ORI, and read_imm_16().
|
static |
Definition at line 2891 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_ORI, and read_imm_32().
|
static |
Definition at line 2881 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_ORI, and read_imm_8().
|
static |
Definition at line 2896 of file M68KDisassembler.c.
References build_imm_special_reg(), info(), M68K_INS_ORI, M68K_REG_CCR, and read_imm_8().
|
static |
Definition at line 2901 of file M68KDisassembler.c.
References build_imm_special_reg(), info(), M68K_INS_ORI, M68K_REG_SR, and read_imm_16().
|
static |
Definition at line 2918 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_PEA.
|
static |
Definition at line 2923 of file M68KDisassembler.c.
References info(), M68K_INS_RESET, and MCInst_setOpcode().
|
static |
Definition at line 2993 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_ROL.
|
static |
Definition at line 2983 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ROL.
|
static |
Definition at line 2988 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ROL.
|
static |
Definition at line 2978 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ROL.
|
static |
Definition at line 2968 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROL.
|
static |
Definition at line 2973 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROL.
|
static |
Definition at line 2963 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROL.
|
static |
Definition at line 2958 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_ROR.
|
static |
Definition at line 2948 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ROR.
|
static |
Definition at line 2953 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ROR.
|
static |
Definition at line 2943 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ROR.
|
static |
Definition at line 2933 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROR.
|
static |
Definition at line 2938 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROR.
|
static |
Definition at line 2928 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROR.
|
static |
Definition at line 3063 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_ROXL.
|
static |
Definition at line 3053 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ROXL.
|
static |
Definition at line 3058 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ROXL.
|
static |
Definition at line 3048 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ROXL.
|
static |
Definition at line 3038 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROXL.
|
static |
Definition at line 3043 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROXL.
|
static |
Definition at line 3033 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROXL.
|
static |
Definition at line 3028 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_ROXR.
|
static |
Definition at line 3018 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ROXR.
|
static |
Definition at line 3023 of file M68KDisassembler.c.
References build_r(), info(), and M68K_INS_ROXR.
|
static |
Definition at line 3013 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROXR.
|
static |
Definition at line 3003 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROXR.
|
static |
Definition at line 3008 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROXR.
|
static |
Definition at line 2998 of file M68KDisassembler.c.
References build_3bit_d(), info(), and M68K_INS_ROXR.
|
static |
Definition at line 3075 of file M68KDisassembler.c.
References info(), M68K_GRP_IRET, M68K_INS_RTE, MCInst_setOpcode(), and set_insn_group().
|
static |
Definition at line 3105 of file M68KDisassembler.c.
References info(), M68K_GRP_RET, M68K_INS_RTR, MCInst_setOpcode(), and set_insn_group().
|
static |
Definition at line 3111 of file M68KDisassembler.c.
References info(), M68K_GRP_RET, M68K_INS_RTS, MCInst_setOpcode(), and set_insn_group().
|
static |
Definition at line 3122 of file M68KDisassembler.c.
References build_mm(), info(), M68K_INS_SBCD, and read_imm_16().
|
static |
Definition at line 3117 of file M68KDisassembler.c.
References build_rr(), info(), and M68K_INS_SBCD.
|
static |
Definition at line 3127 of file M68KDisassembler.c.
References build_init_op(), ext, get_ea_mode_op(), info(), and s_scc_lut.
|
static |
Definition at line 3133 of file M68KDisassembler.c.
References build_absolute_jump_with_immediate(), info(), M68K_INS_STOP, and read_imm_16().
|
static |
Definition at line 3143 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_SUB.
|
static |
Definition at line 3148 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_SUB.
|
static |
Definition at line 3138 of file M68KDisassembler.c.
References build_er_1(), info(), and M68K_INS_SUB.
|
static |
Definition at line 3158 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_SUB.
|
static |
Definition at line 3163 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_SUB.
|
static |
Definition at line 3153 of file M68KDisassembler.c.
References build_re_1(), info(), and M68K_INS_SUB.
|
static |
Definition at line 3168 of file M68KDisassembler.c.
References build_ea_a(), info(), and M68K_INS_SUBA.
|
static |
Definition at line 3173 of file M68KDisassembler.c.
References build_ea_a(), info(), and M68K_INS_SUBA.
|
static |
Definition at line 3183 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_SUBI, and read_imm_16().
|
static |
Definition at line 3188 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_SUBI, and read_imm_32().
|
static |
Definition at line 3178 of file M68KDisassembler.c.
References build_imm_ea(), info(), M68K_INS_SUBI, and read_imm_8().
|
static |
Definition at line 3198 of file M68KDisassembler.c.
References build_3bit_ea(), info(), and M68K_INS_SUBQ.
|
static |
Definition at line 3203 of file M68KDisassembler.c.
References build_3bit_ea(), info(), and M68K_INS_SUBQ.
|
static |
Definition at line 3193 of file M68KDisassembler.c.
References build_3bit_ea(), info(), and M68K_INS_SUBQ.
|
static |
Definition at line 3228 of file M68KDisassembler.c.
References build_mm(), info(), and M68K_INS_SUBX.
|
static |
Definition at line 3233 of file M68KDisassembler.c.
References build_mm(), info(), and M68K_INS_SUBX.
|
static |
Definition at line 3223 of file M68KDisassembler.c.
References build_mm(), info(), and M68K_INS_SUBX.
|
static |
Definition at line 3213 of file M68KDisassembler.c.
References build_rr(), info(), and M68K_INS_SUBX.
|
static |
Definition at line 3218 of file M68KDisassembler.c.
References build_rr(), info(), and M68K_INS_SUBX.
|
static |
Definition at line 3208 of file M68KDisassembler.c.
References build_rr(), info(), and M68K_INS_SUBX.
|
static |
Definition at line 3238 of file M68KDisassembler.c.
References build_d(), info(), and M68K_INS_SWAP.
|
static |
Definition at line 3243 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_TAS.
|
static |
Definition at line 3248 of file M68KDisassembler.c.
References build_absolute_jump_with_immediate(), info(), and M68K_INS_TRAP.
|
static |
Definition at line 3273 of file M68KDisassembler.c.
References info(), M68K_INS_TRAPV, and MCInst_setOpcode().
|
static |
Definition at line 3301 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_TST.
|
static |
Definition at line 3330 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_TST.
|
static |
Definition at line 3278 of file M68KDisassembler.c.
References build_ea(), info(), and M68K_INS_TST.
|
static |
Definition at line 3359 of file M68KDisassembler.c.
References build_init_op(), ext, info(), M68K_AM_REG_DIRECT_ADDR, M68K_INS_UNLK, M68K_REG_A0, and op.
|
static |
Definition at line 1483 of file M68KDisassembler.c.
References build_absolute_jump_with_immediate(), info(), LIMIT_CPU_TYPES, M68010_PLUS, and M68K_INS_BKPT.
|
static |
Definition at line 2484 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, get_ea_mode_op(), info(), LIMIT_CPU_TYPES, M68010_PLUS, M68K_AM_NONE, M68K_INS_MOVE, M68K_REG_CCR, and cs_m68k_op::reg.
|
static |
Definition at line 2565 of file M68KDisassembler.c.
References BIT_1, BIT_F, build_init_op(), ext, info(), LIMIT_CPU_TYPES, M68010_PLUS, M68K_INS_MOVEC, M68K_REG_A0, M68K_REG_CAAR, M68K_REG_CACR, M68K_REG_D0, M68K_REG_DFC, M68K_REG_DTT0, M68K_REG_DTT1, M68K_REG_INVALID, M68K_REG_ISP, M68K_REG_ITT0, M68K_REG_ITT1, M68K_REG_MMUSR, M68K_REG_MSP, M68K_REG_SFC, M68K_REG_SRP, M68K_REG_TC, M68K_REG_URP, M68K_REG_USP, M68K_REG_VBR, read_imm_16(), reg, and cs_m68k_op::reg.
|
static |
Definition at line 2668 of file M68KDisassembler.c.
References build_moves(), info(), LIMIT_CPU_TYPES, and M68010_PLUS.
|
static |
Definition at line 2675 of file M68KDisassembler.c.
References build_moves(), info(), LIMIT_CPU_TYPES, and M68010_PLUS.
|
static |
Definition at line 2662 of file M68KDisassembler.c.
References build_moves(), info(), LIMIT_CPU_TYPES, and M68010_PLUS.
|
static |
Definition at line 3068 of file M68KDisassembler.c.
References build_absolute_jump_with_immediate(), info(), LIMIT_CPU_TYPES, M68010_PLUS, M68K_GRP_RET, M68K_INS_RTD, read_imm_16(), and set_insn_group().
|
static |
Definition at line 1457 of file M68KDisassembler.c.
References build_bcc(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and read_imm_32().
|
static |
Definition at line 1489 of file M68KDisassembler.c.
References build_bitfield_ins(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_BFCHG.
|
static |
Definition at line 1496 of file M68KDisassembler.c.
References build_bitfield_ins(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_BFCLR.
|
static |
Definition at line 1502 of file M68KDisassembler.c.
References build_bitfield_ins(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_BFEXTS.
|
static |
Definition at line 1508 of file M68KDisassembler.c.
References build_bitfield_ins(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_BFEXTU.
|
static |
Definition at line 1514 of file M68KDisassembler.c.
References build_bitfield_ins(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_BFFFO.
|
static |
Definition at line 1520 of file M68KDisassembler.c.
References build_bitfield_ins(), ext, info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_BFINS.
|
static |
Definition at line 1535 of file M68KDisassembler.c.
References build_bitfield_ins(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_BFSET.
|
static |
Definition at line 1541 of file M68KDisassembler.c.
References build_bitfield_ins(), info(), and M68K_INS_BFTST.
|
static |
Definition at line 1556 of file M68KDisassembler.c.
References build_relative_branch(), info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_INS_BRA, and read_imm_32().
|
static |
Definition at line 1582 of file M68KDisassembler.c.
References build_relative_branch(), info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_INS_BSR, and read_imm_32().
|
static |
Definition at line 1598 of file M68KDisassembler.c.
References build_imm_ea(), info(), LIMIT_CPU_TYPES, M68020_ONLY, M68K_INS_CALLM, and read_imm_8().
|
static |
|
static |
Definition at line 1627 of file M68KDisassembler.c.
References build_cas2(), and info().
|
static |
Definition at line 1610 of file M68KDisassembler.c.
References build_d_d_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_CAS.
|
static |
Definition at line 1616 of file M68KDisassembler.c.
References build_d_d_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_CAS.
|
static |
Definition at line 1604 of file M68KDisassembler.c.
References build_d_d_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_CAS.
|
static |
Definition at line 1649 of file M68KDisassembler.c.
References build_chk2_cmp2(), info(), LIMIT_CPU_TYPES, and M68020_PLUS.
|
static |
Definition at line 1655 of file M68KDisassembler.c.
References build_chk2_cmp2(), info(), LIMIT_CPU_TYPES, and M68020_PLUS.
|
static |
Definition at line 1643 of file M68KDisassembler.c.
References build_chk2_cmp2(), info(), LIMIT_CPU_TYPES, and M68020_PLUS.
|
static |
Definition at line 1637 of file M68KDisassembler.c.
References build_er_1(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_CHK.
|
static |
Definition at line 1729 of file M68KDisassembler.c.
References build_imm_ea(), info(), LIMIT_CPU_TYPES, M68010_PLUS, M68K_INS_CMPI, and read_imm_16().
|
static |
Definition at line 1746 of file M68KDisassembler.c.
References build_imm_ea(), info(), LIMIT_CPU_TYPES, M68010_PLUS, M68K_INS_CMPI, and read_imm_32().
|
static |
Definition at line 1712 of file M68KDisassembler.c.
References build_imm_ea(), info(), LIMIT_CPU_TYPES, M68010_PLUS, M68K_INS_CMPI, and read_imm_8().
|
static |
Definition at line 1735 of file M68KDisassembler.c.
References build_imm_ea(), info(), LIMIT_CPU_TYPES, M68010_PLUS, M68K_INS_CMPI, and read_imm_16().
|
static |
Definition at line 1752 of file M68KDisassembler.c.
References build_imm_ea(), info(), LIMIT_CPU_TYPES, M68010_PLUS, M68K_INS_CMPI, and read_imm_32().
|
static |
Definition at line 1718 of file M68KDisassembler.c.
References build_imm_ea(), info(), LIMIT_CPU_TYPES, M68010_PLUS, M68K_INS_CMPI, and read_imm_8().
|
static |
Definition at line 1781 of file M68KDisassembler.c.
References build_init_op(), ext, info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_GRP_BRANCH_RELATIVE, M68K_GRP_JUMP, M68K_INS_FBF, M68K_OP_BR_DISP_SIZE_WORD, make_cpbcc_operand(), make_int_16(), read_imm_16(), and set_insn_group().
|
static |
Definition at line 1799 of file M68KDisassembler.c.
References build_init_op(), ext, info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_GRP_BRANCH_RELATIVE, M68K_GRP_JUMP, M68K_INS_FBF, M68K_OP_BR_DISP_SIZE_LONG, make_cpbcc_operand(), read_imm_32(), and set_insn_group().
|
static |
Definition at line 1820 of file M68KDisassembler.c.
References build_init_op(), ext, info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_GRP_BRANCH_RELATIVE, M68K_GRP_JUMP, M68K_INS_FDBF, M68K_OP_BR_DISP_SIZE_WORD, M68K_REG_D0, make_cpbcc_operand(), make_int_16(), read_imm_16(), cs_m68k_op::reg, and set_insn_group().
|
static |
Definition at line 1917 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, BITFIELD, build_init_op(), test-lz4-speed::default, dst, ext, fmove_fpcr(), fmovem(), get_ea_mode_op(), cs_m68k_op::imm, info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_AM_IMMEDIATE, M68K_CPU_SIZE_BYTE, M68K_CPU_SIZE_LONG, M68K_CPU_SIZE_WORD, M68K_FPU_SIZE_DOUBLE, M68K_FPU_SIZE_EXTENDED, M68K_FPU_SIZE_SINGLE, M68K_INS_FABS, M68K_INS_FACOS, M68K_INS_FADD, M68K_INS_FASIN, M68K_INS_FATAN, M68K_INS_FATANH, M68K_INS_FCMP, M68K_INS_FCOS, M68K_INS_FCOSH, M68K_INS_FDIV, M68K_INS_FETOX, M68K_INS_FETOXM1, M68K_INS_FGETEXP, M68K_INS_FGETMAN, M68K_INS_FINT, M68K_INS_FINTRZ, M68K_INS_FLOG10, M68K_INS_FLOG2, M68K_INS_FLOGN, M68K_INS_FLOGNP1, M68K_INS_FMOD, M68K_INS_FMOVE, M68K_INS_FMOVECR, M68K_INS_FMUL, M68K_INS_FNEG, M68K_INS_FREM, M68K_INS_FSCALE, M68K_INS_FSGLDIV, M68K_INS_FSGLMUL, M68K_INS_FSIN, M68K_INS_FSINH, M68K_INS_FSQRT, M68K_INS_FSUB, M68K_INS_FTAN, M68K_INS_FTENTOX, M68K_INS_FTST, M68K_INS_FTWOTOX, M68K_OP_FP_DOUBLE, M68K_OP_FP_SINGLE, M68K_OP_IMM, M68K_REG_FP0, M68K_SIZE_TYPE_CPU, M68K_SIZE_TYPE_FPU, MCInst_setOpcode(), read_imm_16(), cs_m68k_op::reg, src, and cs_m68k_op::type.
|
static |
Definition at line 2097 of file M68KDisassembler.c.
References build_init_op(), ext, get_ea_mode_op(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_FRESTORE.
|
static |
Definition at line 2106 of file M68KDisassembler.c.
References build_init_op(), ext, get_ea_mode_op(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_FSAVE.
|
static |
Definition at line 2116 of file M68KDisassembler.c.
References build_init_op(), ext, get_ea_mode_op(), info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_INS_FSF, and read_imm_16().
|
static |
Definition at line 2129 of file M68KDisassembler.c.
References build_init_op(), info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_INS_FTRAPF, and read_imm_16().
|
static |
Definition at line 2142 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, cs_m68k_op::imm, info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_AM_IMMEDIATE, M68K_INS_FTRAPF, M68K_OP_IMM, read_imm_16(), and cs_m68k_op::type.
|
static |
Definition at line 2165 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, cs_m68k_op::imm, info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_AM_IMMEDIATE, M68K_INS_FTRAPF, M68K_OP_IMM, read_imm_16(), read_imm_32(), and cs_m68k_op::type.
|
static |
Definition at line 2214 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, BIT_A, BIT_B, build_init_op(), ext, get_ea_mode_op(), info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_AM_NONE, M68K_INS_DIVS, M68K_INS_DIVU, M68K_OP_REG, M68K_OP_REG_PAIR, M68K_REG_D0, read_imm_16(), cs_m68k_op::reg, cs_m68k_op_reg_pair::reg_0, cs_m68k_op_reg_pair::reg_1, cs_m68k_op::reg_pair, and cs_m68k_op::type.
|
static |
Definition at line 2338 of file M68KDisassembler.c.
References build_d(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_EXTB.
|
static |
Definition at line 2368 of file M68KDisassembler.c.
References build_link(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and read_imm_32().
|
static |
Definition at line 2759 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, BIT_A, BIT_B, build_init_op(), ext, get_ea_mode_op(), info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_AM_NONE, M68K_INS_MULS, M68K_INS_MULU, M68K_OP_REG, M68K_OP_REG_PAIR, M68K_REG_D0, read_imm_16(), cs_m68k_op::reg, cs_m68k_op_reg_pair::reg_0, cs_m68k_op_reg_pair::reg_1, cs_m68k_op::reg_pair, and cs_m68k_op::type.
|
static |
Definition at line 2912 of file M68KDisassembler.c.
References build_mm(), info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_INS_PACK, and read_imm_16().
|
static |
Definition at line 2906 of file M68KDisassembler.c.
References build_rr(), info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_INS_PACK, and read_imm_16().
|
static |
Definition at line 3081 of file M68KDisassembler.c.
References BIT_3, build_absolute_jump_with_immediate(), ext, info(), LIMIT_CPU_TYPES, M68020_ONLY, M68K_AM_NONE, M68K_GRP_RET, M68K_INS_RTM, M68K_OP_REG, M68K_REG_A0, M68K_REG_D0, op, and set_insn_group().
|
static |
Definition at line 3253 of file M68KDisassembler.c.
References build_trap(), info(), LIMIT_CPU_TYPES, and M68020_PLUS.
|
static |
Definition at line 3261 of file M68KDisassembler.c.
References build_trap(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and read_imm_16().
|
static |
Definition at line 3267 of file M68KDisassembler.c.
References build_trap(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and read_imm_32().
|
static |
Definition at line 3306 of file M68KDisassembler.c.
References build_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_TST.
|
static |
Definition at line 3335 of file M68KDisassembler.c.
References build_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_TST.
|
static |
Definition at line 3324 of file M68KDisassembler.c.
References build_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_TST.
|
static |
Definition at line 3353 of file M68KDisassembler.c.
References build_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_TST.
|
static |
Definition at line 3295 of file M68KDisassembler.c.
References build_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_TST.
|
static |
Definition at line 3312 of file M68KDisassembler.c.
References build_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_TST.
|
static |
Definition at line 3341 of file M68KDisassembler.c.
References build_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_TST.
|
static |
Definition at line 3283 of file M68KDisassembler.c.
References build_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_TST.
|
static |
Definition at line 3318 of file M68KDisassembler.c.
References build_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_TST.
|
static |
Definition at line 3347 of file M68KDisassembler.c.
References build_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_TST.
|
static |
Definition at line 3289 of file M68KDisassembler.c.
References build_ea(), info(), LIMIT_CPU_TYPES, M68020_PLUS, and M68K_INS_TST.
|
static |
Definition at line 3376 of file M68KDisassembler.c.
References build_mm(), info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_INS_UNPK, and read_imm_16().
|
static |
Definition at line 3370 of file M68KDisassembler.c.
References build_rr(), info(), LIMIT_CPU_TYPES, M68020_PLUS, M68K_INS_UNPK, and read_imm_16().
|
static |
Definition at line 1661 of file M68KDisassembler.c.
References build_cpush_cinv(), info(), LIMIT_CPU_TYPES, M68040_PLUS, and M68K_INS_CINVL.
|
static |
Definition at line 2188 of file M68KDisassembler.c.
References build_cpush_cinv(), info(), LIMIT_CPU_TYPES, M68040_PLUS, and M68K_INS_CPUSHL.
|
static |
Definition at line 2729 of file M68KDisassembler.c.
References build_move16(), info(), LIMIT_CPU_TYPES, M68040_PLUS, M68K_AM_ABSOLUTE_DATA_LONG, M68K_AM_REG_DIRECT_ADDR, and read_imm_32().
|
static |
Definition at line 2739 of file M68KDisassembler.c.
References build_move16(), info(), LIMIT_CPU_TYPES, M68040_PLUS, M68K_AM_ABSOLUTE_DATA_LONG, M68K_AM_REG_DIRECT_ADDR, and read_imm_32().
|
static |
Definition at line 2719 of file M68KDisassembler.c.
References build_move16(), info(), LIMIT_CPU_TYPES, M68040_PLUS, M68K_AM_ABSOLUTE_DATA_LONG, M68K_AM_REGI_ADDR_POST_INC, and read_imm_32().
|
static |
Definition at line 2709 of file M68KDisassembler.c.
References build_move16(), info(), LIMIT_CPU_TYPES, M68040_PLUS, M68K_AM_ABSOLUTE_DATA_LONG, M68K_AM_REGI_ADDR_POST_INC, and read_imm_32().
|
static |
Definition at line 2699 of file M68KDisassembler.c.
References build_move16(), info(), LIMIT_CPU_TYPES, M68040_PLUS, M68K_AM_REGI_ADDR_POST_INC, and read_imm_16().
Definition at line 3399 of file M68KDisassembler.c.
References count, i, reg, and regs.
Referenced by add_reg_to_rw_list().
Definition at line 1847 of file M68KDisassembler.c.
References build_init_op(), ext, get_ea_mode_op(), info(), M68K_INS_FMOVE, M68K_REG_FPCR, M68K_REG_FPIAR, M68K_REG_FPSR, and special().
Referenced by d68020_cpgen().
Definition at line 1876 of file M68KDisassembler.c.
References cs_m68k_op::address_mode, build_init_op(), ext, get_ea_mode_op(), info(), M68K_AM_NONE, M68K_INS_FMOVEM, M68K_OP_REG_BITS, M68K_REG_D0, cs_m68k_op::reg, cs_m68k_op::register_bits, reverse_bits_8(), and cs_m68k_op::type.
Referenced by d68020_cpgen().
|
static |
Definition at line 395 of file M68KDisassembler.c.
References get_with_index_address_mode(), info(), M68K_AM_ABSOLUTE_DATA_LONG, M68K_AM_ABSOLUTE_DATA_SHORT, M68K_AM_IMMEDIATE, M68K_AM_PCI_DISP, M68K_AM_REG_DIRECT_ADDR, M68K_AM_REG_DIRECT_DATA, M68K_AM_REGI_ADDR, M68K_AM_REGI_ADDR_DISP, M68K_AM_REGI_ADDR_POST_INC, M68K_AM_REGI_ADDR_PRE_DEC, M68K_OP_IMM, M68K_OP_MEM, M68K_OP_REG, M68K_REG_A0, M68K_REG_D0, read_imm_16(), read_imm_32(), read_imm_64(), and read_imm_8().
Referenced by build_3bit_ea(), build_bitfield_ins(), build_chk2_cmp2(), build_d_d_ea(), build_ea(), build_ea_a(), build_ea_ea(), build_er_gen_1(), build_imm_ea(), build_movem_er(), build_movem_re(), build_moves(), build_re_gen_1(), d68000_jmp(), d68000_jsr(), d68000_move_fr_sr(), d68000_move_to_ccr(), d68000_move_to_sr(), d68000_scc(), d68010_move_fr_ccr(), d68020_cpgen(), d68020_cprestore(), d68020_cpsave(), d68020_cpscc(), d68020_divl(), d68020_mull(), fmove_fpcr(), and fmovem().
|
static |
Definition at line 310 of file M68KDisassembler.c.
References EXT_8BIT_DISPLACEMENT, EXT_BASE_DISPLACEMENT_LONG, EXT_BASE_DISPLACEMENT_PRESENT, EXT_BASE_REGISTER_PRESENT, EXT_FULL, EXT_INDEX_AR, EXT_INDEX_LONG, EXT_INDEX_REGISTER, EXT_INDEX_REGISTER_PRESENT, EXT_INDEX_SCALE, EXT_OUTER_DISPLACEMENT_LONG, EXT_OUTER_DISPLACEMENT_PRESENT, info(), M68K_AM_AREGI_INDEX_8_BIT_DISP, M68K_AM_AREGI_INDEX_BASE_DISP, M68K_AM_MEMI_POST_INDEX, M68K_AM_MEMI_PRE_INDEX, M68K_AM_PC_MEMI_POST_INDEX, M68K_AM_PC_MEMI_PRE_INDEX, M68K_AM_PCI_INDEX_8_BIT_DISP, M68K_AM_PCI_INDEX_BASE_DISP, M68K_REG_A0, M68K_REG_D0, M68K_REG_INVALID, M68K_REG_PC, read_imm_16(), and read_imm_32().
Referenced by get_ea_mode_op().
Definition at line 3385 of file M68KDisassembler.c.
References d68000_invalid(), g_instruction_table, i, and info().
Referenced by build_cas2(), and m68k_disassemble().
Definition at line 3574 of file M68KDisassembler.c.
References ext, g_instruction_table, i, info(), instruction_struct::instruction, instruction_is_valid(), int, M68K_INS_INVALID, M68K_OP_REG, M68K_OPERAND_COUNT, M68K_SIZE_TYPE_CPU, memset(), MCInst::Opcode, pc, peek_imm_16(), peek_imm_32(), and read_imm_16().
Referenced by M68K_getInstruction().
bool M68K_getInstruction | ( | csh | ud, |
const uint8_t * | code, | ||
size_t | code_len, | ||
MCInst * | instr, | ||
uint16_t * | size, | ||
uint64_t | address, | ||
void * | inst_info | ||
) |
Definition at line 3601 of file M68KDisassembler.c.
References build_regs_read_write_counts(), code, cpu_type, CS_MODE_M68K_010, CS_MODE_M68K_020, CS_MODE_M68K_030, CS_MODE_M68K_040, CS_MODE_M68K_060, MCInst::csh, MCInst::flat_insn, handle, if(), info(), M68K_CPU_TYPE_68000, M68K_CPU_TYPE_68010, M68K_CPU_TYPE_68020, M68K_CPU_TYPE_68030, M68K_CPU_TYPE_68040, m68k_disassemble(), M68K_printInst(), m68k_setup_internals(), memset(), offsetof, s, and SStream_Init().
|
static |
Definition at line 147 of file M68KDisassembler.c.
References addr, info(), v0, and v1.
Referenced by m68k_read_safe_16().
|
static |
Definition at line 154 of file M68KDisassembler.c.
References addr, info(), v0, and v1.
Referenced by m68k_read_safe_32().
Definition at line 176 of file M68KDisassembler.c.
References addr, if(), info(), and m68k_read_disassembler_16().
Referenced by peek_imm_16(), and peek_imm_8().
Definition at line 185 of file M68KDisassembler.c.
References addr, if(), info(), and m68k_read_disassembler_32().
Referenced by peek_imm_32().
Definition at line 194 of file M68KDisassembler.c.
References addr, if(), info(), and m68k_read_disassembler_64().
Referenced by peek_imm_64().
|
static |
Definition at line 3530 of file M68KDisassembler.c.
References cpu_type, info(), M68K_CPU_TYPE_68000, M68K_CPU_TYPE_68010, M68K_CPU_TYPE_68020, M68K_CPU_TYPE_68030, M68K_CPU_TYPE_68040, M68K_CPU_TYPE_68EC020, pc, rz_bin_info_t::type, TYPE_68000, TYPE_68010, TYPE_68020, TYPE_68030, and TYPE_68040.
Referenced by M68K_getInstruction().
|
static |
Definition at line 1773 of file M68KDisassembler.c.
References M68K_AM_BRANCH_DISPLACEMENT, and M68K_OP_BR_DISP.
Referenced by d68020_cpbcc_16(), d68020_cpbcc_32(), and d68020_cpdbcc().
Definition at line 305 of file M68KDisassembler.c.
References value.
Referenced by d68000_bcc_16(), d68000_bra_16(), d68000_bsr_16(), d68000_dbcc(), d68000_dbra(), d68020_cpbcc_16(), and d68020_cpdbcc().
Definition at line 300 of file M68KDisassembler.c.
References value.
Referenced by d68000_bcc_8(), d68000_bra_8(), and d68000_bsr_8().
Definition at line 276 of file M68KDisassembler.c.
References info(), m68k_read_safe_16(), and pc.
Referenced by m68k_disassemble(), and read_imm_16().
Definition at line 277 of file M68KDisassembler.c.
References info(), m68k_read_safe_32(), and pc.
Referenced by build_cas2(), m68k_disassemble(), and read_imm_32().
Definition at line 278 of file M68KDisassembler.c.
References info(), m68k_read_safe_64(), and pc.
Referenced by read_imm_64().
Definition at line 275 of file M68KDisassembler.c.
References info(), m68k_read_safe_16(), and pc.
Referenced by read_imm_8().
Definition at line 281 of file M68KDisassembler.c.
References info(), pc, peek_imm_16(), and value.
Referenced by build_bitfield_ins(), build_chk2_cmp2(), build_d_d_ea(), build_movem_er(), build_movem_re(), build_movep_er(), build_movep_re(), build_moves(), d68000_addi_16(), d68000_andi_16(), d68000_andi_to_sr(), d68000_bcc_16(), d68000_bra_16(), d68000_bsr_16(), d68000_cmpi_16(), d68000_dbcc(), d68000_dbra(), d68000_eori_16(), d68000_eori_to_sr(), d68000_link_16(), d68000_ori_16(), d68000_ori_to_sr(), d68000_sbcd_mm(), d68000_stop(), d68000_subi_16(), d68010_movec(), d68010_rtd(), d68020_cmpi_pcdi_16(), d68020_cmpi_pcix_16(), d68020_cpbcc_16(), d68020_cpdbcc(), d68020_cpgen(), d68020_cpscc(), d68020_cptrapcc_0(), d68020_cptrapcc_16(), d68020_cptrapcc_32(), d68020_divl(), d68020_mull(), d68020_pack_mm(), d68020_pack_rr(), d68020_trapcc_16(), d68020_unpk_mm(), d68020_unpk_rr(), d68040_move16_pi_pi(), get_ea_mode_op(), get_with_index_address_mode(), and m68k_disassemble().
Definition at line 282 of file M68KDisassembler.c.
References info(), pc, peek_imm_32(), and value.
Referenced by build_cas2(), d68000_addi_32(), d68000_andi_32(), d68000_cmpi_32(), d68000_eori_32(), d68000_ori_32(), d68000_subi_32(), d68020_bcc_32(), d68020_bra_32(), d68020_bsr_32(), d68020_cmpi_pcdi_32(), d68020_cmpi_pcix_32(), d68020_cpbcc_32(), d68020_cptrapcc_32(), d68020_link_32(), d68020_trapcc_32(), d68040_move16_ai_al(), d68040_move16_al_ai(), d68040_move16_al_pi(), d68040_move16_pi_al(), get_ea_mode_op(), and get_with_index_address_mode().
Definition at line 283 of file M68KDisassembler.c.
References info(), pc, peek_imm_64(), and value.
Referenced by get_ea_mode_op().
Definition at line 280 of file M68KDisassembler.c.
References info(), pc, peek_imm_8(), and value.
Referenced by d68000_addi_8(), d68000_andi_8(), d68000_andi_to_ccr(), d68000_bchg_s(), d68000_bclr_s(), d68000_bset_s(), d68000_btst_s(), d68000_cmpi_8(), d68000_eori_8(), d68000_eori_to_ccr(), d68000_ori_8(), d68000_ori_to_ccr(), d68000_subi_8(), d68020_callm(), d68020_cmpi_pcdi_8(), d68020_cmpi_pcix_8(), and get_ea_mode_op().
|
static |
Definition at line 489 of file M68KDisassembler.c.
References info().
Referenced by build_absolute_jump_with_immediate(), build_dbxx(), build_relative_branch(), d68000_jmp(), d68000_jsr(), d68000_rte(), d68000_rtr(), d68000_rts(), d68010_rtd(), d68020_cpbcc_16(), d68020_cpbcc_32(), d68020_cpdbcc(), and d68020_rtm().
|
static |
Definition at line 3434 of file M68KDisassembler.c.
References add_reg_to_rw_list(), info(), M68K_AM_AREGI_INDEX_8_BIT_DISP, M68K_AM_AREGI_INDEX_BASE_DISP, M68K_AM_MEMI_POST_INDEX, M68K_AM_MEMI_PRE_INDEX, M68K_AM_PC_MEMI_POST_INDEX, M68K_AM_PC_MEMI_PRE_INDEX, M68K_AM_PCI_INDEX_8_BIT_DISP, M68K_AM_PCI_INDEX_BASE_DISP, M68K_AM_REG_DIRECT_ADDR, M68K_AM_REG_DIRECT_DATA, M68K_AM_REGI_ADDR, M68K_AM_REGI_ADDR_DISP, M68K_AM_REGI_ADDR_POST_INC, M68K_AM_REGI_ADDR_PRE_DEC, and write.
Referenced by update_op_reg_list().
|
static |
Definition at line 3470 of file M68KDisassembler.c.
References add_reg_to_rw_list(), bits(), i, info(), and write.
Referenced by update_reg_list_regbits().
|
static |
Definition at line 3489 of file M68KDisassembler.c.
References add_reg_to_rw_list(), info(), M68K_OP_MEM, M68K_OP_REG, M68K_OP_REG_BITS, M68K_OP_REG_PAIR, update_am_reg_list(), update_reg_list_regbits(), and write.
Referenced by build_regs_read_write_counts().
|
static |
Definition at line 3481 of file M68KDisassembler.c.
References bits(), info(), M68K_REG_A0, M68K_REG_D0, M68K_REG_FP0, update_bits_range(), and write.
Referenced by update_op_reg_list().
|
static |
Definition at line 228 of file M68KDisassembler.c.
Referenced by build_3bit_d(), and build_3bit_ea().
|
static |
Definition at line 230 of file M68KDisassembler.c.
Referenced by build_bitfield_ins().
|
static |
Definition at line 225 of file M68KDisassembler.c.
Referenced by instruction_is_valid(), and m68k_disassemble().
|
static |
|
static |
|
static |
|
static |