Mail Archives: djgpp/1998/09/02/04:19:32
On Tue, 1 Sep 1998, Leif wrote:
> I dont know whats goin on with my progy. Im writing a program and using
> int86() to call mouse functions of INT 33h. Everything was working fine
> and dandy(with a couple of exceptions I will describe later) untill I
> added a new loop/function in my program. Every time I called this loop
> it caused Int33h Function 03h (Get MousePosition) to report falsely.
The library reference for the function int86 explains some subtleties
about the size of the union REGS members: they are not always 16-bit wide!
I suggest to read the docs carefully and try to define one of the symbols
mentioned there, probably _NAIVE_DOS_REGS. By default, .ax is 32-bit,
and the upper 16 bits may contain garbage which screws up your code.
Because of these subtleties, I would generally recommend to stay away of
int86 and use __dpmi_int instead.
- Raw text -