绝对地址

绝对地址(Absolute Address,AA)

目录

  • 1 什么是绝对地址
  • 2 绝对地址的访问[2]
  • 3 绝对地址和相对地址的区别
  • 4 相关条目
  • 5 参考文献

什么是绝对地址

  绝对地址是指存储控制部件能够识别的主存单元编号(或字节地址),也就是主存单元的实际地址。

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

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

绝对地址的访问

  片内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_地址常数

  例如:

  struct idata list _at_ 0x40;//指定list结构从内部RAM的40H开始

  char xdata text[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>

  unsigned char data buffer[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。

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

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

相关条目

参考文献

  1. 屠祁 屠立德.操作系统基础 (第三版).清华大学出版社,2000年09月第3版.
  2. 高卫东编著.51单片机原理与实践:C语言版.北京航空航天大学出版社,2011.01.
阅读数:312