Added assembly for reading/writing to IO locations.

This commit is contained in:
neviyn 2017-10-22 21:17:12 +01:00
parent e0c0d8cfa3
commit c98464d1c7

16
kernel/arch/i386/io.nim Normal file
View File

@ -0,0 +1,16 @@
type
IOPacket* = tuple
port: uint16
value: uint8
{.push stackTrace:off.}
proc outb*(data: IOPacket) =
asm """
outb `data.value` `data.port`
"""
proc inb*(port: uint16): uint =
asm """
inb `port` `result`
"""
{.pop.}