Annotation of coherent/b/bin/c/n1/i386/tables/mul.t, revision 1.1.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.