Wymiana danych między C/C++ a Assemblerem [porty]

static inline void outportb(unsigned short port,unsigned char val) 
{ 
 
__asm__ ("outb %%al,%%dx"::"a"(val),"d"(port)); 
} 
 
static inline unsigned char inportb(unsigned short port) 
{ 
unsigned char __ret; 
__asm__ ("inb %%dx,%%al":"=a"(__ret):"d"(port)); 
return __ret; 
}

Witam ponownie, jak zamienić wejścia z zmiennych na wskaźniki ?

Bo chyba przecież będzie miało to swoje odzworowanie w _asm_

I jeszce jak zamienić z inline na asm() (z _asm_() )

Co oznaczają te literki ):“d”(, :"=a"(