Subj : IOPL code with Watcom C To : Vitus Jensen From : Jonathan de Boyne Pollard Date : Sat Dec 16 2000 08:32 am VJ>>> mov eax,INB ; 0x000E0000 JdBP>> If that really *isn't* a call gate (double-check it) then I suspect JdBP>> a linker problem. Dump the executable and look at the fixups for JdBP>> the page containing that particular piece of code. VJ> There is only one answer: how? You picked the right tool, EXEHDR, anyway, so I won't bother answering that question. (-: VJ> Watcom debugger, expect memory: entering 0x000E:0000 tells me I'm at VJ> INB+0 and the hex dump shows all the correct opcodes. That would indicate that 0x000E is the actual code selector for that segment rather than a call gate. So the next thing to find is the part of the LX file that represents the above MOV instruction. VJ> Now I need to check where the calls to INB are located? Inside page 4. VJ> exehdr mmpdemo.exe /v: VJ> page 4 type offset target VJ> obj 4:0000 16:16 PTR 0033 object 1 offset 0000 alias VJ> 16:16 PTR 005a object 1 offset 0028 alias VJ> 16:16 PTR 0075 object 1 offset 0000 alias VJ> 16:16 PTR 0099 object 1 offset 0028 alias I'll have to double-check, but that doesn't look like a correct fixup. ¯ JdeBP ® --- FleetStreet 1.22 NR * Origin: JdeBP's point, using Squish (2:257/609.3) .