Annotation of coherent/b/bin/c/n1/i386/tables/relop.t, revision 1.1.1.1

1.1       root        1: //////////
                      2: / n1/i386/tables/relop.t
                      3: //////////
                      4: 
                      5: /////////
                      6: /
                      7: / Relations (== != > >= < <=).
                      8: / Handles only test contexts.
                      9: / The compiler transforms all other contexts (like value) into "?:" operations.
                     10: /
                     11: /////////
                     12: 
                     13: EQ:
                     14: NE:
                     15: GT:
                     16: GE:
                     17: LT:
                     18: LE:
                     19: ULT:
                     20: ULE:
                     21: UGT:
                     22: UGE:
                     23: 
                     24: /////////
                     25: /
                     26: / Simple stuff.
                     27: / Longs, words and bytes.
                     28: / An immediate can be compared to any addressible thing.
                     29: /
                     30: /////////
                     31: 
                     32: / Dword register :: immediate.
                     33: %      PREL
                     34:        *               NONE    *       *       NONE
                     35:                REG|MMX         DWORD
                     36:                ADR|IMM         DWORD
                     37:                        [ZCMP]  [AL],[AR]
                     38:                        [REL0]  [LAB]
                     39: 
                     40: / Dword :: immediate.
                     41: %      PREL|P_SLT
                     42:        *               ANYR    ANYR    *       NONE
                     43:                TREG            DWORD
                     44:                IMM|MMX         DWORD
                     45:                        [ZCMP]  [RL],[AR]
                     46:                        [REL0]  [LAB]
                     47: 
                     48: / Signed word :: word constant.
                     49: %      PREL
                     50:        *               NONE    *       *       NONE
                     51:                ADR             FS16
                     52:                SWORD|MMX       LONG
                     53: / Signed byte :: byte constant.
                     54: %      PREL
                     55:        *               NONE    *       *       NONE
                     56:                ADR             FS8
                     57:                SBYTE|MMX       LONG
                     58: / Unsigned word :: word constant.
                     59: %      PREL
                     60:        *               NONE    *       *       NONE
                     61:                ADR             FU16
                     62:                UWORD|MMX       LONG
                     63: / Unsigned byte :: byte constant.
                     64: %      PREL
                     65:        *               NONE    *       *       NONE
                     66:                ADR             FU8
                     67:                UBYTE|MMX       LONG
                     68:                        [TL ZCMP]       [AL],[AR]
                     69:                        [REL0]          [LAB]
                     70: 
                     71: / Dword :: dword.
                     72: %      PREL|P_SLT
                     73:        *               ANYR    ANYR    *       NONE
                     74:                TREG            DWORD
                     75:                ADR|IMM         DWORD
                     76: / Word :: word.
                     77: %      PREL|P_SLT
                     78:        *               ANYR    ANYR    *       NONE
                     79:                TREG            WORD
                     80:                ADR|IMM         WORD
                     81: / Byte :: byte.
                     82: %      PREL|P_SLT|PBYTE
                     83:        *               ANYR    ANYR    *       NONE
                     84:                TREG            BYTE
                     85:                ADR|IMM         BYTE
                     86:                        [TL ZCMP]       [TL R],[AR]
                     87:                        [REL0]          [LAB]
                     88: 
                     89: //////////
                     90: / Floating point.
                     91: //////////
                     92: 
                     93: / DECVAX or IEEE software floating point.
                     94: / Double :: double.
                     95: / _dcmp(d) pops its argument before returning, so it need not be done here.
                     96: %      PREL|PDECVAX|PIEEE
                     97:        *               EDXEAX  EDXEAX  *       NONE
                     98:                TREG            FF64
                     99:                ADR|IMM         FF64
                    100:                        [ZPUSH] [HI AR]
                    101:                        [ZPUSH] [LO AR]
                    102:                        [ZCALL] [GID _dcmp]
                    103:                        [REL0]  [LAB]
                    104: 
                    105: / Hardware coprocessor (NDP) floating point.
                    106: %      PREL|P_SLT|PNDP
                    107:        *               *       FPAC    *       NONE
                    108:                TREG            FF64
                    109:                ADR             NDPARG
                    110:                        [TR ZFCOMPD]    [AR]
                    111:                        [ZCALL]         [GID _cfcc]
                    112:                        [REL0]          [LAB]
                    113: 
                    114: //////////
                    115: / end of n1/i386/tables/relop.t
                    116: //////////

unix.superglobalmegacorp.com

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