BIT,CODE,DATA,IDATA 和 XDATA 定义

BIT,CODE,DATA,IDATAXDATA 伪指令把一个地址值分配给指令的符号。由 BITCODEDATAIDATAXDATA 伪指令定义的符号不可更改或重复定义。这些伪指令的使用格式如下:

symbolBITbit_address; 定义一个 BIT 符号
symbolCODEcode_address; 定义一个 CODE 符号
symbolDATAdata_address; 定义一个 DATA 符号
symbolIDATAidata_address; 定义一个 IDATA 符号
symbolXDATAxdata_address; 定义一个 XDATA 符号

其中

symbol

是要定义的符号名称。该符号名称可以用在这种存储类型的地址空间中的任意位置。
bit_address

是在内部数据存储空间中 20H .. 2FH 区域中一个位的地址,或者 8051 位可寻址 SFR 的一个位地址。
code_address
是在 0000H .. 0FFFFH 之间的一个代码地址。
data_address
是在 0 到 127 之间的一个数据存储器地址,或者在 128 .. 255 范围内的一个特殊功能寄存器(SFR)地址。
idata_address
是 0 to 255 范围内的一个 idata 存储器地址。
xdata_address是 0 to 65535 范围内的一个 xdata 存储器地址。

例程

DATA_SEGSEGMENT BITADDRESSABLE 
RSEGDATA_SEG; 一个位可寻址的重定位段
    
CTRL:DS1; 一个单字节变量(CTRL)
ALARMBITCTRL.0; 在一个可重定位字节中的位
SHUTBITALARM+1; 下一位
ENABLE_FLAGBIT60H; 一个绝对地址位
DONE_FLAGBIT24H.2; 一个绝对地址位
P1_BIT2EQU90H.2; 一个 SRF 位
RESTARTCODE00H 
INTVEC_0CODERESTART + 3 
INTVEC_1CODERESTART + 0BH 
INTVEC_2CODERESTART + 1BH 
SERBUFDATASBUF; SBUF 的重定义
RESULTDATA40H 
RESULT2DATARESULT + 2 
PORT1DATA90H; 一个特殊功能寄存器(SFR )符号
BUFFERIDATA60H 
BUF_LENEQU20H 
BUF_ENDIDATABUFFER + BUF_LEN - 1 
XSEG1SEGMENTXDATA 
RSEGXSEG1  
    
DTIM:DS6; 为 DTIM 保留 6 字节
TIMEXDATADTIM + 0 
DATEXDATADTIM + 3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

supergame111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值