intrinsic.h

来自「这是用IAR开发的AT91SAM7X256的CAN测试代码」· C头文件 代码 · 共 79 行

H
79
字号
/**************************************************
 *
 * This file declares the ARM intrinsic inline functions.
 *
 * Copyright 1999-2004 IAR Systems. All rights reserved.
 *
 * $Revision: 1.2 $
 *
 **************************************************/

#ifndef __INTRINSIC_INCLUDED
#define __INTRINSIC_INCLUDED

/*
 * Check that the correct C compiler is used.
 */

#if ((__TID__ >> 8) & 0x007F) != 79
#error "File intrinsic.h can only be used together with iccarm."
#endif

#ifdef __cplusplus
extern "C" {
#endif
#pragma language=extended

__intrinsic void    __disable_interrupt(void);
__intrinsic void    __enable_interrupt(void);
__intrinsic void    __no_operation(void);
__intrinsic void    __require(void *);

#define __segment_size( SEG ) ((char *)__sfe( SEG ) - (char*)__sfb( SEG ))
#define __sfs( SEG )          ((char *)__sfe( SEG ) - (char*)__sfb( SEG ))


// ARM-mode intrinsics

typedef unsigned long __ul;

__intrinsic void            __MCR( __ul coproc, __ul opcode_1, __ul src, __ul CRn, __ul CRm, __ul opcode_2 );
__intrinsic unsigned long   __MRC( __ul coproc, __ul opcode_1, __ul CRn, __ul CRm, __ul opcode_2 );

// Architecture v4T
#if defined(__ARM4TM__)

__intrinsic unsigned long __get_CPSR( void );
__intrinsic void          __set_CPSR( unsigned long );

// Architecture v5T 
#if defined(__ARM5__)

__intrinsic unsigned char __CLZ( unsigned long );

// Architecture v5TE
#if defined(__ARM5E__)

__intrinsic signed long __QADD( signed long, signed long );
__intrinsic signed long __QDADD( signed long, signed long );
__intrinsic signed long __QSUB( signed long, signed long );
__intrinsic signed long __QDSUB( signed long, signed long );

__intrinsic signed long __QDOUBLE( signed long );

__intrinsic int         __QFlag( void );

__intrinsic signed long __SMUL( signed short, signed short );

#endif // __ARM5E__
#endif // __ARM5__
#endif // __ARM4TM__

#pragma language=default

#ifdef __cplusplus
}
#endif

#endif  /* __INTRINSIC_INCLUDED */

⌨️ 快捷键说明

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