请教C51如何定义一个 内存 为 如下(已经解决 另一帖)

[复制链接]
1282|6
 楼主| itelectron 发表于 2014-3-8 17:14 | 显示全部楼层 |阅读模式
本帖最后由 itelectron 于 2014-3-11 22:01 编辑

  unsigned char pdata *Adr08 _at_ 0x08;
  unsigned char data  Ram08 _at_ 0x08;
==============================================
union temp8
{
  unsigned char pdata *Adr08 _at_ 0x08;
  unsigned char data  Ram08 _at_ 0x08;
}Dram;
==================================

因为 定义 为指针后 不 能做  Ram08|=0x04; /运算
ayb_ice 发表于 2014-3-8 18:23 来自手机 | 显示全部楼层
地址重叠了
没有必要指定地址
ayb_ice 发表于 2014-3-8 18:28 来自手机 | 显示全部楼层
不对
联合,结构体指定地址不是在这里
typedef union{
    char x;
}t_test;

t_test my_var _at_ 0x60;
 楼主| itelectron 发表于 2014-3-9 08:25 | 显示全部楼层
TO  楼上       因为 地址要参与 运算  51  P0的地址和数据是重叠 的   所以 有上面需求
 楼主| itelectron 发表于 2014-3-9 08:27 | 显示全部楼层
       
        ANL     08H, #71H                ;//地址进行运算
        MOV     R0,  08H                ;//取运算后的地址
        MOVX    @R0, A                        ;//送外部RAM
coody 发表于 2014-3-10 09:20 | 显示全部楼层
用C为什么要指定绝对地址?
 楼主| itelectron 发表于 2014-3-10 16:35 | 显示全部楼层
coody 发表于 2014-3-10 09:20
用C为什么要指定绝对地址?

因为需要  所以要转换
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:MARK: zhi kan ji shu

274

主题

2761

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部