VMS Help
MACRO, VAX MACRO Assembler, Instructions, EMODx

 *Conan The Librarian (sorry for the slow response - running on an old VAX)

    Purpose:        Extended multiply and integerize - perform accurate
                    range reduction of math function arguments
    Format:         opcode mulr.rx,mulrx.rb,muld.rx,int.wl,fract.wx
    Operation:      int = {integer part of muld * {mulr'mulrx}};
                    frac = {fractional part of muld * {mulr'mulrx}}
    C. Codes:       N = {fract LSS 0}, Z = {fract EQL 0},
                    V = {integer overflow}, C = 0
    Exceptions:     Integer or floating overflow, divide by zero
    Opcodes:        54    EMODF    Ext. mul., integerize F_floating
                    74    EMODD    Ext. mul., integerize D_floating
                    54FD  EMODG    Ext. mul., integerize G_floating
                    74FD  EMODH    Ext. mul., integerize H_floating
    Description:    The floating multiplier extension mulrx is concatenated
                    with the floating point multiplier (mulr) to gain eight
                    additional low order fraction bits. This is then
                    multiplied by muld. After multiplication, the integer
                    portion is extracted and a floating point number is
                    formed from the fractional part by truncating extra
                    bits. The integer part is placed in int and the
                    fractional part in frac.
  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.