void read_port (pulong -w target, ushort port_number)
{
  asm () / R0, R24
  {
    SETPTR R24, &port_number, DT_WORD; LOAD R0, R24, DT_WORD;        /* R0 = port_number; */
    INP R0, R0, DT_DWORD;                                            /* R0 = inp (R0);    */

    SETPTR R24, &target, DT_DWORD; LOADPTR R24, R24;                 /* R24 = target;     */
    STORE R24, R0, DT_DWORD;                                         /* R24^ = R0;        */
  }
}