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

📄 hamaro_bcd.h

📁 机顶盒Hamaro解调器驱动。包含自动搜台
💻 H
字号:
/* hamaro_bcd.h */

/*+++ *******************************************************************\
*
*   Copyright and Disclaimer:
*
*       ---------------------------------------------------------------
*       ALL SOFTWARE, APPLICATIONS, DOCUMENTATION, OR MATERIALS        
*       FURNISHED HEREIN IS PROVIDED *AS IS*.  CONEXANT DOES NOT MAKE  
*       ANY WARRANTIES, EITHER EXPRESS OR IMPLIED, AND HEREBY EXPRESSLY
*       DISCLAIMS ANY AND ALL SUCH WARRANTIES TO THE EXTENT PERMITTED  
*       BY LAW, INCLUDING, SPECIFICALLY, ANY IMPLIED WARRANTY ARISING  
*       BY STATUTE OR OTHERWISE IN LAW OR FROM A COURSE OF DEALING OR  
*       USAGE OF TRADE.  CONEXANT DOES NOT MAKE ANY WARRANTIES, EITHER 
*       EXPRESS OR IMPLIED, AND HEREBY EXPRESSLY DISCLAIMS ANY AND ALL 
*       SUCH WARRANTIES WITH RESPECT TO ALL SOFTWARE, APPLICATIONS,    
*       DOCUMENTATION, AND MATERIALS INCLUDING ALL IMPLIED WARRANTIES  
*       OF MERCHANTABILITY, OR OF MERCHANTABLE QUALITY, OR OF FITNESS  
*       FOR ANY PURPOSE, PARTICULAR, SPECIFIC OR OTHERWISE, OR OF      
*       NONINFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OF OTHERS,     
*       RELATING TO THE SOFTWARE, APPLICATIONS, OPERATION,             
*       DOCUMENTATION, DATA OR RESULTS GENERATED BY THE OPERATION OR   
*       USE THEREOF, AND MATERIALS PROVIDED HEREIN.  THE ENTIRE RISK AS
*       TO THE SUBSTANCE, QUALITY AND PERFORMANCE OF SOFTWARE,         
*       APPLICATIONS, AND DOCUMENTATION DESCRIBING SUCH SOFTWARE       
*       REMAINS WITH THE BUYER.                                        
*                                                                      
*       REGARDLESS OF WHETHER ANY REMEDY SET FORTH HEREIN FAILS OF ITS 
*       ESSENTIAL PURPOSE OR OTHERWISE, CONEXANT SHALL NOT BE LIABLE   
*       FOR ANY EXEMPLARY, SPECIAL, PUNITIVE, SPECULATIVE, INDIRECT,   
*       CONSEQUENTIAL OR INCIDENTAL DAMAGES OF ANY KIND (INCLUDING     
*       WITHOUT LIMITATION LOST PROFITS, LOSS OF INCOME, LOSS OF       
*       GOODWILL, OR OTHER TANGIBLE OR INTANGIBLE BUSINESS LOSS)       
*       ARISING OUT OF OR IN CONNECTION WITH, DIRECTLY OR INDIRECTLY,  
*       SOFTWARE, APPLICATIONS, DOCUMENTATION, OR ANY SERVICES OR      
*       MATERIALS PROVIDED HEREUNDER, OR USE OR INABILITY TO USE THE   
*       SOFTWARE, EVEN IF CONEXANT HAS BEEN ADVISED OF THE POSSIBILITY 
*       OF SUCH DAMAGES.                                               
*
*       Copyright (c) 2001 Conexant Systems, Inc.
*       All Rights Reserved.
*       ---------------------------------------------------------------
*
*   Module Revision Id:
*
*       $Header: hamaro_bcd.h, 1, 2005-12-27 1:09:28, Sunbey (VSS Migration)$
*
*   Abstract:
*
*       Contains BCD function prototypes.
*
\******************************************************************* ---*/

#ifndef HAMARO_BCD_H_DEFINED
#define HAMARO_BCD_H_DEFINED

#include "hamaro_defs.h"

/*******************************************************************************************************/
/* HAMARO_BCDNO */
/*******************************************************************************************************/
typedef struct HAMARO_BCDNO
{                                      /* binary-coded-decimal struct */
  signed char  sign[1];                /* size: '-' if negative value */
  signed char  digits[HAMARO_MAX_BCDNO+1];    /* storage for bcd number */
}HAMARO_BCDNO;

/*******************************************************************************************************/
/* BCD Prototypes */
/*******************************************************************************************************/
void   HAMARO_BCD_set(HAMARO_BCDNO *bcdno, unsigned long newval);
void   HAMARO_BCD_add(HAMARO_BCDNO *bcd, unsigned long add);
void   HAMARO_BCD_add_bcd(HAMARO_BCDNO *bcd, HAMARO_BCDNO *bcdtoadd);
void   HAMARO_BCD_mult(HAMARO_BCDNO *bcdtodiv, unsigned long multby);
void   HAMARO_BCD_mult_bcd(HAMARO_BCDNO *bcd, HAMARO_BCDNO *bcdmultby);
void   HAMARO_BCD_div_bcd(HAMARO_BCDNO *bcdtodiv, HAMARO_BCDNO *bcd);
void   HAMARO_BCD_div(HAMARO_BCDNO *bcd, unsigned long divby);
unsigned long  HAMARO_BCD_out(HAMARO_BCDNO *bcd);
BOOL   HAMARO_BCD_zero(HAMARO_BCDNO *bcd);
void   _HAMARO_BCD_adjust_improved(HAMARO_BCDNO *bcd,int ledge);
void   HAMARO_BCD_move_bcd(HAMARO_BCDNO *bcd, HAMARO_BCDNO *bcdsource);
void   _HAMARO_BCD_div_ten(HAMARO_BCDNO *bcd);
void   _HAMARO_BCD_mult_ten(HAMARO_BCDNO *bcd);
void   _HAMARO_BCD_mult_bcd_ones(HAMARO_BCDNO *bcd, char digit);
void   _HAMARO_BCD_div_bcd_ones(HAMARO_BCDNO *bcd, char digit);
int    HAMARO_BCD_compare(HAMARO_BCDNO *bcd, HAMARO_BCDNO *bcd2);
void   HAMARO_BCD_subt_bcd(HAMARO_BCDNO *bcd, HAMARO_BCDNO *subt);
void   HAMARO_BCD_subt(HAMARO_BCDNO *bcd, unsigned long subt);
HAMARO_BCDNO  *HAMARO_BCD_abs(HAMARO_BCDNO *bcd);
BOOL   HAMARO_BCD_highdigit(HAMARO_BCDNO *bcd, int idx);
void   _HAMARO_BCD_neg(HAMARO_BCDNO *bcd, int idx);
BOOL   HAMARO_BCD_leading_low(HAMARO_BCDNO *bcdno);
void   HAMARO_BCD_test(void);
void   HAMARO_BCD_print(HAMARO_BCDNO *bcd);

/*******************************************************************************************************/
/* BCD Macros (3-4-02 moved from cobra_defs.h file) */
/*******************************************************************************************************/
#define HAMARO_BCD_clear(a)     (HAMARO_BCD_set((a),0L))
#define HAMARO_BCD_sign(a)      (HAMARO_BCD_getsign(a))
#define HAMARO_BCD_getsign(a)   ((signed int)((a)->sign[0] == '-' ? -1 : 1))
#define HAMARO_BCD_setsign(a,b) ((a)->sign[0] = (signed char)((b) < 0 ? '-' : '+'))
#define _HAMARO_BCD_lsd(a)      ((a)->digits[HAMARO_MAX_BCDNO-1])                        /* least-significant-digit */
#define HAMARO_BCD_incr(a)      ((_HAMARO_BCD_lsd(a) = (signed char)(_HAMARO_BCD_lsd(a)+HAMARO_BCD_sign(a))),(_HAMARO_BCD_adjust(a)))
#define HAMARO_BCD_decr(a)      ((_HAMARO_BCD_lsd(a) = (signed char)(_HAMARO_BCD_lsd(a)-HAMARO_BCD_sign(a))),(_HAMARO_BCD_adjust(a)))

#endif  /* #ifndef HAMARO_BCD_H_DEFINED */
/* CR 9509 : Add an extra newline */

⌨️ 快捷键说明

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