#include "sysdep.h"#include "dis-asm.h"#include "z8k-opc.h"#include <setjmp.h>

Go to the source code of this file.
Data Types | |
| type | instr_data_s |
Defines | |
| #define | DEFINE_TABLE |
| #define | FETCH_DATA(info, nibble) |
Functions/Subroutines | |
| static int | fetch_data (struct disassemble_info *info, int nibble) |
| int | z8k_lookup_instr (unsigned char *, disassemble_info *) |
| static void | output_instr (instr_data_s *, unsigned long, disassemble_info *) |
| static void | unpack_instr (instr_data_s *, int, disassemble_info *) |
| static void | unparse_instr (instr_data_s *, int) |
| static int | print_insn_z8k (bfd_vma addr, disassemble_info *info, int is_segmented) |
| int | print_insn_z8001 (bfd_vma addr, disassemble_info *info) |
| int | print_insn_z8002 (bfd_vma addr, disassemble_info *info) |
| static void | output_instr (instr_data_s *instr_data, unsigned long addr ATTRIBUTE_UNUSED, disassemble_info *info) |
| static void | print_intr (char *tmp_str, unsigned long interrupts) |
| static void | print_flags (char *tmp_str, unsigned long flags) |
Variables | |
| static char * | codes [16] |
| static char * | ctrl_names [8] |
| static int | seg_length |
| #define FETCH_DATA | ( | info, | |||
| nibble | ) |
Value:
((nibble) < ((instr_data_s *) (info->private_data))->max_fetched \ ? 1 : fetch_data ((info), (nibble)))
| static int fetch_data | ( | struct disassemble_info * | info, | |
| int | nibble | |||
| ) | [static] |
Definition at line 64 of file z8k-dis.c.
References abort, instr_data_s::bailout, instr_data_s::bytes, i, if(), instr_data_s::insn_start, longjmp(), instr_data_s::max_fetched, disassemble_info::memory_error_func, instr_data_s::nibbles, p, priv, disassemble_info::private_data, disassemble_info::read_memory_func, and instr_data_s::words.
| static void output_instr | ( | instr_data_s * | instr_data, | |
| unsigned long addr | ATTRIBUTE_UNUSED, | |||
| disassemble_info * | info | |||
| ) | [static] |
Definition at line 281 of file z8k-dis.c.
References FETCH_DATA, disassemble_info::fprintf_func, instr_data_s::instr_asmsrc, seg_length, strcat(), disassemble_info::stream, and instr_data_s::tabl_index.
| static void output_instr | ( | instr_data_s * | , | |
| unsigned | long, | |||
| disassemble_info * | ||||
| ) | [static] |
Referenced by print_insn_z8k().
| int print_insn_z8001 | ( | bfd_vma | addr, | |
| disassemble_info * | info | |||
| ) |
Definition at line 179 of file z8k-dis.c.
References print_insn_z8k().
Referenced by disassembler().
| int print_insn_z8002 | ( | bfd_vma | addr, | |
| disassemble_info * | info | |||
| ) |
Definition at line 185 of file z8k-dis.c.
References print_insn_z8k().
Referenced by disassembler().
| static int print_insn_z8k | ( | bfd_vma | addr, | |
| disassemble_info * | info, | |||
| int | is_segmented | |||
| ) | [static] |
Definition at line 146 of file z8k-dis.c.
References instr_data_s::bailout, BFD_ENDIAN_BIG, instr_data_s::bytes, disassemble_info::bytes_per_chunk, disassemble_info::bytes_per_line, disassemble_info::display_endian, FETCH_DATA, disassemble_info::fprintf_func, instr_data_s::insn_start, instr_data_s::max_fetched, instr_data_s::nibbles, output_instr(), disassemble_info::private_data, PTR, seg_length, setjmp(), disassemble_info::stream, instr_data_s::tabl_index, unpack_instr(), unparse_instr(), and z8k_lookup_instr().
Referenced by print_insn_z8001(), and print_insn_z8002().
Definition at line 476 of file z8k-dis.c.
References comma, and strcat().
Referenced by unparse_instr().
| static void unpack_instr | ( | instr_data_s * | instr_data, | |
| int | is_segmented, | |||
| disassemble_info * | info | |||
| ) | [static] |
Definition at line 299 of file z8k-dis.c.
References abort, instr_data_s::address, ARG_DISP12, ARG_DISP16, ARG_IMM16, ARG_IMM2, ARG_IMM32, ARG_IMM4, ARG_IMM4M1, ARG_IMM8, ARG_IMM_1, ARG_IMM_2, ARG_IMMN, ARG_NIM4, ARG_NIM8, instr_data_s::arg_reg, instr_data_s::bytes, char, CLASS_00II, CLASS_01II, CLASS_0CCC, CLASS_0DISP7, CLASS_1CCC, CLASS_1DISP7, CLASS_ADDRESS, CLASS_BIT, CLASS_BIT_1OR2, CLASS_CC, CLASS_DISP, CLASS_DISP8, CLASS_FLAGS, CLASS_IGNORE, CLASS_IMM, CLASS_MASK, CLASS_REG, CLASS_REGN0, instr_data_s::cond_code, instr_data_s::ctrl_code, instr_data_s::displacement, FETCH_DATA, instr_data_s::flags, instr_data_s::immediate, instr_data_s::insn_start, instr_data_s::interrupts, instr_data_s::nibbles, seg_length, short, instr_data_s::tabl_index, instr_data_s::words, and x1.
Referenced by print_insn_z8k().
| static void unparse_instr | ( | instr_data_s * | instr_data, | |
| int | is_segmented | |||
| ) | [static] |
Definition at line 524 of file z8k-dis.c.
References abort, instr_data_s::address, ARG_IMM2, instr_data_s::arg_reg, ARG_RX, CLASS_ADDRESS, CLASS_BA, CLASS_BX, CLASS_CC, CLASS_CTRL, CLASS_DA, CLASS_DISP, CLASS_FLAGS, CLASS_IMM, CLASS_IR, CLASS_IRO, CLASS_MASK, CLASS_PR, CLASS_REG_BYTE, CLASS_REG_LONG, CLASS_REG_QUAD, CLASS_REG_WORD, CLASS_X, codes, instr_data_s::cond_code, instr_data_s::ctrl_code, ctrl_names, instr_data_s::displacement, instr_data_s::flags, instr_data_s::immediate, instr_data_s::instr_asmsrc, instr_data_s::interrupts, print_flags(), print_intr(), sprintf(), strcat(), strcpy, and instr_data_s::tabl_index.
Referenced by print_insn_z8k().
| int z8k_lookup_instr | ( | unsigned char * | nibbles, | |
| disassemble_info * | info | |||
| ) |
Definition at line 191 of file z8k-dis.c.
References CLASS_00II, CLASS_01II, CLASS_0CCC, CLASS_0DISP7, CLASS_1CCC, CLASS_1DISP7, CLASS_BIT, CLASS_BIT_1OR2, CLASS_IGNORE, CLASS_MASK, CLASS_REGN0, FETCH_DATA, and x2.
Referenced by print_insn_z8k().
char* codes[16] [static] |
Initial value:
{
"f",
"lt",
"le",
"ule",
"ov/pe",
"mi",
"eq",
"c/ult",
"t",
"ge",
"gt",
"ugt",
"nov/po",
"pl",
"ne",
"nc/uge"
}
Definition at line 107 of file z8k-dis.c.
Referenced by add_to_sequence(), compute_predicate_codes(), decompile_method(), initialize_macros(), output_predicate_decls(), process_command(), process_define_predicate(), read_rtx(), read_rtx_1(), unparse_instr(), and write_match_code_switch().
char* ctrl_names[8] [static] |
Initial value:
{
"<invld>",
"flags",
"fcw",
"refresh",
"psapseg",
"psapoff",
"nspseg",
"nspoff"
}
Definition at line 127 of file z8k-dis.c.
Referenced by unparse_instr().
int seg_length [static] |
Definition at line 139 of file z8k-dis.c.
Referenced by output_instr(), print_insn_z8k(), and unpack_instr().
1.5.6