dmd.backend.disasm86

X86 disassembler. Can disassemble 16, 32, and 64 bit code. Includes x87 FPU instructions and vector instructions.

Members

Functions

calccodsize
addr calccodsize(ubyte[] code, addr c, addr pc, uint model)

Calculate and return the number of bytes in an instruction starting at codec.

getopstring
void getopstring(void delegate(char) nothrow @(nogc) put, ubyte[] code, uint c, addr siz, uint model, int nearptr, ubyte bObjectcode, const(char)* function(uint c, uint sz, uint offset) nothrow @(nogc) mem, const(char)* function(ubyte[] code, uint c, int sz) nothrow @(nogc) immed16, const(char)* function(uint c, uint offset, bool farflag, bool is16bit) nothrow @(nogc) labelcode, const(char)* function(uint pc, int offset) nothrow @(nogc) shortlabel)

Write to put() the disassembled instruction

jmpTarget
bool jmpTarget(ubyte[] code, addr c, addr offset)

If instruction is a jump or a call, get information about where the offset is and what it is.

Meta