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

📄 iar_common.h

📁 用ADE7169F16单片机实现了单向多费4率电能表
💻 H
字号:
;-----------------------------------------------------------------------------
;
;	File:		iar_common.h
;
;	Description:	Frequently used macros and symbols for runtime library.
;
;
;       REVISON INFORMATION                                 
;                                                           
;       $Revision: 1.24 $
;                                                           
;       Log information is available at the end of this file
;
;-----------------------------------------------------------------------------

#include "iar_check_symbols.h"
#include "iar_cfi.h"

;=================;
; Common defines  ; 
;=================;

#define XSP_L ?XSP
#define XSP_H ?XSP+1

DPTR_MASK_SYMBOLS MACRO
         EXTERN ?DPMASK
?DPMASK0 EQU ((?DPMASK ^ (?DPMASK - 1)) & ?DPMASK)
?DPTMP1  EQU (?DPMASK ^ ?DPMASK0)
?DPMASK1 EQU ((?DPTMP1 ^ (?DPTMP1 - 1)) & ?DPTMP1)
?DPTMP2  EQU (?DPMASK ^ ?DPMASK0 ^ ?DPMASK1)
?DPMASK2 EQU ((?DPTMP2 ^ (?DPTMP2 - 1)) & ?DPTMP2)
        ENDM

;=================;
; Common Macros   ; 
;=================;
EXTERNS_FOR_ALL_DPTR_SYMBOLS MACRO
#ifdef __EXTENDED_DPTR__
	EXTERN	?DPX
#endif ; __EXTENDED_DPTR__
#if (__NUMBER_OF_DPTRS__ > 1)
        EXTERN  ?DPS
        DPTR_MASK_SYMBOLS()
#ifdef __DPTR_SEPARATE__
	EXTERN	?DPL1
	EXTERN	?DPH1
#ifdef __EXTENDED_DPTR__
	EXTERN	?DPX1
#endif ; __EXTENDED_DPTR__
#if (__NUMBER_OF_DPTRS__ > 2)
	EXTERN	?DPL2
	EXTERN	?DPH2
#ifdef __EXTENDED_DPTR__
	EXTERN	?DPX2
#endif ; __EXTENDED_DPTR__
#endif ; __NUMBER_OF_DPTRS__ > 2
#if (__NUMBER_OF_DPTRS__ > 3)
	EXTERN	?DPL3
	EXTERN	?DPH3
#ifdef __EXTENDED_DPTR__
	EXTERN	?DPX3
#endif ; __EXTENDED_DPTR__
#endif ; __NUMBER_OF_DPTRS__ > 3
#if (__NUMBER_OF_DPTRS__ > 4)
	EXTERN	?DPL4
	EXTERN	?DPH4
#ifdef __EXTENDED_DPTR__
	EXTERN	?DPX4
#endif ; __EXTENDED_DPTR__
#endif ; __NUMBER_OF_DPTRS__ > 4
#if (__NUMBER_OF_DPTRS__ > 5)
	EXTERN	?DPL5
	EXTERN	?DPH5
#ifdef __EXTENDED_DPTR__
	EXTERN	?DPX5
#endif ; __EXTENDED_DPTR__
#endif ; __NUMBER_OF_DPTRS__ > 5
#if (__NUMBER_OF_DPTRS__ > 6)
	EXTERN	?DPL6
	EXTERN	?DPH6
#ifdef __EXTENDED_DPTR__
	EXTERN	?DPX6
#endif ; __EXTENDED_DPTR__
#endif ; __NUMBER_OF_DPTRS__ > 6
#if (__NUMBER_OF_DPTRS__ > 7)
	EXTERN	?DPL7
	EXTERN	?DPH7
#ifdef __EXTENDED_DPTR__
	EXTERN	?DPX7
#endif ; __EXTENDED_DPTR__
#endif ; __NUMBER_OF_DPTRS__ > 7
#endif ; __DPTR_SEPARATE__
#endif ; __NUMBER_OF_DPTRS__ > 1
        ENDM

#if (__NUMBER_OF_DPTRS__ > 1)

TOGGLE_DPTR MACRO
        EXTERN  ?DPS
#if ((defined(__INC_DPSEL_SELECT__)) && (__NUMBER_OF_DPTRS__ == 2))
	INC	?DPS
#else
        XRL     ?DPS,#(?DPMASK0)
#endif
        ENDM

SELECT_DPTR0 MACRO
        EXTERN  ?DPS
        ANL	?DPS,#LOW(~(?DPMASK2 | ?DPMASK1 | ?DPMASK0))
        ENDM

; Initial
;  value 
; for DPS
;   000
;          XOR 001   (0->1)
;   001
;          XOR 011   (1->2)
;   010
;          XOR 001   (2->3)
;   011
;          XOR 111   (3->4)
;   100
;          XOR 001   (4->5)
;   101
;          XOR 011   (5->6)
;   110
;          XOR 001   (6->7)
;   111

DPTR0_TO_DPTR1 MACRO
        EXTERN  ?DPS
#if (defined(__INC_DPSEL_SELECT__))
	INC	?DPS
#else
        XRL	?DPS,#(?DPMASK0)
#endif
        ENDM

DPTR0_TO_DPTR2 MACRO
        EXTERN  ?DPS
        XRL	?DPS,#(?DPMASK1)
        ENDM

DPTR0_TO_DPTR3 MACRO
        EXTERN  ?DPS
        XRL	?DPS,#(?DPMASK1 | ?DPMASK0)
        ENDM

DPTR0_TO_DPTR4 MACRO
        EXTERN  ?DPS
        XRL	?DPS,#(?DPMASK2)
        ENDM

DPTR0_TO_DPTR5 MACRO
        EXTERN  ?DPS
        XRL	?DPS,#(?DPMASK2 | ?DPMASK0)
        ENDM

DPTR0_TO_DPTR6 MACRO
        EXTERN  ?DPS
        XRL	?DPS,#(?DPMASK2 | ?DPMASK1)
        ENDM

DPTR0_TO_DPTR7 MACRO
        EXTERN  ?DPS
        XRL	?DPS,#(?DPMASK2 | ?DPMASK1 | ?DPMASK0)
        ENDM

DPTR1_TO_DPTR2 MACRO
        EXTERN  ?DPS
#if (defined(__INC_DPSEL_SELECT__))
	INC	?DPS
#else
        XRL	?DPS,#(?DPMASK1 | ?DPMASK0)
#endif
        ENDM

DPTR2_TO_DPTR3 MACRO
        EXTERN  ?DPS
#if (defined(__INC_DPSEL_SELECT__))
	INC	?DPS
#else
        XRL	?DPS,#(?DPMASK0)
#endif
        ENDM

DPTR3_TO_DPTR4 MACRO
        EXTERN  ?DPS
#if (defined(__INC_DPSEL_SELECT__))
	INC	?DPS
#else
        XRL	?DPS,#(?DPMASK2 | ?DPMASK1 | ?DPMASK0)
#endif
        ENDM

DPTR4_TO_DPTR5 MACRO
        EXTERN  ?DPS
#if (defined(__INC_DPSEL_SELECT__))
	INC	?DPS
#else
        XRL	?DPS,#(?DPMASK0)
#endif
        ENDM

DPTR5_TO_DPTR6 MACRO
        EXTERN  ?DPS
#if (defined(__INC_DPSEL_SELECT__))
	INC	?DPS
#else
        XRL	?DPS,#(?DPMASK1 | ?DPMASK0)
#endif
        ENDM

DPTR6_TO_DPTR7 MACRO
        EXTERN  ?DPS
#if (defined(__INC_DPSEL_SELECT__))
	INC	?DPS
#else
        XRL	?DPS,#(?DPMASK0)
#endif
        ENDM

#endif ; __NUMBER_OF_DPTRS__ > 1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  $Id: iar_common.h 1.24 2005/01/26 10:21:31Z ola Exp $
;  $Log: iar_common.h $
;  Revision 1.24  2005/01/26 10:21:31Z  ola
;  Revision 1.23  2005/01/25 09:16:45Z  ola
;  Revision 1.22  2004/11/17 13:00:17Z  owi
;  Revision 1.21  2004/11/10 08:51:14Z  owi
;  Revision 1.20  2003/11/26 14:06:11Z  ola
;  Revision 1.19  2003/11/21 10:27:22Z  ola
;  Revision 1.18  2003/11/11 13:03:49Z  owi
;  Revision 1.17  2003/10/08 09:29:57Z  owi

⌨️ 快捷键说明

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