diff --git a/.gitignore b/.gitignore index 4fffb2f..02e7a89 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -/target +**/target /Cargo.lock diff --git a/Cargo.toml b/Cargo.toml index 7a6ba17..19fecc8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,3 +1,4 @@ +workspace = { members = ["ecplorer"] } [package] name = "smokepatio" version = "0.1.0" diff --git a/src/ec/ports.rs b/src/ec/ports.rs index 8a520ba..c690b8f 100644 --- a/src/ec/ports.rs +++ b/src/ec/ports.rs @@ -1,8 +1,10 @@ // x86 and x86_64 #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] pub(crate) fn outb(port: u16, val: u8) { + //let val: i16 = val.into(); unsafe { - std::arch::asm!("outb", in("dx") port, in("al") val); + std::arch::asm!("out dx, al", in("dx") port, in("al") val); + //std::arch::asm!("outb %al, %dx", in("al") val, in("dx") port, options(att_syntax)); } } @@ -10,7 +12,8 @@ pub(crate) fn outb(port: u16, val: u8) { pub(crate) fn inb(port: u16) -> u8 { let out: u8; unsafe { - std::arch::asm!("inb", in("dx") port, lateout("al") out); + std::arch::asm!("in al, dx", in("dx") port, lateout("al") out); + // asm!("inb %dx, %al", in("dx") port, out("al") ret, options(att_syntax)); } out }