1: /*
   2:  * Copyright (c) 1980 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  *
   6:  *	@(#)traper_.c	5.2	6/7/85
   7:  *
   8:  * Full of Magic! DON'T CHANGE ANYTHING !!
   9:  *
  10:  * To use from f77:
  11:  *	integer oldmsk, traper
  12:  *	oldmsk = traper (mask)
  13:  * where:
  14:  *	mask = 1 to trap integer overflow
  15:  *	mask = 2 to trap floating underflow
  16:  *	mask = 3 to trap both
  17:  *	These 2 bits will be set into the PSW.
  18:  *	The old state will be returned.
  19:  */
  20: 
  21: long traper_(msk)
  22: long    *msk;
  23: {
  24:     int old = 0;
  25: #if vax
  26: #define IOV_MASK    0140
  27:     int **s = &msk;
  28:     int psw;
  29: 
  30:     s -= 5;
  31:     psw = (int)*s;
  32:     old = (psw & IOV_MASK) >> 5;
  33:     psw = (psw & ~IOV_MASK) | ((*msk << 5) & IOV_MASK);
  34:     *s = (int *)psw;
  35: #endif	vax
  36:     return((long)old);
  37: }

Defined functions

traper_ defined in line 21; never used

Defined macros

IOV_MASK defined in line 26; used 3 times
Last modified: 1985-06-08
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 375
Valid CSS Valid XHTML 1.0 Strict