Annotation of coherent/b/kernel/emulator/status_w.h, revision 1.1

1.1     ! root        1: /*---------------------------------------------------------------------------+
        !             2:  |  status_w.h                                                               |
        !             3:  |                                                                           |
        !             4:  | Copyright (C) 1992    W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |
        !             5:  |                       Australia.  E-mail [email protected]    |
        !             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_

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.