18 lines
332 B
C
18 lines
332 B
C
|
#include <io.h>
|
||
|
|
||
|
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));
|
||
|
}
|