C51嵌入汇编问题
首先在要嵌入汇编的c文件中勾上这两项
我选择的默认内存是small模式,在项目中添加C51S.LIB
因为项目中有用到结构体,视乎这个模式下不支持结构体
这应该算是个BUG吧
本帖最后由 LAOXU 于 2024-1-11 17:49 编辑
汇编 不支持结构体
如要使用 C的结构体, 先引用外部C定义的结构体首地址, 汇编中实际地址需自行计算(+偏移量)
检查一下是不是结构体的用法有问题,附件例程供参考。 你的c代码里,把关键字idata定义成变量了,因为你把这个关键字书写为大写的,
所以c编译器可以通过,但是A51汇编器是不区分大小写的。
结果就是C51编译成功,但是A51汇编错误。 idata、data不宜用做自定义的变量,不管是C还是ASM。----这个问题还真不容易发现,学到了 21cnsound 发表于 2024-1-25 15:01
idata、data不宜用做自定义的变量,不管是C还是ASM。----这个问题还真不容易发现,学到了 ...
啊?不仅是这两个 是所有的关键字都不能用作变量。{:4_200:}
页:
[1]