rk/kernel/io.c

28 lines
508 B
C
Raw Normal View History

2024-05-26 02:33:18 -04:00
#include <kernel/io.h>
2024-05-20 05:59:07 -04:00
uint8_t inportb(uint16_t port) {
uint8_t result;
asm volatile ("in %%dx, %%al"
: "=a" (result)
: "d" (port));
return result;
}
void outportb(uint16_t port, uint8_t byte) {
asm volatile ("out %%al, %%dx"
: // no output
: "a" (byte), "d" (port));
}
2024-05-23 01:31:32 -04:00
uint16_t inportw(uint16_t port) {
uint16_t result;
asm volatile ("in %%dx, %%ax"
: "=a" (result)
: "d" (port));
return result;
}