⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fpal96.h

📁 电力变电站RTU监控软件(80C196NT单片机) 遥控
💻 H
字号:
/* fpal96.h
 * Copyright (c) 1990 Intel Corporation, ALL RIGHTS RESERVED.
 *
 * fpal96.h  - 8096 floating-point arithmetic library functions
 */

#ifndef _fpal96h 
#define _fpal96h

#pragma fixedparams(fpinit, fpldcw, fpstcw, fpstsw, fpcleb, fpsave)
#pragma fixedparams(fprstor, fpseteh)
#pragma fixedparams(fpldz, fpld1, fpld, fpldint, fplddec)
#pragma fixedparams(fpst, fpstint, fpstdec)
#pragma fixedparams(fpneg, fpabs, fpsqrt, fprndint)
#pragma fixedparams(fpadd, fpsub, fpmul, fpdiv, fprem, fpcomps, fpcompq)

typedef  struct savearea {
                         unsigned int  Status_Word;
                         void          (*Err_Handl_Addr)();
                         unsigned int  Control_Word;
                         unsigned char Local_Data[60];
                         }  SaveArea;

typedef  struct info {
                     unsigned int  Status_Word;
                     void          *Param_p;
                     unsigned char Prem_Result[5];
                     unsigned char OPERATION;
                     float         FPACC;
                     }  Info;

typedef  unsigned char  Result[5];

typedef struct decimal_type {
                            long         mantissa;
                            signed char  exponent;
                            }  DecimalType;

/* OPERATION Codes */
#define ABS_OP       8
#define ADD_OP       11
#define COMPQ_OP     17
#define COMPS_OP     16
#define DIV_OP       14
#define LDDEC_OP     3
#define LDINT_OP     2
#define LD_OP        1
#define MUL_OP       13
#define NEG_OP       7
#define REM_OP       15
#define RNDINT_OP    10
#define SQRT_OP      9
#define STDEC_OP     6
#define STINT_OP     5
#define ST_OP        4
#define SUB_OP       12


/* administrative functions */
void fpinit(void);
void fpldcw(unsigned int );
unsigned int fpstcw(void);
unsigned int fpstsw(void);
void fpcleb(unsigned char );
void fpsave(SaveArea *);
void fprstor(SaveArea *);
void fpseteh(void (*ErrorHandler)(Info *, Result *));

/* load operations */
void fpldz(void);
void fpld1(void);
void fpld(float );
void fpldint(long );
void fplddec(short , DecimalType *);

/* store operations */
float fpst(void);
long  fpstint(void);
void  fpstdec(short , DecimalType *);

/* unary operations */
void fpneg(void);
void fpabs(void);
void fpsqrt(void);
void fprndint(void);

/* binary operations */
void fpadd(float);
void fpsub(float);
void fpmul(float);
void fpdiv(float);
void fprem(float);
void fpcomps(float);
void fpcompq(float);

#endif /* _fpal96h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -