Annotation of quake2/linux/sys_dosa.s, revision 1.1

1.1     ! root        1: //
        !             2: // sys_dosa.s
        !             3: // x86 assembly-language DOS-dependent routines.
        !             4: 
        !             5: #include "qasm.h"
        !             6: 
        !             7: 
        !             8:        .data
        !             9: 
        !            10:        .align  4
        !            11: fpenv:
        !            12:        .long   0, 0, 0, 0, 0, 0, 0, 0
        !            13: 
        !            14:        .text
        !            15: 
        !            16: .globl C(MaskExceptions)
        !            17: C(MaskExceptions):
        !            18:        fnstenv fpenv
        !            19:        orl             $0x3F,fpenv
        !            20:        fldenv  fpenv
        !            21: 
        !            22:        ret
        !            23: 
        !            24: #if 0
        !            25: .globl C(unmaskexceptions)
        !            26: C(unmaskexceptions):
        !            27:        fnstenv fpenv
        !            28:        andl            $0xFFFFFFE0,fpenv
        !            29:        fldenv  fpenv
        !            30: 
        !            31:        ret
        !            32: #endif
        !            33: 
        !            34:        .data
        !            35: 
        !            36:        .align  4
        !            37: .globl ceil_cw, single_cw, full_cw, cw, pushed_cw
        !            38: ceil_cw:       .long   0
        !            39: single_cw:     .long   0
        !            40: full_cw:       .long   0
        !            41: cw:                    .long   0
        !            42: pushed_cw:     .long   0
        !            43: 
        !            44:        .text
        !            45: 
        !            46: .globl C(Sys_LowFPPrecision)
        !            47: C(Sys_LowFPPrecision):
        !            48:        fldcw   single_cw
        !            49: 
        !            50:        ret
        !            51: 
        !            52: .globl C(Sys_HighFPPrecision)
        !            53: C(Sys_HighFPPrecision):
        !            54:        fldcw   full_cw
        !            55: 
        !            56:        ret
        !            57: 
        !            58: .globl C(Sys_PushFPCW_SetHigh)
        !            59: C(Sys_PushFPCW_SetHigh):
        !            60:        fnstcw  pushed_cw
        !            61:        fldcw   full_cw
        !            62: 
        !            63:        ret
        !            64: 
        !            65: .globl C(Sys_PopFPCW)
        !            66: C(Sys_PopFPCW):
        !            67:        fldcw   pushed_cw
        !            68: 
        !            69:        ret
        !            70: 
        !            71: .globl C(Sys_SetFPCW)
        !            72: C(Sys_SetFPCW):
        !            73:        fnstcw  cw
        !            74:        movl    cw,%eax
        !            75: #if    id386
        !            76:        andb    $0xF0,%ah
        !            77:        orb             $0x03,%ah       // round mode, 64-bit precision
        !            78: #endif
        !            79:        movl    %eax,full_cw
        !            80: 
        !            81: #if    id386
        !            82:        andb    $0xF0,%ah
        !            83:        orb             $0x0C,%ah       // chop mode, single precision
        !            84: #endif
        !            85:        movl    %eax,single_cw
        !            86: 
        !            87: #if    id386
        !            88:        andb    $0xF0,%ah
        !            89:        orb             $0x08,%ah       // ceil mode, single precision
        !            90: #endif
        !            91:        movl    %eax,ceil_cw
        !            92: 
        !            93:        ret
        !            94: 

unix.superglobalmegacorp.com

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