Annotation of uae/src/md-i386-gcc/m68k.h, revision 1.1

1.1     ! root        1:  /* 
        !             2:   * UAE - The Un*x Amiga Emulator
        !             3:   * 
        !             4:   * MC68000 emulation - machine dependent bits
        !             5:   *
        !             6:   * Copyright 1996 Bernd Schmidt
        !             7:   */
        !             8: 
        !             9:  
        !            10: struct flag_struct {
        !            11:     unsigned int c:1; /* first byte */
        !            12:     int :5;
        !            13:     unsigned int z:1;
        !            14:     unsigned int n:1;
        !            15:     int :3;           /* second, third & fourth byte */
        !            16:     unsigned int v:1; 
        !            17:     int :20;
        !            18:     unsigned int x:1; /* fifth */
        !            19:     int :31;
        !            20: };
        !            21: 
        !            22: extern struct flag_struct regflags __asm__ ("regflags");
        !            23: 
        !            24: #define ZFLG (regflags.z)
        !            25: #define NFLG (regflags.n)
        !            26: #define CFLG (regflags.c)
        !            27: #define VFLG (regflags.v)
        !            28: #define XFLG (regflags.x)
        !            29: 
        !            30: static __inline__ int cctrue(const int cc)
        !            31: {
        !            32:     switch(cc){
        !            33:      case 0: return 1;                       /* T */
        !            34:      case 1: return 0;                       /* F */
        !            35:      case 2: return !CFLG && !ZFLG;          /* HI */
        !            36:      case 3: return CFLG || ZFLG;            /* LS */
        !            37:      case 4: return !CFLG;                   /* CC */
        !            38:      case 5: return CFLG;                    /* CS */
        !            39:      case 6: return !ZFLG;                   /* NE */
        !            40:      case 7: return ZFLG;                    /* EQ */
        !            41:      case 8: return !VFLG;                   /* VC */
        !            42:      case 9: return VFLG;                    /* VS */
        !            43:      case 10:return !NFLG;                   /* PL */
        !            44:      case 11:return NFLG;                    /* MI */
        !            45:      case 12:return NFLG == VFLG;            /* GE */
        !            46:      case 13:return NFLG != VFLG;            /* LT */
        !            47:      case 14:return !ZFLG && (NFLG == VFLG); /* GT */
        !            48:      case 15:return ZFLG || (NFLG != VFLG);  /* LE */
        !            49:     }
        !            50:     abort();
        !            51:     return 0;
        !            52: }
        !            53: 

unix.superglobalmegacorp.com

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