jpl@allegra.UUCP (John P. Linderman) (10/19/84)
For reasons beyond the scope of this item, I want to be able to detect integer overflow in a program running on a VAX under 4.2 BSD. With a little help, I concocted the following program to get me access to the processor status word. #define KEEPOUT 0xffffff00 int setspl(trap) register int trap; { if (trap & KEEPOUT) return (-1); else { asm(" bispsw r11"); } return (0); } I have some reason to believe that the code is setting the bits as desired, because if I call it with 0x10, I get a trace trap (and a core dump) very quickly. But if I call it with 0x20 to enable integer overflow, I can abuse integers forever* (and even set the V bit on directly using the routine above) without getting the SIGFPE I want. I'm already well beyond my limits in hardware tinkering. Anybody know how to enable and catch integer overflow? * like "for (i=j=35; --i; j += j+i);" John P. Linderman Department of Exceptional Software allegra!jpl