inline unsigned char inportb(unsigned short port) { unsigned char ret_val; asm volatile("inb %w1,%b0" : "=a"(ret_val) : "d"(port)); return ret_val; };