rust-x86
rust-x86 copied to clipboard
fixing segmentation print
Current segment print
After Fix
Test Code
use std::arch::asm;
use x86;
fn main() {
unsafe {
let cs: u16;
let ds: u16;
let ss: u16;
let es: u16;
let fs: u16;
let gs: u16;
asm!("mov {0:x}, cs", out(reg) cs);
asm!("mov {0:x}, ds", out(reg) ds);
asm!("mov {0:x}, ss", out(reg) ss);
asm!("mov {0:x}, es", out(reg) es);
asm!("mov {0:x}, fs", out(reg) fs);
asm!("mov {0:x}, gs", out(reg) gs);
println!("cs: {:#010b}", cs);
println!("ds: {:#010b}", ds);
println!("ss: {:#010b}", ss);
println!("es: {:#010b}", es);
println!("fs: {:#010b}", fs);
println!("gs: {:#010b}", gs);
}
println!(
"cs: {} \nds: {} \nss: {} \nes: {} \nfs: {} \ngs: {}",
x86::segmentation::cs(),
x86::segmentation::ds(),
x86::segmentation::ss(),
x86::segmentation::es(),
x86::segmentation::fs(),
x86::segmentation::gs(),
);
}
Thanks for the contribution