home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s081 / 1.img / FPAL51.H < prev    next >
Encoding:
Text File  |  1991-05-25  |  2.1 KB  |  87 lines

  1. /************** 8051 FLOATING-POINT ARITHMETIC LIBRARY *******************
  2.        VER 1.00 --- 12-19-1989
  3.  
  4.  
  5. ********************FORMAT OF DOUBLE FLOAT POINT NUMBER *****************
  6.  
  7.  
  8.        | SIGN | EXPONENT | FRACTION |
  9.           63     52        0
  10.  
  11.        WHERE:
  12.            SIGN: SIGN OF THE BOUBLE (BIT 63,LENGTH=1 BIT)
  13.            EXPONENT:EXPONENT OF THE DOUBLE (BIT52-BIT62,LENGTH=11 BITS)
  14.            FRACTION:FRACTION OF THE DOUBLE (BIT0-BIT51,LENGTH=52 BITS)
  15.  
  16. *************************************************************************  /
  17. DECLARE
  18.      FP_OP0(8) BYTE EXTERNAL,
  19.      FP_OP1(8) BYTE EXTERNAL,
  20.      FP_ACC(8) BYTE EXTERNAL,
  21.      FP_CY       BIT    EXTERNAL,
  22.      FP_Z       BIT    EXTERNAL,
  23.      FP_OV       BIT    EXTERNAL,
  24.      FP_DV       BIT    EXTERNAL,
  25.      FP_SN0    BIT    EXTERNAL,
  26.      FP_SN1    BIT    EXTERNAL,
  27.      FP_SN       BIT    EXTERNAL;
  28.  
  29. DECLARE
  30.      M_MAIN    LITERALLY      '0',
  31.      M_CONST   LITERALLY      '1',
  32.      M_AUXI    LITERALLY      '2',
  33.  
  34.      D_BYTE    LITERALLY      '0',
  35.      D_SINT    LITERALLY      '1',
  36.      D_WORD    LITERALLY      '2',
  37.      D_INT       LITERALLY      '3',
  38.      D_DWORD   LITERALLY      '4',
  39.      D_LINT    LITERALLY      '5',
  40.      D_FLOAT   LITERALLY      '6',
  41.      D_DOUBLE  LITERALLY      '7',
  42.      D_LONG    LITERALLY      '8',
  43.      D_DATE    LITERALLY      '9',
  44.      D_STR       LITERALLY      '10';
  45.  
  46. FP_ADD:  PROCEDURE EXTERNAL;      /*FP_OP0+FP_OP1->FP_ACC*/
  47.      END FP_ADD;
  48.  
  49. FP_SUB:  PROCEDURE EXTERNAL;      /*FP_OP0-FP_OP1->FP_ACC*/
  50.      END FP_SUB;
  51.  
  52. FP_MUL:  PROCEDURE EXTERNAL;      /*FP_OP0*FP_OP1->FP_ACC*/
  53.      END FP_MUL;
  54.  
  55. FP_DIV:  PROCEDURE EXTERNAL;      /*FP_OP0/FP_OP1->FP_ACC*/
  56.      END FP_DIV;
  57.  
  58. FP_BTOF: PROCEDURE EXTERNAL;
  59.      END FP_BTOF;
  60.  
  61. FP_WTOF: PROCEDURE EXTERNAL;
  62.      END FP_WTOF;
  63.  
  64. FP_DWTOF: PROCEDURE EXTERNAL;
  65.      END FP_DWTOF;
  66.  
  67. FP_PTOD: PROCEDURE EXTERNAL;
  68.      END FP_PTOD;
  69.  
  70. FP_COMP: PROCEDURE EXTERNAL;
  71.      END FP_COMP;
  72.  
  73. FP_ACCCLR: PROCEDURE EXTERNAL;
  74.      END FP_ACCCLR;
  75.  
  76. FP_RLC: PROCEDURE(PTR,BYTE_LEN,BIT_LEN) EXTERNAL;
  77.     DECLARE (PTR,BYTE_LEN,BIT_LEN) BYTE;
  78.     END FP_RLC;
  79.  
  80. FP_RRC: PROCEDURE(PTR,BYTE_LEN,BIT_LEN) EXTERNAL;
  81.     DECLARE (PTR,BYTE_LEN,BIT_LEN) BYTE;
  82.     END FP_RRC;
  83.  
  84. FP_TZ: PROCEDURE(PTR) EXTERNAL;
  85.     DECLARE PTR BYTE;
  86.     END FP_TZ;
  87.