#include <disassembler_65816.h>
Public Member Functions | |
| Disassembler65816 () | |
| void | SetFlags (bool m_flag, bool x_flag) |
| uint8_t | DisassembleInstruction (uint32_t address, const uint8_t *data, std::string &mnemonic, std::string &operand_str, std::vector< uint8_t > &operands) |
| uint8_t | GetInstructionSize (uint8_t opcode) const |
Static Public Member Functions | |
| static std::string | FormatAddress (uint32_t address) |
Private Member Functions | |
| void | InitializeOpcodeTable () |
| std::string | FormatOperand (AddressingMode mode, uint32_t address, const std::vector< uint8_t > &operands) const |
| uint8_t | GetEffectiveSize (uint8_t opcode, AddressingMode mode) const |
Private Attributes | |
| bool | m_flag_ |
| bool | x_flag_ |
| std::unordered_map< uint8_t, InstructionInfo > | opcode_table_ |
Definition at line 51 of file disassembler_65816.h.
|
inline |
Definition at line 53 of file disassembler_65816.h.
References InitializeOpcodeTable().

|
inline |
Definition at line 58 of file disassembler_65816.h.
| uint8_t yaze::cli::agent::Disassembler65816::DisassembleInstruction | ( | uint32_t | address, |
| const uint8_t * | data, | ||
| std::string & | mnemonic, | ||
| std::string & | operand_str, | ||
| std::vector< uint8_t > & | operands ) |
Definition at line 300 of file disassembler_65816.cc.
References FormatOperand(), GetEffectiveSize(), yaze::cli::agent::InstructionInfo::mnemonic, yaze::cli::agent::InstructionInfo::mode, and opcode_table_.

| uint8_t yaze::cli::agent::Disassembler65816::GetInstructionSize | ( | uint8_t | opcode | ) | const |
Definition at line 332 of file disassembler_65816.cc.
References GetEffectiveSize(), and opcode_table_.

|
inlinestatic |
Definition at line 74 of file disassembler_65816.h.
|
private |
Definition at line 7 of file disassembler_65816.cc.
References yaze::cli::agent::Absolute, yaze::cli::agent::AbsoluteLong, yaze::cli::agent::AbsoluteX, yaze::cli::agent::AbsoluteXLong, yaze::cli::agent::AbsoluteY, yaze::cli::agent::Accumulator, yaze::cli::agent::BlockMove, yaze::cli::agent::Direct, yaze::cli::agent::DirectX, yaze::cli::agent::DirectY, yaze::cli::agent::Immediate8, yaze::cli::agent::ImmediateX, yaze::cli::agent::Implied, yaze::cli::agent::Indirect, yaze::cli::agent::IndirectLong, yaze::cli::agent::IndirectLongY, yaze::cli::agent::IndirectX, yaze::cli::agent::IndirectY, opcode_table_, yaze::cli::agent::Relative16, yaze::cli::agent::Relative8, yaze::cli::agent::StackRel, and yaze::cli::agent::StackRelY.
Referenced by Disassembler65816().
|
private |
Definition at line 374 of file disassembler_65816.cc.
References yaze::cli::agent::Absolute, yaze::cli::agent::AbsoluteLong, yaze::cli::agent::AbsoluteX, yaze::cli::agent::AbsoluteXLong, yaze::cli::agent::AbsoluteY, yaze::cli::agent::Accumulator, yaze::cli::agent::BlockMove, yaze::cli::agent::Direct, yaze::cli::agent::DirectX, yaze::cli::agent::DirectY, yaze::cli::agent::Immediate16, yaze::cli::agent::Immediate8, yaze::cli::agent::ImmediateX, yaze::cli::agent::Implied, yaze::cli::agent::Indirect, yaze::cli::agent::IndirectLong, yaze::cli::agent::IndirectLongY, yaze::cli::agent::IndirectX, yaze::cli::agent::IndirectY, yaze::cli::agent::Relative16, yaze::cli::agent::Relative8, yaze::cli::agent::StackRel, and yaze::cli::agent::StackRelY.
Referenced by DisassembleInstruction().
|
private |
Definition at line 341 of file disassembler_65816.cc.
References yaze::cli::agent::Immediate8, yaze::cli::agent::ImmediateX, m_flag_, opcode_table_, and x_flag_.
Referenced by DisassembleInstruction(), and GetInstructionSize().
|
private |
Definition at line 84 of file disassembler_65816.h.
Referenced by GetEffectiveSize(), and SetFlags().
|
private |
Definition at line 85 of file disassembler_65816.h.
Referenced by GetEffectiveSize(), and SetFlags().
|
private |
Definition at line 86 of file disassembler_65816.h.
Referenced by DisassembleInstruction(), GetEffectiveSize(), GetInstructionSize(), and InitializeOpcodeTable().