Files
YukiOS/arch/x86_64/io.zig

19 lines
370 B
Zig

pub fn outb(port: u16, value: u8) void {
asm volatile (
\\outb %al, %dx
:
: [port] "{dx}" (port), [value] "{al}" (value)
: .{}
);
}
pub fn inb(port: u16) u8 {
var value: u8 = 0;
asm volatile (
\\inb %dx, %al
: [value] "={al}" (value)
: [port] "{dx}" (port)
: .{}
);
return value;
}