Справка по преобразованию: __asm__ __volatile __

Я хотел бы перенести функцию outb из C в D.

static __inline void outb (unsigned char value, unsigned short int port)
{
    __asm__ __volatile__ ("outb %b0,%w1"
                          :
                          :
                         "a" (value),
                          "Nd" (port));
}

Это версия D.

extern(C) 
{
    void outb (ubyte value, ushort port)
    {
        // I couldn't figure out this part
   }

}

Это некоторые ссылки по теме.

D Встроенный ассемблер

http://dlang.org/iasm.html

GCC-Inline-Assembly-HOWTO

http://ibiblio.org/gferg/ldp/GCC-Inline-Assembly- HOWTO.html

Но я не знаю языка ассемблера, поэтому мне нужна помощь. Любая помощь будет принята с благодарностью. Спасибо.

9
задан Erdem 23 December 2011 в 10:08
поделиться