mirror of
https://github.com/zyantific/zasm
synced 2026-06-08 18:40:54 +00:00
26 lines
530 B
C++
26 lines
530 B
C++
#pragma once
|
|
|
|
#include <Zydis/Zydis.h>
|
|
#include <cstddef>
|
|
#include <zasm/base/mode.hpp>
|
|
#include <zasm/core/errors.hpp>
|
|
#include <zasm/core/expected.hpp>
|
|
#include <zasm/program/instruction.hpp>
|
|
|
|
namespace zasm
|
|
{
|
|
class Decoder
|
|
{
|
|
ZydisDecoder _decoder{};
|
|
Error _status{};
|
|
|
|
public:
|
|
using Result = zasm::Expected<Instruction, Error>;
|
|
|
|
Decoder(MachineMode mode) noexcept;
|
|
|
|
Result decode(const void* data, std::size_t len, std::uint64_t address) noexcept;
|
|
};
|
|
|
|
} // namespace zasm
|