Annotation of uae/src/md-arm/m68k.h, revision 1.1.1.2

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

unix.superglobalmegacorp.com

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