绝对地址

绝对地址(AbsoluteAddress,AA)

目录

1.什么是绝对地址2.绝对地址的访问

定义上,存储器的绝对地址是指在通信计算机数据处理系统中的一个地址方案。这个地址直接鉴别一个存储单元而不使用相关媒体,例如,一个基站地址或相关地址。

绝对地址即为互联网上的独立地址,在任何网站通过这个地址可以直接到达目标网页。包含主域名和目录地址。网络中的绝对地址是指带有网站域名的网页地址。含有绝对地址的网页能够被搜索引擎更好的收录。

绝对地址的访问

片内RAM的使用、片外RAM及I/O口的使用又称为绝对地址访问。C51提供了两种比较常用的访问绝对地址的方法。

1.绝对宏

C51语言编译器提供了一组宏定义来对51单片机的code、DATa、pdata和xdata空间进行绝对寻址。在程序中,用“#include<absacc.h>”即可使用其中声明的宏来访问绝对地址,包括CBYTE、CWORD、DBYTE、DWORD、XBYTE、XWORD、PBYTE、PWORD,具体使用方法参考absacc.h头文件。其中:

CBYTE——以字节形式对code区寻址;

CWORD——以字形式对code区寻址;

DBYTE——以字节形式对data区寻址;

DWORD——以字形式对data区寻址;

XBYTE——以字节形式对xdata区寻址;

XWORD——以字形式对xdata区寻址;

PBYTE——以字节形式对pdata区寻址;

PWORD——以字形式对pdata区寻址。

例如:

#include<absacc.h>

rval=CBYTE[0x0002]//指向程序存储器0002H地址

rval=XBYTE[0x0002]//指向外部RAM的0002H地址

2._at_关键字

可以使用关键字_at_对指定的存储器空间的绝对地址进行访问,格式如下:

[存储类型]数据类型标识变量名_at_地址常数

例如:

structidatalist_at_0x40;//指定list结构从内部RAM的40H开始

charxdatatext[256]_at_OxE000;//指定text数组从外部RAM的E000H单元开始

【例】将片外RAM6000H开始的连续10个单元清0。

程序如下:

#include<absacc.h>

unsignedcharxdatabuffer[10]_at_0x6000;

vOIDmain(vOID)

{unsignedcharindex;

for(index=0;index<i0;index++)

{buffer[index]=0;}

}

如果是将片内RAM60H开始的连续10个单元清0,则可以编程如下:

#include<absacc.h>

unsignedchardatabuffer[10]_at_0x60;

voiDMain(void)

{unsignedcharindex;

for(index=0;index<:i0;index++)

{buffer[index]=0;}

}

绝对地址和相对地址的区别

绝对地址:互联网上的独立地址,在任何网站通过这个地址可以直接到达目标网页。包含主域名和目录地址。

相对地址:相对于网站的地址,当域名改变时,相对地址的“绝对地址”也发生变化。

相对地址是指相对于当前网页的地址。假如有一个如下图所示的文件系统结构(圆圈表示文件夹,矩形表示文件):

假设文件3.htm为当前网页,那么文件1.htm的相对地址为:../A/1.htm。其中“../”表示上一级目录。

假设文件4.htm为当前网页,那么文件2.htm的相对地址为:../../A/2.htm,而文件6.htm的地址则是:../6.htm,文件5.htm的相对地址则是:5.htm。

假设文件6.htm为当前网页,那么文件4.htm的相对地址为:D/4.htm。

总之,相对地址是指从当前网页所在的文件夹开始的网页地址。

在制作网站时,大多数情况下使用的是相对地址。这样,将整个网站复制到任何位置,都不需要重新调整地址。

相关条目

相对地址

联系管理员
15775053793

作者头像
经济百科创始人

经济百科

上一篇:RACI模型
下一篇:产品类别定位

发表评论