You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All instructions are supported, including VEX/EVEX instructions.
It requires the code_asm feature which is disabled by default.
See the Rust README for a longer example.
Rust: Added Instruction::with{1,2,3,4,5}() methods to create instructions. The older methods with longer names have been deprecated.
// old: let _ = Instruction::try_with_reg_reg_u32(Code::Imul_r16_rm16_imm16,Register::CX,Register::DX,0x5AA5)?;// new: (the '3' suffix means '3 operands')let _ = Instruction::with3(Code::Imul_r16_rm16_imm16,Register::CX,Register::DX,0x5AA5)?;// A number suffix (`u32`, `u64`, `i64`) is sometimes needed to help the compiler:let _ = Instruction::with2(Code::Mov_r64_imm64,Register::RAX,0x1234_5678_9ABC_DEF0u64)?;
Python: Instruction can be serialized/deserialized with pickle (Credit: @paulfariello)
Added Instruction::is_string_instruction() (Credit: @woodruffw) which returns true if it's eg. SCASB, MOVSQ, or any other string instruction.
Rust: optional serde feature added to serialize/deserialize Instruction