20#include "Disassembler.h"
21#include "pedigree/kernel/debugger/libudis86/udis86.h"
22#include "pedigree/kernel/processor/types.h"
23#include "pedigree/kernel/utilities/StaticString.h"
25X86Disassembler::X86Disassembler() : m_Location(0), m_Mode(32), m_Obj() {
27 ud_set_mode(&m_Obj, m_Mode);
28 ud_set_syntax(&m_Obj, UD_SYN_INTEL);
29 ud_set_pc(&m_Obj, m_Location);
30 ud_set_input_buffer(&m_Obj,
reinterpret_cast<uint8_t*
>(m_Location), 4096);
33X86Disassembler::~X86Disassembler() {}
39 ud_set_input_buffer(&
m_Obj,
reinterpret_cast<uint8_t*
>(
m_Location), 4096);
40 ud_disassemble(&
m_Obj);
48 if (nMode == 32 || nMode == 64)
54 text += ud_insn_asm(&
m_Obj);
56 ud_disassemble(&
m_Obj);
void setLocation(uintptr_t location)
void disassemble(LargeStaticString &text)
void setMode(size_t mode)