Annotation of coherent/b/bin/c/n1/i386/tables/mul.t, revision 1.1

1.1     ! root        1: //////////
        !             2: / n1/i386/tables/mul.t
        !             3: //////////
        !             4: 
        !             5: /////////
        !             6: /
        !             7: / Multiplication (*).
        !             8: / Immediate byte operands use the three-operand multiply immediate form.
        !             9: / Otherwise, the multiply is done in EDX:EAX.
        !            10: / The multiply instruction does not set any flags.
        !            11: / Signed multiply should use the new i386 two-operand MUL
        !            12: / but currently does not.
        !            13: /
        !            14: /////////
        !            15: 
        !            16: MUL:
        !            17: 
        !            18: / Long * byte constant.
        !            19: %      PEFFECT|PVALUE
        !            20:        DWORD           ANYR    *       *       TEMP
        !            21:                ADR             LONG
        !            22:                SBYTE|MMX       LONG
        !            23:                        [ZIMULI]        [R],[AL],[AR]
        !            24: 
        !            25: / Long * long.
        !            26: %      PEFFECT|PVALUE
        !            27:        DWORD           EDXEAX  EAX     *       EAX
        !            28:                TREG            LONG
        !            29:                ADR             LONG
        !            30:                        [TL ZIMUL]      [AR]
        !            31: 
        !            32: //////////
        !            33: / Floating point.
        !            34: //////////
        !            35: 
        !            36: / DECVAX or IEEE software floating point.
        !            37: / Double * double.
        !            38: %      PEFFECT|PVALUE|P_SLT|PDECVAX|PIEEE
        !            39:        FF64            EDXEAX  EDXEAX  *       TEMP
        !            40:                TREG            FF64
        !            41:                ADR|IMM         FF64
        !            42:                        [ZPUSH] [HI AR]
        !            43:                        [ZPUSH] [LO AR]
        !            44:                        [ZCALL] [GID _dmul]
        !            45:                        [ZADD]  [REGNO ESP],[CONST 8]
        !            46: 
        !            47: / Hardware coprocessor (NDP) floating point.
        !            48: %      PVALUE|P_SLT|PNDP
        !            49:        FLOAT           FPAC    FPAC    *       FPAC
        !            50:                TREG            FF64
        !            51:                ADR             NDPARG
        !            52:                        [TR ZFMULD] [AR]
        !            53: 
        !            54: //////////
        !            55: / end of n1/i386/tables/mul.t
        !            56: //////////

unix.superglobalmegacorp.com

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