/*---------------------------------------------------------------------------- HotC51宏汇编数组定义头文件(hotmacro.h V1.09) 最初建立时间: 2009.2.18 最近修改时间: 2009.3.10 增 添原 因: 为全面支持裸奔式实时操作系统HotTask51做准备 hotmacro.h宣告“宏C”计划开始, 支持Keil C51带参数输入输出的"汇编数组之过程与函数"。 HotC51使用宏汇编数组可以方便地与Keil C51“通讯” 应 用: 可以用COM接口技术对HotC51汇编数组进行封装 macro_Function_Arg3 (CRCR8, macro_U8_arg1, macro_U8_arg2, macro_U8_arg3) { #define CRCR8_LOOP -15 #define CRCR8_NEXT size_XRL_A_Rn() asm_MOV_B(8),//设置8位计数器 //CRCR8_LOOP: asm_MOV_A_Rn(macro_U8_arg3),//取明文 asm_XRL_A_Rn(macro_U8_arg1),//异或初值 asm_RRC_A(),//右移CRC8一位,注意ACC.0移入CY asm_MOV_A_Rn(macro_U8_arg1),//再取初值 asm_JNC(CRCR8_NEXT),//CY为0不异或权,跳过下句 asm_XRL_A_Rn(macro_U8_arg2),//异或权 //CRC8R_NEXT: asm_RRC_A(),//将CY移入ACC.7 asm_MOV_Rn_A(macro_U8_arg1),//保存本次结果 asm_MOV_A_Rn(macro_U8_arg3),//再取明文 asm_RR_A(),//准备下一位 asm_MOV_Rn_A(macro_U8_arg3),//保存明文,注意已改变 asm_DJNZ_B(CRCR8_LOOP),//未完继续到CRCR8_LOOP macro_return(), }; 未 来计 划: 首先将HotC51汇编数组做成比宏汇编更好用的接近C习惯. 逐步完善,最终全面到达“宏C”之目标。 菜农HotPower@126.com 2008.3.10 18:58 于西安大雁塔村农会 -----------------------------------------------------------------------------*/ #ifndef __HOTMACRO_H__ #define __HOTMACRO_H__ #ifdef __cplusplus extern "C" { #endif
#include "hotregx52.h" #include "hotasm.h" #include "hottask51.h"
/*-------------------------------------------- 汇编数组定义 --------------------------------------------*/ typedef code const unsigned char HotASM_ARRAY;//类型定义 /*-------------------------------------------- 汇编数组"函数"支持8/16/32为的C51函数 --------------------------------------------*/
#define HotASM(name) HotASM_ARRAY(name)[]= #define define_HotASM(name) HotASM_ARRAY(name)[] #define extern_HotASM(name) extern HotASM_ARRAY(name)[]
/* #define HotASM(name) HotASM_ARRAY name[]= #define define_HotASM(name) HotASM_ARRAY name[] #define extern_HotASM(name) extern HotASM_ARRAY name[] */ /*-------------------------------------------- 汇编数组"函数"返回类型 --------------------------------------------*/ #define macro_U8_Result HotASM_R7// #define macro_U16_Result HotASM_R6R7//MSB in R6, LSB in R7 #define macro_U32_Result HotASM_R4R7//MSB in R4, LSB in R7 #define macro_Float_Result HotASM_R4R7//32-Bit IEEE format #define macro_Ptr_Result HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1 #define macro_P8_Result HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1 #define macro_P16_Result HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1 #define macro_P32_Result HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1
#define macro_U16H_Result HotASM_R6 #define macro_U16L_Result HotASM_R7
#define macro_U32HH_Result HotASM_R4 #define macro_U32HL_Result HotASM_R5 #define macro_U32LH_Result HotASM_R6 #define macro_U32LL_Result HotASM_R7
/*-------------------------------------------- 汇编数组"函数"入口参数(函数调用规则) --------------------------------------------*/ #define HotASM_R6R7 HotASM_R6//大端排列 #define HotASM_R4R5 HotASM_R4//大端排列 #define HotASM_R2R3 HotASM_R2//大端排列 #define HotASM_R2R1 HotASM_R2//小端排列
#define macro_U8_arg1 HotASM_R7 #define macro_U8_arg2 HotASM_R5 #define macro_U8_arg3 HotASM_R3
#define macro_U16_arg1 HotASM_R6R7//MSB in R6, LSB in R7 #define macro_U16_arg2 HotASM_R4R5//MSB in R4, LSB in R5 #define macro_U16_arg3 HotASM_R2R3//MSB in R2, LSB in R3
#define macro_U16H_arg1 HotASM_R6 #define macro_U16L_arg1 HotASM_R7
#define macro_U16H_arg2 HotASM_R4 #define macro_U16L_arg2 HotASM_R5
#define macro_U16H_arg3 HotASM_R2 #define macro_U16L_arg3 HotASM_R3
#define macro_U32_arg1 HotASM_R4R7//MSB in R4, LSB in R7 #define macro_U32_arg2 HotASM_R4R7//MSB in R4, LSB in R7
#define macro_U32HH_arg1 HotASM_R4 #define macro_U32HL_arg1 HotASM_R5 #define macro_U32LH_arg1 HotASM_R6 #define macro_U32LL_arg1 HotASM_R7
#define macro_U32HH_arg2 HotASM_R4 #define macro_U32HL_arg2 HotASM_R5 #define macro_U32LH_arg2 HotASM_R6 #define macro_U32LL_arg2 HotASM_R7
#define macro_U32HH_arg3 HotASM_R4 #define macro_U32HL_arg3 HotASM_R5 #define macro_U32LH_arg3 HotASM_R6 #define macro_U32LL_arg3 HotASM_R7
#define macro_Float_arg1 HotASM_R4R7 #define macro_Float_arg2 HotASM_R4R7
#define macro_Ptr_arg1 HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1 #define macro_Ptr_arg2 HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1 #define macro_Ptr_arg3 HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1
#define macro_P8_arg1 HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1 #define macro_P8_arg2 HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1 #define macro_P8_arg3 HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1
#define macro_P16_arg1 HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1 #define macro_P16_arg2 HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1 #define macro_P16_arg3 HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1
#define macro_P32_arg1 HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1 #define macro_P32_arg2 HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1 #define macro_P32_arg3 HotASM_R3_R2R1//Memory type in R3, MSB R2, LSB R1
#define size_MOV_A_U8ARG1() size_MOV_A_Rn() #define size_MOV_A_U8ARG2() size_MOV_A_Rn() #define size_MOV_A_U8ARG3() size_MOV_A_Rn()
#define asm_MOV_A_U8ARG1() asm_MOV_A_Rn(macro_U8_arg1) #define asm_MOV_A_U8ARG2() asm_MOV_A_Rn(macro_U8_arg2) #define asm_MOV_A_U8ARG3() asm_MOV_A_Rn(macro_U8_arg3)
#define size_MOV_AB_U16ARG1() size_MOV_AB_Rn() #define size_MOV_AB_U16ARG2() size_MOV_AB_Rn() #define size_MOV_AB_U16ARG3() size_MOV_AB_Rn()
#define asm_MOV_AB_U16ARG1() asm_MOV_AB_Rn(macro_U16_arg1) #define asm_MOV_AB_U16ARG2() asm_MOV_AB_Rn(macro_U16_arg2) #define asm_MOV_AB_U16ARG3() asm_MOV_AB_Rn(macro_U16_arg3)
#define size_MOV_BA_U16ARG1() size_MOV_BA_Rn() #define size_MOV_BA_U16ARG2() size_MOV_BA_Rn() #define size_MOV_BA_U16ARG3() size_MOV_BA_Rn()
#define asm_MOV_BA_U16ARG1() asm_MOV_BA_Rn(macro_U16_arg1) #define asm_MOV_BA_U16ARG2() asm_MOV_BA_Rn(macro_U16_arg2) #define asm_MOV_BA_U16ARG3() asm_MOV_BA_Rn(macro_U16_arg3)
#define size_MOV_U8RESULT_A() size_MOV_Rn_A() #define asm_MOV_U8RESULT_A() asm_MOV_Rn_A(macro_U8_Result)
#define size_RET_U8RESULT_A() size_MOV_U8RESULT_A() + size_RET() #define asm_RET_U8RESULT_A() asm_MOV_U8RESULT_A(), asm_RET()
#define size_RET_U16RESULT_AB() size_MOV_U16RESULT_AB() + size_RET() #define asm_RET_U16RESULT_AB() asm_MOV_U16RESULT_AB(), asm_RET()
#define size_MOV_U16RESULT_AB() size_MOV_Rn_AB() #define size_MOV_U16RESULT_BA() size_MOV_Rn_BA()
#define size_RET_U16RESULT_BA() size_MOV_U16RESULT_BA() + size_RET() #define asm_RET_U16RESULT_BA() asm_MOV_U16RESULT_BA(), asm_RET()
#define asm_MOV_U16RESULT_AB() asm_MOV_Rn_AB(macro_U16_Result) #define asm_MOV_U16RESULT_BA() asm_MOV_Rn_BA(macro_U16_Result)
/*-------------------------------------------- 汇编数组"宏C"定义 --------------------------------------------*/ #define size_nop() size_NOP #define macro_nop() asm_NOP()
#define extern_Procedure(name) extern_HotASM(name) #define define_Procedure(name) define_HotASM(name) #define macro_Procedure(name) define_HotASM(name);HotASM(name)
#define extern_Procedure_Arg1(name, arg1) extern_HotASM(name) #define define_Procedure_Arg1(name, arg1) define_HotASM(name) #define macro_Procedure_Arg1(name, arg1) define_HotASM(name);HotASM(name)
#define extern_Procedure_Arg2(name, arg1, arg2) extern_HotASM(name) #define define_Procedure_Arg2(name, arg1, arg2) define_HotASM(name) #define macro_Procedure_Arg2(name, arg1, arg2) define_HotASM(name);HotASM(name)
#define extern_Procedure_Arg3(name, arg1, arg2, arg3) extern_HotASM(name) #define define_Procedure_Arg3(name, arg1, arg2, arg3) define_HotASM(name) #define macro_Procedure_Arg3(name, arg1, arg2, arg3) define_HotASM(name);HotASM(name)
#define extern_Function(name) extern_HotASM(name) #define define_Function(name) define_HotASM(name) #define macro_Function(name) define_HotASM(name);HotASM(name)
#define extern_Function_Arg1(name, arg1) extern_HotASM(name) #define define_Function_Arg1(name, arg1) define_HotASM(name) #define macro_Function_Arg1(name, arg1) define_HotASM(name);HotASM(name)
#define extern_Function_Arg2(name, arg1, arg2) extern_HotASM(name) #define define_Function_Arg2(name, arg1, arg2) define_HotASM(name) #define macro_Function_Arg2(name, arg1, arg2) define_HotASM(name);HotASM(name)
#define extern_Function_Arg3(name, arg1, arg2, arg3) extern_HotASM(name) #define define_Function_Arg3(name, arg1, arg2, arg3) define_HotASM(name) #define macro_Function_Arg3(name, arg1, arg2, arg3) define_HotASM(name);HotASM(name)
/*-----------------------------------------------------------------------------------------------------*/
#define size_return() size_RET #define macro_return() asm_RET()
#define size_isr_return() size_RETI #define macro_isr_return() asm_RETI()
#define size_returnU8_A() size_RET_U8RESULT_A #define macro_returnU8_A() asm_RET_U8RESULT_A()
#define size_returnU16_AB() size_RET_U16RESULT_AB #define macro_returnU16_AB() asm_RET_U16RESULT_AB()
#define size_returnU16_BA() size_RET_U16RESULT_BA #define macro_returnU16_BA() asm_RET_U16RESULT_BA()
/*---------------------------------------------------------------------------------- 103个过程指针 ----------------------------------------------------------------------------------*/ typedef void (*pMacro_Procedure)(void);//过程指针 typedef void (*pMacro_Procedure_U8)(unsigned char);//过程指针 typedef void (*pMacro_Procedure_P8)(unsigned char*);//过程指针
typedef void (*pMacro_Procedure_U8U8)(unsigned char, unsigned char);//过程指针 typedef void (*pMacro_Procedure_U8P8)(unsigned char, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_P8U8)(unsigned char*, unsigned char);//过程指针 typedef void (*pMacro_Procedure_P8P8)(unsigned char*, unsigned char*);//过程指针
typedef void (*pMacro_Procedure_U8U16)(unsigned char, unsigned int);//过程指针 typedef void (*pMacro_Procedure_U8P16)(unsigned char, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_P8U16)(unsigned char*, unsigned int);//过程指针 typedef void (*pMacro_Procedure_P8P16)(unsigned char*, unsigned int*);//过程指针
typedef void (*pMacro_Procedure_U16)(unsigned int);//过程指针 typedef void (*pMacro_Procedure_P16)(unsigned int*);//过程指针
typedef void (*pMacro_Procedure_U16U8)(unsigned int, unsigned char);//过程指针 typedef void (*pMacro_Procedure_U16P8)(unsigned int, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_P16U8)(unsigned int*, unsigned char);//过程指针 typedef void (*pMacro_Procedure_P16P8)(unsigned int*, unsigned char*);//过程指针
typedef void (*pMacro_Procedure_U16U16)(unsigned int, unsigned int);//过程指针 typedef void (*pMacro_Procedure_U16P16)(unsigned int, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_P16U16)(unsigned int*, unsigned int);//过程指针 typedef void (*pMacro_Procedure_P16P16)(unsigned int*, unsigned int*);//过程指针
typedef void (*pMacro_Procedure_U16U32)(unsigned int, unsigned long);//过程指针 typedef void (*pMacro_Procedure_U16P32)(unsigned int, unsigned long*);//过程指针 typedef void (*pMacro_Procedure_P16U32)(unsigned int*, unsigned long);//过程指针 typedef void (*pMacro_Procedure_P16P32)(unsigned int*, unsigned long*);//过程指针
typedef void (*pMacro_Procedure_U32)(unsigned long);//过程指针 typedef void (*pMacro_Procedure_P32)(unsigned long*);//过程指针
typedef void (*pMacro_Procedure_U32U8)(unsigned long, unsigned char);//过程指针 typedef void (*pMacro_Procedure_U32P8)(unsigned long, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_P32U8)(unsigned long*, unsigned char);//过程指针 typedef void (*pMacro_Procedure_P32P8)(unsigned long*, unsigned char*);//过程指针
typedef void (*pMacro_Procedure_U32U16)(unsigned long, unsigned int);//过程指针 typedef void (*pMacro_Procedure_U32P16)(unsigned long, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_P32U16)(unsigned long*, unsigned int);//过程指针 typedef void (*pMacro_Procedure_P32P16)(unsigned long*, unsigned int*);//过程指针
typedef void (*pMacro_Procedure_U32U32)(unsigned long, unsigned long);//过程指针 typedef void (*pMacro_Procedure_U32P32)(unsigned long, unsigned long*);//过程指针 typedef void (*pMacro_Procedure_P32U32)(unsigned long*, unsigned long);//过程指针 typedef void (*pMacro_Procedure_P32P32)(unsigned long*, unsigned long*);//过程指针
typedef void (*pMacro_Procedure_U8U8U8)(unsigned char, unsigned char, unsigned char);//过程指针 typedef void (*pMacro_Procedure_U8U8P8)(unsigned char, unsigned char, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_U8P8U8)(unsigned char, unsigned char*, unsigned char);//过程指针 typedef void (*pMacro_Procedure_U8P8P8)(unsigned char, unsigned char*, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_P8U8U8)(unsigned char*, unsigned char, unsigned char);//过程指针 typedef void (*pMacro_Procedure_P8U8P8)(unsigned char*, unsigned char, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_P8P8U8)(unsigned char*, unsigned char*, unsigned char);//过程指针 typedef void (*pMacro_Procedure_P8P8P8)(unsigned char*, unsigned char*, unsigned char*);//过程指针
typedef void (*pMacro_Procedure_U8U8U16)(unsigned char, unsigned char, unsigned int);//过程指针 typedef void (*pMacro_Procedure_U8U8P16)(unsigned char, unsigned char, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_U8P8U16)(unsigned char, unsigned char*, unsigned int);//过程指针 typedef void (*pMacro_Procedure_U8P8P16)(unsigned char, unsigned char*, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_P8U8U16)(unsigned char*, unsigned char, unsigned int);//过程指针 typedef void (*pMacro_Procedure_P8U8P16)(unsigned char*, unsigned char, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_P8P8U16)(unsigned char*, unsigned char*, unsigned int);//过程指针 typedef void (*pMacro_Procedure_P8P8P16)(unsigned char*, unsigned char*, unsigned int*);//过程指针
typedef void (*pMacro_Procedure_U8U16U8)(unsigned char, unsigned int, unsigned char);//过程指针 typedef void (*pMacro_Procedure_U8U16P8)(unsigned char, unsigned int, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_U8P16U8)(unsigned char, unsigned int*, unsigned char);//过程指针 typedef void (*pMacro_Procedure_U8P16P8)(unsigned char, unsigned int*, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_P8U16U8)(unsigned char*, unsigned int, unsigned char);//过程指针 typedef void (*pMacro_Procedure_P8U16P8)(unsigned char*, unsigned int, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_P8P16U8)(unsigned char*, unsigned int*, unsigned char);//过程指针 typedef void (*pMacro_Procedure_P8P16P8)(unsigned char*, unsigned int*, unsigned char*);//过程指针
typedef void (*pMacro_Procedure_U8U16U16)(unsigned char, unsigned int, unsigned int);//过程指针 typedef void (*pMacro_Procedure_U8U16P16)(unsigned char, unsigned int, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_U8P16U16)(unsigned char, unsigned int*, unsigned int);//过程指针 typedef void (*pMacro_Procedure_U8P16P16)(unsigned char, unsigned int*, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_P8U16U16)(unsigned char*, unsigned int, unsigned int);//过程指针 typedef void (*pMacro_Procedure_P8U16P16)(unsigned char*, unsigned int, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_P8P16U16)(unsigned char*, unsigned int*, unsigned int);//过程指针 typedef void (*pMacro_Procedure_P8P16P16)(unsigned char*, unsigned int*, unsigned int*);//过程指针
typedef void (*pMacro_Procedure_U16U8U8)(unsigned int, unsigned char, unsigned char);//过程指针 typedef void (*pMacro_Procedure_U16U8P8)(unsigned int, unsigned char, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_U16P8U8)(unsigned int, unsigned char*, unsigned char);//过程指针 typedef void (*pMacro_Procedure_U16P8P8)(unsigned int, unsigned char*, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_P16U8U8)(unsigned int*, unsigned char, unsigned char);//过程指针 typedef void (*pMacro_Procedure_P16U8P8)(unsigned int*, unsigned char, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_P16P8U8)(unsigned int*, unsigned char*, unsigned char);//过程指针 typedef void (*pMacro_Procedure_P16P8P8)(unsigned int*, unsigned char*, unsigned char*);//过程指针
typedef void (*pMacro_Procedure_U16U8U16)(unsigned int, unsigned char, unsigned int);//过程指针 typedef void (*pMacro_Procedure_U16U8P16)(unsigned int, unsigned char, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_U16P8U16)(unsigned int, unsigned char*, unsigned int);//过程指针 typedef void (*pMacro_Procedure_U16P8P16)(unsigned int, unsigned char*, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_P16U8U16)(unsigned int*, unsigned char, unsigned int);//过程指针 typedef void (*pMacro_Procedure_P16U8P16)(unsigned int*, unsigned char, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_P16P8U16)(unsigned int*, unsigned char*, unsigned int);//过程指针 typedef void (*pMacro_Procedure_P16P8P16)(unsigned int*, unsigned char*, unsigned int*);//过程指针
typedef void (*pMacro_Procedure_U16U16U8)(unsigned int, unsigned int, unsigned char);//过程指针 typedef void (*pMacro_Procedure_U16U16P8)(unsigned int, unsigned int, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_U16P16U8)(unsigned int, unsigned int*, unsigned char);//过程指针 typedef void (*pMacro_Procedure_U16P16P8)(unsigned int, unsigned int*, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_P16U16U8)(unsigned int*, unsigned int, unsigned char);//过程指针 typedef void (*pMacro_Procedure_P16U16P8)(unsigned int*, unsigned int, unsigned char*);//过程指针 typedef void (*pMacro_Procedure_P16P16U8)(unsigned int*, unsigned int*, unsigned char);//过程指针 typedef void (*pMacro_Procedure_P16P16P8)(unsigned int*, unsigned int*, unsigned char*);//过程指针
typedef void (*pMacro_Procedure_U16U16U16)(unsigned int, unsigned int, unsigned int);//过程指针 typedef void (*pMacro_Procedure_U16U16P16)(unsigned int, unsigned int, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_U16P16U16)(unsigned int, unsigned int*, unsigned int);//过程指针 typedef void (*pMacro_Procedure_U16P16P16)(unsigned int, unsigned int*, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_P16U16U16)(unsigned int*, unsigned int, unsigned int);//过程指针 typedef void (*pMacro_Procedure_P16U16P16)(unsigned int*, unsigned int, unsigned int*);//过程指针 typedef void (*pMacro_Procedure_P16P16U16)(unsigned int*, unsigned int*, unsigned int);//过程指针 typedef void (*pMacro_Procedure_P16P16P16)(unsigned int*, unsigned int*, unsigned int*);//过程指针
/*---------------------------------------------------------------------------------- 函数指针 ----------------------------------------------------------------------------------*/
typedef unsigned char (*pMacro_FunctionU8)(void);//函数指针 typedef unsigned char* (*pMacro_FunctionP8)(void);//函数指针
typedef unsigned char (*pMacro_FunctionU8_U8)(unsigned char);//函数指针 typedef unsigned char (*pMacro_FunctionU8_P8)(unsigned char*);//函数指针
typedef unsigned char* (*pMacro_FunctionP8_U8)(unsigned char);//函数指针 typedef unsigned char* (*pMacro_FunctionP8_P8)(unsigned char*);//函数指针
typedef unsigned char (*pMacro_FunctionU8_U8U8)(unsigned char, unsigned char);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U8P8)(unsigned char, unsigned char*);//函数指针 typedef unsigned char (*pMacro_FunctionU8_P8U8)(unsigned char*, unsigned char);//函数指针 typedef unsigned char (*pMacro_FunctionU8_P8P8)(unsigned char*, unsigned char*);//函数指针
typedef unsigned char* (*pMacro_FunctionP8_U8U8)(unsigned char, unsigned char);//函数指针 typedef unsigned char* (*pMacro_FunctionP8_U8P8)(unsigned char, unsigned char*);//函数指针 typedef unsigned char* (*pMacro_FunctionP8_P8U8)(unsigned char*, unsigned char);//函数指针 typedef unsigned char* (*pMacro_FunctionP8_P8P8)(unsigned char*, unsigned char*);//函数指针
typedef unsigned char (*pMacro_FunctionU8_U8U16)(unsigned char, unsigned int);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U8P16)(unsigned char, unsigned int*);//函数指针 typedef unsigned char (*pMacro_FunctionU8_P8U16)(unsigned char*, unsigned int);//函数指针 typedef unsigned char (*pMacro_FunctionU8_P8P16)(unsigned char*, unsigned int*);//函数指针
typedef unsigned char* (*pMacro_FunctionP8_U8U16)(unsigned char, unsigned int);//函数指针 typedef unsigned char* (*pMacro_FunctionP8_U8P16)(unsigned char, unsigned int*);//函数指针 typedef unsigned char* (*pMacro_FunctionP8_P8U16)(unsigned char*, unsigned int);//函数指针 typedef unsigned char* (*pMacro_FunctionP8_P8P16)(unsigned char*, unsigned int*);//函数指针
typedef unsigned char (*pMacro_FunctionU8_U16)(unsigned int);//函数指针 typedef unsigned char (*pMacro_FunctionU8_P16)(unsigned int*);//函数指针 typedef unsigned char* (*pMacro_FunctionP8_U16)(unsigned int);//函数指针 typedef unsigned char* (*pMacro_FunctionP8_P16)(unsigned int*);//函数指针
typedef unsigned char (*pMacro_FunctionU8_U16U8)(unsigned int, unsigned char);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U16P8)(unsigned int, unsigned char*);//函数指针 typedef unsigned char (*pMacro_FunctionU8_P16U8)(unsigned int*, unsigned char);//函数指针 typedef unsigned char (*pMacro_FunctionU8_P16P8)(unsigned int*, unsigned char*);//函数指针
typedef unsigned char* (*pMacro_FunctionP8_U16U8)(unsigned int, unsigned char);//函数指针 typedef unsigned char* (*pMacro_FunctionP8_U16P8)(unsigned int, unsigned char*);//函数指针 typedef unsigned char* (*pMacro_FunctionP8_P16U8)(unsigned int*, unsigned char);//函数指针 typedef unsigned char* (*pMacro_FunctionP8_P16P8)(unsigned int*, unsigned char*);//函数指针
typedef unsigned char (*pMacro_FunctionU8_U16U16)(unsigned int, unsigned int);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U16U32)(unsigned int, unsigned long);//函数指针
typedef unsigned char (*pMacro_FunctionU8_U32)(unsigned long);//函数指针 typedef unsigned char (*pMacro_FunctionU8_P32)(unsigned long*);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U32U8)(unsigned long, unsigned char);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U32U16)(unsigned long, unsigned int);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U32U32)(unsigned long, unsigned long);//函数指针
typedef unsigned char (*pMacro_FunctionU8_U8U8U8)(unsigned char, unsigned char, unsigned char);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U8U8U16)(unsigned char, unsigned char, unsigned int);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U8U16U8)(unsigned char, unsigned int, unsigned char);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U8U16U16)(unsigned char, unsigned int, unsigned int);//函数指针
typedef unsigned char (*pMacro_FunctionU8_U16U8U8)(unsigned int, unsigned char, unsigned char);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U16U8U16)(unsigned int, unsigned char, unsigned int);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U16U16U8)(unsigned int, unsigned int, unsigned char);//函数指针 typedef unsigned char (*pMacro_FunctionU8_U16U16U16)(unsigned int, unsigned int, unsigned int);//函数指针
typedef unsigned int (*pMacro_FunctionU16)(void);//函数指针
typedef unsigned int (*pMacro_FunctionU16_U8)(unsigned char);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U8U8)(unsigned char, unsigned char);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U8U16)(unsigned char, unsigned int);//函数指针
typedef unsigned int (*pMacro_FunctionU16_U16)(unsigned int);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U16U8)(unsigned int, unsigned char);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U16U16)(unsigned int, unsigned int);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U16U32)(unsigned int, unsigned long);//函数指针
typedef unsigned int (*pMacro_FunctionU16_U32)(unsigned long);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U32U8)(unsigned long, unsigned char);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U32U16)(unsigned long, unsigned int);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U32U32)(unsigned long, unsigned long);//函数指针
typedef unsigned int (*pMacro_FunctionU16_U8U8U8)(unsigned char, unsigned char, unsigned char);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U8U8U16)(unsigned char, unsigned char, unsigned int);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U8U16U8)(unsigned char, unsigned int, unsigned char);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U8U16U16)(unsigned char, unsigned int, unsigned int);//函数指针
typedef unsigned int (*pMacro_FunctionU16_U16U8U8)(unsigned int, unsigned char, unsigned char);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U16U8U16)(unsigned int, unsigned char, unsigned int);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U16U16U8)(unsigned int, unsigned int, unsigned char);//函数指针 typedef unsigned int (*pMacro_FunctionU16_U16U16U16)(unsigned int, unsigned int, unsigned int);//函数指针
typedef unsigned long (*pMacro_FunctionU32)(void);//函数指针
typedef unsigned long (*pMacro_FunctionU32_U8)(unsigned char);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U8U8)(unsigned char, unsigned char);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U8U16)(unsigned char, unsigned int);//函数指针
typedef unsigned long (*pMacro_FunctionU32_U16)(unsigned int);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U16U8)(unsigned int, unsigned char);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U16U16)(unsigned int, unsigned int);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U16U32)(unsigned int, unsigned long);//函数指针
typedef unsigned long (*pMacro_FunctionU32_U32)(unsigned long);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U32U8)(unsigned long, unsigned char);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U32U16)(unsigned long, unsigned int);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U32U32)(unsigned long, unsigned long);//函数指针
typedef unsigned long (*pMacro_FunctionU32_U8U8U8)(unsigned char, unsigned char, unsigned char);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U8U8U16)(unsigned char, unsigned char, unsigned int);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U8U16U8)(unsigned char, unsigned int, unsigned char);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U8U16U16)(unsigned char, unsigned int, unsigned int);//函数指针
typedef unsigned long (*pMacro_FunctionU32_U16U8U8)(unsigned int, unsigned char, unsigned char);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U16U8U16)(unsigned int, unsigned char, unsigned int);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U16U16U8)(unsigned int, unsigned int, unsigned char);//函数指针 typedef unsigned long (*pMacro_FunctionU32_U16U16U16)(unsigned int, unsigned int, unsigned int);//函数指针
#ifdef __cplusplus } #endif #endif//__HOTMACRO_H__ |