ref: 1a9e9aa22d5ea5a83bcdfc43b636c43dfb0c7ee8
dir: /pc/x86.c/
#include <u.h> void outb(uint16 port, uint8 data) { asm volatile("out %0, %1" : : "a" (data), "d" (port)); } uint8 inb(uint16 port) { uint8 data; asm volatile("in %1, %0" : "=a" (data) : "d" (port)); return data; }