Annotation of coherent/b/bin/c/n1/i8086/tables/add.t, revision 1.1

1.1     ! root        1: /////////
        !             2: /
        !             3: / Addition.
        !             4: / Check for +1 (inc) and +2 (inc, inc; thanks to Mac).
        !             5: / Handle LARGE model addition of integers and pointers,
        !             6: / which are OFFSET adjustments only.
        !             7: /
        !             8: /////////
        !             9: 
        !            10: ADD:
        !            11: %      PEFFECT|PRVALUE|PSREL|P_SLT
        !            12:        WORD            ANYR    ANYR    *       TEMP
        !            13:                TREG            WORD
        !            14:                1|MMX           *
        !            15: %      PLVALUE|P_SLT
        !            16:        WORD            ANYL    ANYL    *       TEMP
        !            17:                TREG            WORD
        !            18:                1|MMX           *
        !            19:                        [ZINC]  [R]
        !            20:                [IFR]   [REL0]  [LAB]
        !            21: 
        !            22: #ifndef ONLYSMALL
        !            23: %      PEFFECT|PRVALUE|P_SLT
        !            24:        LPTX            ANYR    ANYR    *       TEMP
        !            25:                TREG            LPTX
        !            26:                1|MMX           *
        !            27: %      PLVALUE|P_SLT
        !            28:        LPTX            ANYL    ANYL    *       TEMP
        !            29:                TREG            LPTX
        !            30:                1|MMX           *
        !            31:                        [ZINC]  [LO R]
        !            32: #endif
        !            33: 
        !            34: %      PEFFECT|PRVALUE|PSREL|P_SLT
        !            35:        WORD            ANYR    ANYR    *       TEMP
        !            36:                TREG            WORD
        !            37:                2|MMX           *
        !            38: %      PLVALUE|P_SLT
        !            39:        WORD            ANYL    ANYL    *       TEMP
        !            40:                TREG            WORD
        !            41:                2|MMX           *
        !            42:                        [ZINC]  [R]
        !            43:                        [ZINC]  [R]
        !            44:                [IFR]   [REL0]  [LAB]
        !            45: 
        !            46: #ifndef ONLYSMALL
        !            47: %      PEFFECT|PRVALUE|P_SLT
        !            48:        LPTX            ANYR    ANYR    *       TEMP
        !            49:                TREG            LPTX
        !            50:                2|MMX           *
        !            51: %      PLVALUE|P_SLT
        !            52:        LPTX            ANYL    ANYL    *       TEMP
        !            53:                TREG            LPTX
        !            54:                2|MMX           *
        !            55:                        [ZINC]  [LO R]
        !            56:                        [ZINC]  [LO R]
        !            57: #endif
        !            58: 
        !            59: %      PEFFECT|PRVALUE|PSREL|P_SLT
        !            60:        WORD            ANYR    ANYR    *       TEMP
        !            61:                TREG            WORD
        !            62:                ADR|IMM         WORD
        !            63: %      PLVALUE|P_SLT
        !            64:        WORD            ANYL    ANYL    *       TEMP
        !            65:                TREG            WORD
        !            66:                ADR|IMM         WORD
        !            67:                        [ZADD]  [R],[AR]
        !            68:                [IFR]   [REL0]  [LAB]
        !            69: 
        !            70: #ifndef ONLYSMALL
        !            71: %      PEFFECT|PRVALUE|P_SLT
        !            72:        LPTX            ANYR    ANYR    *       TEMP
        !            73:                TREG            LPTX
        !            74:                ADR|IMM         WORD
        !            75: %      PLVALUE|P_SLT
        !            76:        LPTX            ANYL    ANYL    *       TEMP
        !            77:                TREG            LPTX
        !            78:                ADR|IMM         WORD
        !            79:                        [ZADD]  [LO R],[AR]
        !            80: #endif
        !            81: 
        !            82: /////////
        !            83: /
        !            84: / Index like contexts.
        !            85: / The hard tree is an integer and the
        !            86: / result is a pointer. There are a lot of
        !            87: / cases here, mainly to make sure the
        !            88: / correct segment base gets moved over to
        !            89: / the result.
        !            90: /
        !            91: /////////
        !            92: 
        !            93: #ifndef ONLYSMALL
        !            94: %      PEFFECT|PRVALUE
        !            95:        LPTX            DXAX    AX      *       TEMP
        !            96:                TREG            WORD
        !            97:                ICN|MMX         LPTX
        !            98:                        [ZADD]  [LO R],[AR]
        !            99:                        [ZSUB]  [HI R],[HI R]
        !           100: 
        !           101: %      PLVALUE
        !           102:        LPTX            ANYL    LOTEMP  AX      TEMP
        !           103:                TREG            WORD
        !           104:                ICN|MMX         LPTX
        !           105:                        [ZADD]  [LO R],[AR]
        !           106:                        [ZSUB]  [REGNO AX],[REGNO AX]
        !           107:                        [ZMOV]  [HI R],[REGNO AX]
        !           108: 
        !           109: %      PEFFECT|PRVALUE
        !           110:        LPTX            DXAX    AX      *       TEMP
        !           111:                TREG            WORD
        !           112:                LCN|MMX         LPTX
        !           113:                        [ZADD]  [LO R],[LO AR]
        !           114:                        [ZSUB]  [HI R],[HI R]
        !           115: 
        !           116: %      PLVALUE
        !           117:        LPTX            ANYL    LOTEMP  AX      TEMP
        !           118:                TREG            WORD
        !           119:                LCN|MMX         LPTX
        !           120:                        [ZADD]  [LO R],[LO AR]
        !           121:                        [ZMOV]  [REGNO AX],[HI AR]
        !           122:                        [ZMOV]  [HI R],[REGNO AX]
        !           123: 
        !           124: %      PEFFECT|PRVALUE
        !           125:        LPTX            DXAX    AX      *       TEMP
        !           126:                TREG            WORD
        !           127:                ACS|MMX         LPTX
        !           128:                        [ZADD]  [LO R],[AR]
        !           129:                        [ZMOV]  [HI R],[REGNO CS]
        !           130: 
        !           131: %      PEFFECT|PRVALUE
        !           132:        LPTX            DXAX    AX      *       TEMP
        !           133:                TREG            WORD
        !           134:                ADS|MMX         LPTX
        !           135:                        [ZADD]  [LO R],[AR]
        !           136:                        [ZMOV]  [HI R],[REGNO DS]
        !           137: 
        !           138: %      PLVALUE
        !           139:        LPTX            ANYL    LOTEMP  *       TEMP
        !           140:                TREG            WORD
        !           141:                ACS|MMX         LPTX
        !           142:                        [ZADD]  [LO R],[AR]
        !           143:                        [ZPUSH] [REGNO CS]
        !           144:                        [ZPOP]  [HI R]
        !           145: 
        !           146: %      PLVALUE
        !           147:        LPTX            ANYL    LOTEMP  *       TEMP
        !           148:                TREG            WORD
        !           149:                ADS|MMX         LPTX
        !           150:                        [ZADD]  [LO R],[AR]
        !           151:                        [ZPUSH] [REGNO DS]
        !           152:                        [ZPOP]  [HI R]
        !           153: 
        !           154: %      PEFFECT|PRVALUE
        !           155:        LPTX            DXAX    AX      *       DXAX
        !           156:                TREG            WORD
        !           157:                REG|MMX         LPTX
        !           158:                        [ZADD]  [LO R],[LO AR]
        !           159:                        [ZMOV]  [HI R],[HI AR]
        !           160: 
        !           161: %      PLVALUE
        !           162:        LPTX            ANYL    LOTEMP  *       TEMP
        !           163:                TREG            WORD
        !           164:                REG|MMX         LPTX
        !           165:                        [ZADD]  [LO R],[LO AR]
        !           166:                        [ZPUSH] [HI AR]
        !           167:                        [ZPOP]  [HI R]
        !           168: 
        !           169: %      PEFFECT|PRVALUE
        !           170:        LPTX            DXAX    AX      *       DXAX
        !           171:                TREG            WORD
        !           172:                ADR             LPTX
        !           173: %      PLVALUE
        !           174:        LPTX            ANYL    LOTEMP  *       TEMP
        !           175:                TREG            WORD
        !           176:                ADR             LPTX
        !           177:                        [ZADD]  [LO R],[LO AR]
        !           178:                        [ZMOV]  [HI R],[HI AR]
        !           179: #endif
        !           180: 
        !           181: %      PEFFECT|PRVALUE|PGE|PLT|P_SLT
        !           182:        LONG            DXAX    DXAX    *       DXAX
        !           183:                TREG            LONG
        !           184:                ADR|IMM         LONG
        !           185:                        [ZADD]  [LO R],[LO AR]
        !           186:                        [ZADC]  [HI R],[HI AR]
        !           187:                [IFR]   [REL1]  [LAB]
        !           188: 
        !           189: #ifndef ONLYSMALL
        !           190: %      PEFFECT|PRVALUE|P_SLT
        !           191:        LPTX            ANYR    ANYR    *       TEMP
        !           192:                TREG            LPTX
        !           193:                ADR|IMM         LONG
        !           194: %      PLVALUE|P_SLT
        !           195:        LPTX            ANYL    ANYL    *       TEMP
        !           196:                TREG            LPTX
        !           197:                ADR|IMM         LONG
        !           198:                        [ZADD]  [LO R],[LO AR]
        !           199: 
        !           200: %      PEFFECT|PRVALUE
        !           201:        LPTX            DXAX    DXAX    *       DXAX
        !           202:                TREG            LONG
        !           203:                ADR|IMM         LPTX
        !           204: %      PLVALUE
        !           205:        LPTX            ESAX    DXAX    *       DXAX
        !           206:                TREG            LONG
        !           207:                ADR|IMM         LPTX
        !           208:                        [ZADD]  [LO R],[LO AR]
        !           209:                        [ZMOV]  [HI R],[HI AR]
        !           210: #endif
        !           211: 
        !           212: /////////
        !           213: /
        !           214: / These special table entries make pushing offsts into structures and
        !           215: / arrays more efficient. In particular, they improve the code for some of
        !           216: / the standard I/O macros, when aimed at constant streams (like the stdin,
        !           217: / stdout and stder streams).
        !           218: /
        !           219: /////////
        !           220: 
        !           221: #ifndef ONLYSMALL
        !           222: %      PFNARG
        !           223:        LPTX            AX      *       *       NONE
        !           224:                ADR             LPTX
        !           225:                IMM|MMX         WORD
        !           226:                        [ZPUSH] [HI AL]
        !           227:                        [ZMOV]  [R],[LO AL]
        !           228:                        [ZADD]  [R],[AR]
        !           229:                        [ZPUSH] [R]
        !           230: 
        !           231: %      PFNARG
        !           232:        LPTX            AX      *       *       NONE
        !           233:                IMM|MMX         WORD
        !           234:                ADR             LPTX
        !           235:                        [ZPUSH] [HI AR]
        !           236:                        [ZMOV]  [R],[LO AR]
        !           237:                        [ZADD]  [R],[AL]
        !           238:                        [ZPUSH] [R]
        !           239: #endif
        !           240: 
        !           241: ////////
        !           242: /
        !           243: / Floating point, using the numeric
        !           244: / data coprocessor (8087).
        !           245: /
        !           246: ////////
        !           247: 
        !           248: #ifdef NDPDEF
        !           249: %      PRVALUE|P_SLT
        !           250:        FF32|FF64       FPAC    FPAC    *       FPAC
        !           251:                TREG            FF64
        !           252:                ADR             FS16
        !           253:                        [ZFADDI] [AR]
        !           254: 
        !           255: %      PRVALUE|P_SLT
        !           256:        FF32|FF64       FPAC    FPAC    *       FPAC
        !           257:                TREG            FF64
        !           258:                ADR             FS32
        !           259:                        [ZFADDL] [AR]
        !           260: 
        !           261: %      PRVALUE|P_SLT
        !           262:        FF32|FF64               FPAC    FPAC    *       FPAC
        !           263:                TREG            FF64
        !           264:                ADR             FF32
        !           265:                        [ZFADDF] [AR]
        !           266: 
        !           267: %      PRVALUE|P_SLT
        !           268:        FF32|FF64       FPAC    FPAC    *       FPAC
        !           269:                TREG            FF64
        !           270:                ADR             FF64
        !           271:                        [ZFADDD] [AR]
        !           272: #endif

unix.superglobalmegacorp.com

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