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

📄 envind.h

📁 中国石油二期加油站IC系统后台通讯软件
💻 H
📖 第 1 页 / 共 2 页
字号:
#define A_UP_R       0x52        /* R - upper case */
#define A_UP_S       0x53        /* S - upper case */
#define A_UP_T       0x54        /* T - upper case */
#define A_UP_U       0x55        /* U - upper case */
#define A_UP_V       0x56        /* V - upper case */
#define A_UP_W       0x57        /* W - upper case */
#define A_UP_X       0x58        /* X - upper case */
#define A_UP_Y       0x59        /* Y - upper case */
#define A_UP_Z       0x5A        /* Z - upper case */
#define A_BKSL       0x5C        /* backslash */
#define A_LW_A       0x61        /* a - lower case */
#define A_LW_B       0x62        /* b - lower case */
#define A_LW_C       0x63        /* c - lower case */
#define A_LW_D       0x64        /* d - lower case */
#define A_LW_E       0x65        /* e - lower case */
#define A_LW_F       0x66        /* f - lower case */
#define A_LW_G       0x67        /* g - lower case */
#define A_LW_H       0x68        /* h - lower case */
#define A_LW_I       0x69        /* i - lower case */
#define A_LW_J       0x6A        /* j - lower case */
#define A_LW_K       0x6B        /* k - lower case */
#define A_LW_L       0x6C        /* l - lower case */
#define A_LW_M       0x6D        /* m - lower case */
#define A_LW_N       0x6E        /* n - lower case */
#define A_LW_O       0x6F        /* o - lower case */
#define A_LW_P       0x70        /* p - lower case */
#define A_LW_Q       0x71        /* q - lower case */
#define A_LW_R       0x72        /* r - lower case */
#define A_LW_S       0x73        /* s - lower case */
#define A_LW_T       0x74        /* t - lower case */
#define A_LW_U       0x75        /* u - lower case */
#define A_LW_V       0x76        /* v - lower case */
#define A_LW_W       0x77        /* w - lower case */
#define A_LW_X       0x78        /* x - lower case */
#define A_LW_Y       0x79        /* y - lower case */
#define A_LW_Z       0x7A        /* z - lower case */
#define A_DEL        0x7F        /* delete */
#define A_INVCHR     0xFF        /* invalid */

#define IA5MAX       128         /* maximum number of ASCII characters */
 
  
/* general macros */
  
#ifdef MIN
#undef MIN
#define MIN(x, y) ((x) > (y) ? (y) : (x))            /* get minimum value */
#else
#define MIN(x, y) ((x) > (y) ? (y) : (x))            /* get minimum value */
#endif /* MIN */

#ifdef MAX
#undef MAX
#define MAX(x, y) ((x) > (y) ? (x) : (y))            /* get maximum value */
#else
#define MAX(x, y) ((x) > (y) ? (x) : (y))            /* get maximum value */
#endif /* MAX */

#ifdef ABS
#undef ABS
#define ABS(x) ((x) < 0 ? -(x) : x)                  /* absolute value */
#else
#define ABS(x) ((x) < 0 ? -(x) : x)                  /* absolute value */
#endif /* ABS */

/* RG: changed the order of parentheses to make the casts more accurate */

#define GetHiByte(w)   (((U16)(w) >> 8) & 0xff)      /* get hi byte from word */
#define GetLoByte(w)   ((U16)(w) & 0xff)             /* get lo byte from word */
#define GetHiWord(l)   (((U32)(l) >> 16) & 0xffffL)  /* get hi word of long */
#define GetLoWord(l)   ((U32)(l) & 0xffffL)          /* get lo word of long */

/* RG: changed put macros so the target does not have to be cleared before use */

#define PutHiByte(w,b) (U16) (((U16)(b) << 8) | ((U16)(w) & 0x00ff))      /* put hi byte to word */
#define PutLoByte(w,b) (U16) (((U16)(b) & 0xff) | ((U16)(w) & 0xff00))             /* put lo byte to word */
#define PutHiWord(l,w) (U32) (((U32)(w) << 16) | ((U32)(l) & (U32)0x0000ffff)) /* put hi word to long */
#define PutLoWord(l,w) (U32) (((U32)(w) & 0xffff) | ((U32)(l) & (U32)0xffff0000))         /* put lo word to long */

#define Char(c)        ((c) & 0x7f)             /* truncate to 7 bits */
#define Byte(c)        ((c) & 0xff)             /* truncate to 8 bits */
#define Word(c)        ((c) & 0xffffL)          /* truncate to 16 bits */
  
#define IsOdd(c)   (((c % 2) == 1) ? TRUE:FALSE)
#define IsEven(c)  (((c % 2) == 0) ? TRUE:FALSE)

#define StripPar(c)    ((c) & 0x7f)

 
/* ASCII character set macros */
  
#define AIsUpper(c)    ((c>=A_UP_A) && (c<=A_UP_Z))
#define AIsLower(c)    ((c>=A_LW_A) && (c<=A_LW_Z))
#define AIsAlpha(c)    (AIsUpper(c) || AIsLower(c))
#define AIsDigit(c)    ((c>=A_0) && (c<=A_9))
#define AIsSpace(c)    ((c==A_SP) || (c==A_HT) || (c==A_LF))
#define AIsWhite(c)    ((c==A_SP) || (c==A_HT) || (c==A_LF))
#define AToUpper(c)    (AIsLower(c) ? (c+A_UP_A-A_LW_A):(c))
#define AToLower(c)    (AIsUpper(c) ? (c+A_LW_A-A_UP_A):(c))
  
#define AIsAscii(c)    ((c>=A_SP) && (c<A_DEL))
#define AIsXupper(c)   ((c>=A_UP_A) && (c<=A_UP_F))
#define AIsXlower(c)   ((c>=A_LW_A) && (c<=A_LW_F))
#define AIsXdigit(c)   (AIsDigit(c) || AIsXupper(c) || AIsXlower(c))
#define AIsCntrl(c)    (((c>=A_NULL) && (c<A_SP)) || (c==A_DEL))
  
#define ACmdDelim(c)   ((c == A_CR) || (c == A_PLUS))

#endif
  
/********************************************************************30**
  
         End of file: envind.h 1.20  -  02/24/99 16:06:25
  
*********************************************************************31*/


/********************************************************************40**
  
        Notes:
  
*********************************************************************41*/

/********************************************************************50**

*********************************************************************51*/

   
/********************************************************************60**
  
        Revision history:
  
*********************************************************************61*/
  
/********************************************************************70**
  
  version    initials                   description
-----------  ---------  ------------------------------------------------
1.1.0.0         jrl     1. initial release.

1.2.0.0         jrl     1. miscellaneous changes.

1.3.0.0         jrl     1. change ENVIND define to __ENVIND__ to be
                           consistent with other common files.

1.4.0.0         jrl     1. text changes
  
1.5             jrl     1. trillium development system checkpoint (dvs)
                           at version: 1.4.0.0

1.6             jrl     1. text change
                        2. add (U32) in PutHiWord macro

1.7             nkk     1. add correct cast "(U16)" for PutHiByte, cast
                           "(U16)" for PutLoByte, and cast "(U32)" for
                           PutLoWord.

1.8             jrl     1. cast all Get macros to unsigned

*********************************************************************71*/

/********************************************************************80**

  version    pat  init                   description
----------- ----- ----  ------------------------------------------------
1.9          ---  jrl   1. text changes

1.10         ---  jrl   1. add MIN and MAX macros

1.11         ---  jrl   1. text changes

1.12         ---  lc    1. test changes

1.13         ---  rg    1. changed Put* macros, so the target does not
                           have to be cleared before using these macros.
             ---  rg    2. changed the order of parentheses in Get*
                           macros so the casts are more accurate.

1.14         ---  nkk   1. add absolute value macro

1.15         ---  fmg   1. added ifdefs around defines that might 
                           conflict with other system header files
             ---        2. changed Put/Get macros to cast constants
                           appropriately.

1.16         ---  rg    1. added cast to Put* macros to remove compiler
                           warnings.

1.17         ---  mb    1. Removed the extension L from PutHiByte, 
                           PutLoByte, PutHiWord, PutLoWord


*********************************************************************81*/

/********************************************************************90**
 
     ver       pat    init                  description
------------ -------- ---- ----------------------------------------------
1.18         ---      apr  1. Fixed sign extension bug in PutLoByte and
                              PutLoWord.

1.19         ---      bbk  1. Changed copyright header date.
  
1.20         ---      tej  1. Change in header

*********************************************************************91*/

⌨️ 快捷键说明

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