这是KEIL C中一个绝对地址宏指令DBYTE的讲解:
DBYTE[address]
说明:在8051内部数据存储器里,读取一个字节的内容
自变量:内部数据存储器的地址(0~0xff)
定义:#define DBYTE((unsigned char volatile data *)0)
例子代码:
#include "absacc.h"
void IRamSet (unsigned char value);
void Main(void)
{
char val = 0
IRamSet (0xaa);
val = DBYTE [0x0032];
DBYTE [0x0032]—0x1b;
}
unsigned char idata address _at_ 0x20; // 这句定义是什么意思呢?
void IRamSet (unsigned char value)
{
unsigned char idata *index = &address;
unsigned char i;
for (i = 0;i < (0x7f —0x20+0x01);i++) // 这个循环的限制条件是什么意思呢?
{
*index = value;
index ++;
}
}
想请教下,这个程序的大概意思是什么?以及帮我解答下程序中的两个问题(已经注释出来了) |