中颖《8-32位混合运算》定点运算程序库 清单如下:
/***************************************************************************************
Model : global.h
Description : Head file of defining global variable.
Author : CLR
Create Time : 2011-09-12
Version ID : 0.2
用 途 :中颖SH79/88/89F51系列MCU
作 者 :许意义
21ic ID :LAOXU
中颖论坛 : bbs.21ic.com
****************************************************************************************/
#IFndef _GLOBAL_H
#define _GLOBAL_H
/*--------------------------------------------------------------------------------------*/
/* Resource - math.asm */
/*--------------------------------------------------------------------------------------*/
extern Byte bcd8_hex(Byte value1); // 8位 BCD --> 8位 HEX
extern Word bcd16_hex(Word value1); // 16位 BCD -->16位 HEX
extern Dword bcd32_hex(Dword value1); // 32位 BCD -->32位 HEX
extern Word hex8_bcd(Byte value1); // 8位 HEX -->16位 BCD
extern Dword hex16_bcd(Word value1); // 16位 HEX -->32位 BCD
extern Dword hex32_bcd(Dword value1); // 32位 HEX -->32位 BCD
extern Dword mul8_16(Byte value1,Word value2); // 8位*16位-->32位(HEX乘法)
extern Dword mul8_32(Byte value1,Dword value2); // 8位*32位-->32位(HEX乘法)
extern Dword mul16(Word value1,Word value2); // 16位*16位-->32位(HEX乘法)
extern Dword mul16_32(Word value1,Dword value2); // 16位*32位-->32位(HEX乘法)
extern Dword mul32(Dword value1,Dword value2); // 32位*32位-->32位(HEX乘法)
extern Word div16_8(Word value1,Byte value2); // 16位/ 8位-->16位(HEX除法)
extern Word div16(Word value1,Word value2); // 16位/16位-->16位(HEX除法)
extern Dword div32_8(Dword value1,Byte value2); // 32位/ 8位-->32位(HEX除法)
extern Dword div32_16(Dword value1,Word value2); // 32位/16位-->32位(HEX除法)
extern Dword div32(Dword value1,Dword value2); // 32位/32位-->32位(HEX除法)
extern Byte mod8(Byte value1,Byte value2); // 8位% 8位--> 8位(取余数)
extern Byte mod16_8(Word value1,Byte value2); // 16位% 8位--> 8位(取余数)
extern Word mod16(Word value1,Word value2); // 16位%16位-->16位(取余数)
extern Byte mod32_8(Dword value1,Byte value2); // 32位% 8位--> 8位(取余数)
extern Word mod32_16(Dword value1,Word value2); // 32位%16位-->16位(取余数)
extern Dword mod32(Dword value1,Dword value2); // 32位%32位-->32位(取余数)
#endif
|