原创 BIT,CODE,DATA,IDATA 和 XDATA 定义

2009-11-3 21:01 2464 3 3 分类: MCU/ 嵌入式
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
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /3 下一条