Annotation of os2sdk/startup/crt0fp.asm, revision 1.1.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.