disassemble

The Disasm function allows you to decode all instructions coded according to the rules of IA-32 and Intel 64 architectures. It makes a precise analysis of the focused instruction and sends back a complete structure that is usable to make data-flow and control-flow studies. Disasm is able to decode all the documented intel instructions (standard instructions, FPU, MMX, SSE, SSE2, SSE3, SSSE3 ,SSE4.1, SSE4.2, VMX, CLMUL and AES technologies) and undocumented ones like SALC, FEMMS (instruction AMD), HINT_NOP, ICEBP and aliases.

int
disassemble

Parameters

params

the parameter to disassemble at a particular address. The structs contains the result after the call.

Return: If the operation is sucessful then the result is equal to the length of the instruction, so a value between 1 and 15. If the operation fails then the result is either equal to SpecialInfo.UNKNOWN_OPCODE or to SpecialInfo.OUT_OF_BLOCK.

Examples

DisasmParams p;
p.eip = &myFunction;
disassemble(&p);
writeln(p.asString);

Meta