root/kernel/FPU-emu/status_w.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /*---------------------------------------------------------------------------+
   2  |  status_w.h                                                               |
   3  |                                                                           |
   4  | Copyright (C) 1992    W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |
   5  |                       Australia.  E-mail apm233m@vaxc.cc.monash.edu.au    |
   6  |                                                                           |
   7  +---------------------------------------------------------------------------*/
   8 
   9 #ifndef _STATUS_H_
  10 #define _STATUS_H_
  11 
  12 
  13 #ifdef __ASSEMBLER__
  14 #define Const__(x)      $##x
  15 #else
  16 #define Const__(x)      x
  17 #endif
  18 
  19 #define SW_B            Const__(0x8000) /* backward compatibility (=ES) */
  20 #define SW_C3           Const__(0x4000) /* condition bit 3 */
  21 #define SW_TOP          Const__(0x3800) /* top of stack */
  22 #define SW_TOPS         Const__(11)     /* shift for top of stack bits */
  23 #define SW_C2           Const__(0x0400) /* condition bit 2 */
  24 #define SW_C1           Const__(0x0200) /* condition bit 1 */
  25 #define SW_C0           Const__(0x0100) /* condition bit 0 */
  26 #define SW_ES           Const__(0x0080) /* exception summary */
  27 #define SW_SF           Const__(0x0040) /* stack fault */
  28 #define SW_PE           Const__(0x0020) /* loss of precision */
  29 #define SW_UE           Const__(0x0010) /* underflow */
  30 #define SW_OE           Const__(0x0008) /* overflow */
  31 #define SW_ZE           Const__(0x0004) /* divide by zero */
  32 #define SW_DE           Const__(0x0002) /* denormalized operand */
  33 #define SW_IE           Const__(0x0001) /* invalid operation */
  34 
  35 
  36 #ifndef __ASSEMBLER__
  37 
  38 #define COMP_A_GT_B     1
  39 #define COMP_A_EQ_B     2
  40 #define COMP_A_LT_B     3
  41 #define COMP_NOCOMP     4
  42 #define COMP_NAN        0x40
  43 #define COMP_SNAN       0x80
  44 
  45 #define setcc(cc) ({ \
  46   status_word &= ~(SW_C0|SW_C1|SW_C2|SW_C3); \
  47   status_word |= (cc) & (SW_C0|SW_C1|SW_C2|SW_C3); })
  48 
  49 #endif __ASSEMBLER__
  50 
  51 #endif _STATUS_H_

/* [previous][next][first][last][top][bottom][index][help] */