Subj : Interrupts To : David Noon From : Lee Aroner Date : Sun May 27 2001 03:18 am DN>> The OS/2 API is built on call gates and ring gates, not interrupts. LA> And are not those gates accessed via an interrupt? DN> No. DN> Call gates are simply part of protected mode execution. > They do not generate any interrupt; they simply fiddle some > segment registers [and control registers and stack frame, > if they are ring gates too] and then continue execution as > per a normal CALL instruction. DN> The use of an INT instruction in p-mode, as per PC-DOS/MS- > DOS/DR-DOS + DPMI (e.g. Win 3.x/9x/Me), NT and LINUX, is an > alternative way to switch ring levels. In addition to > branching to the address in the interrupt vector (addressed > by the IDTR in p-mode) the INT instruction switches to ring > 0. But this is wholly redundant in an OS that uses > call/ring gates. My wrong. Thanks for taking the time to explain that. I had simply assumed that OS/2 used the same invalid int trick to switch rings as Win does. DN> I guess that makes OS/2 a "Gates environment". AAAAAAAAAARRRRRRRRRGGGGGGGGGGGHHHHHHHHHH!!!!!!!!!!! LRA -- SPEED 2.01 #2720: "Give up integrity and the rest is a piece of cake." BG --- Maximus/2 3.01 * Origin: Top Hat 2 BBS (1:343/41) .