I met a problem in Watcom C 11.0. I uses wcl which makes 8086 code.
The code is running on a 386. I got wired result with
printf("%x %x %x ",inportb(H_ADDR2), inportb(H_ADDR1), inportb(H_ADDR0));
but the following code worked as expected,
printf("%x ", inportb(H_ADDR2));
printf("%x ",inportb(H_ADDR1));
printf("%x ", inportb(H_ADDR0));
The hardware is straightforward and unlikely to have problem. I don't
have time to determine the real source of this problem, though.
vax, 9000