伪指令的问题

[复制链接]
3144|11
 楼主| szshawn2010 发表于 2010-1-10 12:40 | 显示全部楼层 |阅读模式
原来有的MCU不支持 DB 伪指令.

大虾出来,说说你们在使用各种MCU时,其DB功能的伪指令都有哪些

也好让我一个个试一下.
NE5532 发表于 2010-1-10 12:45 | 显示全部楼层
建表格
 楼主| szshawn2010 发表于 2010-1-10 12:48 | 显示全部楼层
2# NE5532


能简单的说一下,如何建立表格吗?我其实刚学这个没多久,真是久旱盼甘露啊,望教诲!
zhaogongzuo 发表于 2010-1-10 20:21 | 显示全部楼层
ORG  0100H
DATA0: DB   11H,22H,33H,44H

            ORG  0400H
DATA1:DW   2345H,33H

DB的功能是在程序存储器中定义字节
上面第一行是指:从存储器地址0100开始放入数据,如:0100H地址放数据11H,0101放22。。。以此类推
最后一行是跟前面一样的意思,不过放的是,如0400H地址中放23H,然后0401中放45H;0402中放00H,0403中放33H。。。。。。。。

这些在书上都有,为什么不去看书呢?
zhaogongzuo 发表于 2010-1-10 20:22 | 显示全部楼层
晕。。。。。。我写个“冒号D”就变成笑了。。。。真是一个BUG
原野之狼 发表于 2010-1-10 20:26 | 显示全部楼层
这不是BUG 你可以使用贴代码的功能
DB就是在指令区填充数据
 楼主| szshawn2010 发表于 2010-1-10 20:32 | 显示全部楼层
但是这个MCU娘娘滴不支持DB伪指令

我写进行去,他看不懂,还提示我有错误.

我查了datasheet ,没有介绍伪指令的章节.晕死
xwj 发表于 2010-1-10 20:48 | 显示全部楼层
和MCU无关,是编译器的问题,应该去找编译器的帮助文档
xinzha 发表于 2010-1-10 21:59 | 显示全部楼层
同意楼上,个人认为伪指令本身就不是ISA的内容,只是汇编器提供的一些为了简化程序员工作的类似于工具的东西,所以看最终的二进制文件的反汇编码,有可能跟程序员输入的指令是不一致的。
比如在ARM中的立即数加载,有些32位立即数不能够用一条汇编加载进寄存器,为了简化这种操作,一般ARM的汇编器都提供了看起来像是单条指令加载32位立即数的伪指令(而实际上最终的机器码还是两条指令),屏蔽了一些没必要让程序员去考虑的细节。
peigang 发表于 2010-1-11 12:12 | 显示全部楼层
DB简单点来说就是在指令区填充数据,方便使用。
5880527 发表于 2010-1-11 12:23 | 显示全部楼层
如果你有耐心,一个程序就完全用DB来完成也不是不可能哈;P
huangqi412 发表于 2010-1-11 13:12 | 显示全部楼层
读编译器HELP,,,   应该有相应的东西.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

92

主题

636

帖子

1

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