Mail Archives: djgpp/1999/02/05/07:14:10
is05562 AT salleURL DOT edu wrote :
>OK then... I think that I knew then what an iret_wrapper was, (it's "more or
>less the same that adding the interrupt" keyword in borland for example ).
Ok , Just smalls precisions on the "interrupt" of Borland and the wrapper of
DJGPP...
"interrupt" in Borland mean that this function will be able to be call by an
Interrupt mecanism.
so at the start of the function, the compiler add piece of code to save the
registers.
And a the end of the function (and at every "return") it add a piece of code
for restore
any registers it saved, and return with the "IRET" assembly instruction.
The wrapper in DJGPP is the REAL interrupt handler, it'll be the only one to be
call
when the interrupt occur.
It saved the registers,
and make the environnement back to the C++ normal flow and then , call your
function.
After your function returned, it restore the registers to protected normal
flow.
But DJGPP need one Wrapper for any interrupt Handler, so you add to allocate it
( and deallocate it ) by yourself ...
Hope thats help ...
KAMY
- Raw text -