Annotation of os2sdk/startup/crt0fp.asm, revision 1.1

1.1     ! root        1:        TITLE   crt0fp - floating point not loaded trap
        !             2: ;***
        !             3: ;crt0fp.asm - floating point not loaded trap
        !             4: ;
        !             5: ;      Copyright (c) 1986-1987, Microsoft Corporation, All Rights Reserved
        !             6: ;
        !             7: ;Purpose:
        !             8: ;      To trap certain cases where certain necessary floating-point
        !             9: ;      software is not loaded.  Two specific cases are when 87.LIB
        !            10: ;      is linked in but no coprocessor is present, and when floating
        !            11: ;      point i/o conversions are done, but no floating-point variables
        !            12: ;      or expressions are used in the program.
        !            13: ;
        !            14: ;*******************************************************************************
        !            15: 
        !            16: ?DF=   1                       ; this is special for c startup
        !            17: include        version.inc
        !            18: .xlist
        !            19: include        cmacros.inc
        !            20: .list
        !            21: 
        !            22: createSeg _TEXT, code, word,   public, CODE,   <>
        !            23: createSeg _DATA, data, word,   public, DATA,   DGROUP
        !            24: 
        !            25: createSeg HDR, nhdr,   byte,   public, MSG,    DGROUP
        !            26: createSeg MSG, nmsg,   byte,   public, MSG,    DGROUP
        !            27: createSeg PAD, npad,   byte,   common, MSG,    DGROUP
        !            28: createSeg EPAD,        nepad,  byte,   common, MSG,    DGROUP
        !            29: 
        !            30: defGrp DGROUP                  ; define DGROUP
        !            31: 
        !            32: 
        !            33: ;      Messages used by _fptrap
        !            34: 
        !            35: sBegin nmsg
        !            36: assumes        ds,data
        !            37:        dw      2
        !            38:        db      'R6002',13,10,'- floating point not loaded',13,10,0
        !            39: sEnd
        !            40: 
        !            41: sBegin npad
        !            42: assumes        ds,data
        !            43:        dw      -1
        !            44: ; no padding for now;
        !            45: ; MAX padding would be
        !            46: ;      db      22 dup(0)
        !            47: sEnd
        !            48: 
        !            49: sBegin code
        !            50: assumes        cs,code
        !            51: 
        !            52: externNP _amsg_exit
        !            53: 
        !            54: page
        !            55: ;***
        !            56: ;_fptrap - trap for missing floating-point software
        !            57: ;
        !            58: ;Purpose:
        !            59: ;      Catches these cases of incomplete f.p. software linked into a program.
        !            60: ;
        !            61: ;      (1) 87.LIB chosen, but no coprocessor present;
        !            62: ;          (i.e., emulator not linked)
        !            63: ;
        !            64: ;      (2) "%e", "%f", and "%g" i/o conversion formats specified, but
        !            65: ;          not all conversion software has been linked in, because the
        !            66: ;          program did not use any floating-point variables or expressions.
        !            67: ;
        !            68: ;Entry:
        !            69: ;      None.
        !            70: ;
        !            71: ;Exit:
        !            72: ;      None.
        !            73: ;
        !            74: ;Uses:
        !            75: ;      AX.
        !            76: ;
        !            77: ;Exceptions:
        !            78: ;      Transfers control to _amsg_exit which ...
        !            79: ;      - Writes error message to standard error:  "floating point not loaded";
        !            80: ;      - Terminates the program by calling _exit().
        !            81: ;*******************************************************************************
        !            82: 
        !            83: labelNP        <PUBLIC,_fptrap>
        !            84:        mov     ax,2            ; issue floating point not loaded
        !            85:        jmp     _amsg_exit      ;   and die
        !            86: 
        !            87: sEnd   code
        !            88: 
        !            89:        end

unix.superglobalmegacorp.com

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