打印

在 51 汇编中用 equ 来定义变量是错误的

[复制链接]
3442|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
icmap|  楼主 | 2008-9-14 00:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 icmap 于 2010-2-10 14:11 编辑

在 51 汇编中用 equ 来定义变量是错误的,其实编译器只是将 MyByte 视为一个常量而已。<br /><br />在 51 汇编中定义变量的正确方法如下:<br />1:定义字节变量用 ds 关键字,语法为:<br />    变量名  ds  分配的字节数<br />2:定义位变量用 dbit 关键字,语法为:<br />    位变量名  dbit 分配的位数<br />3:定义特殊功能寄存器(SFR)用 data 关键字,语法为:<br />    寄存器名 data 寄存器地址<br />4:定义可位寻址的特殊功能寄存器中的位用 bit 关键字,语法为:<br />    位名 bit 位地址<br />5:常量定义用 equ 关键字,语法为:<br />    常量名 equ 常数<br /><br />具体实例见:<br /><br /><br />

相关帖子

沙发
wellrun| | 2008-9-14 01:11 | 只看该作者

很好

赞同

还有,兄弟,顺便把“idata”和“xdata”说说

使用特权

评论回复
板凳
icmap|  楼主 | 2008-9-14 12:01 | 只看该作者

idata 和 xdata 属于不同的地址空间

idata 和 xdata 属于不同的地址空间,例如,两个相同地址的 idata 和 xdata 存储器是不同的两个个体。访问时可以用不同的寻址方式来区别 
idata 区和 xdata 区,如下所述:

凡是能用 mov a,@r0 访问的存储空间都是 idata 区。data 区的低 128 
字节与 idata 区的低 128 字节是同一存储空间。data 区的高 128 字节
与 idata 区的高 128 字节属于不同的地址空间。

凡是能用 movx a,@dptr 访问的存储空间都是 xdata 区。
xdata 区的低 256 字节也称为 pdata 区,可以用 movx a,@r0 访问。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

180

帖子

0

粉丝