encode_basic/
encode_basic.rs1extern crate x86asm;
2
3use std::io::Cursor;
4use x86asm::{InstructionWriter, Mnemonic, Mode, Operand, Reg};
5
6fn main() {
7 let buffer = Cursor::new(Vec::new());
8 let mut writer = InstructionWriter::new(buffer, Mode::Protected);
9
10 let bytes_written =
11 writer.write2(Mnemonic::MOV, Operand::Direct(Reg::EAX), Operand::Literal32(10)).unwrap() + writer.write2(Mnemonic::MOV, Operand::Direct(Reg::EBX), Operand::Literal32(20)).unwrap() + writer.write2(Mnemonic::ADD, Operand::Direct(Reg::EAX), Operand::Direct(Reg::EBX)).unwrap(); print!("Output ({} bytes): ", bytes_written);
16 for byte in writer.get_inner_writer_ref().get_ref().iter() {
17 print!("{:02X} ", byte);
18 }
19 println!("");
20}