Keil头文件代码—Absacc

/*--------------------------------------------------------------------------

ABSACC.H

 

Direct access to 8051, extended 8051 and NXP 8051MX memory areas.

Copyright (c) 1988-2010 Keil Elektronik GmbH and ARM Germany GmbH

All rights reserved.

--------------------------------------------------------------------------*/

 

#ifndef __ABSACC_H__

#define __ABSACC_H__

 

#define CBYTE ((unsigned char volatile code  *) 0)

#define DBYTE ((unsigned char volatile data  *) 0)

#if !defined (__CX2__)

#define PBYTE ((unsigned char volatile pdata *) 0)

#endif

#define XBYTE ((unsigned char volatile xdata *) 0)

 

#define CWORD ((unsigned int volatile code  *) 0)

#define DWORD ((unsigned int volatile data  *) 0)

#if !defined (__CX2__)

#define PWORD ((unsigned int volatile pdata *) 0)

#endif

#define XWORD ((unsigned int volatile xdata *) 0)

 

 

#if defined (__CX51__) || defined (__CX2__)

#define FVAR(object, addr)   (*((object volatile far *) (addr)))

#define FARRAY(object, base) ((object volatile far *) (base))

#define FCVAR(object, addr)   (*((object const far *) (addr)))

#define FCARRAY(object, base) ((object const far *) (base))

#else

#define FVAR(object, addr)    (*((object volatile far *) ((addr)+0x10000L)))

#define FCVAR(object, addr)   (*((object const far *) ((addr)+0x810000L)))

#define FARRAY(object, base)  ((object volatile far *) ((base)+0x10000L))

#define FCARRAY(object, base) ((object const far *) ((base)+0x810000L))

#endif

 

#if defined (__CX2__)

#define HBYTE ((unsigned char volatile huge *)  0)

#define HWORD ((unsigned int volatile huge *)  0)

#define HVAR(object, addr)   (*((object volatile huge *) (addr)))

#define HARRAY(object, base) ((object volatile huge *) (base))

#endif

 

#define CVAR(object, addr)   (*((object volatile code *) (addr)))

#define CARRAY(object, base) ((object volatile code *) (base))

#define DVAR(object, addr)   (*((object volatile data *) (addr)))

#define DARRAY(object, base) ((object volatile data *) (base))

#define XVAR(object, addr)   (*((object volatile xdata *) (addr)))

#define XARRAY(object, base) ((object volatile xdata *) (base))

 

#endif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值