QQ624353765 发表于 2024-1-11 08:43:40

C51嵌入汇编问题




首先在要嵌入汇编的c文件中勾上这两项




我选择的默认内存是small模式,在项目中添加C51S.LIB




因为项目中有用到结构体,视乎这个模式下不支持结构体




这应该算是个BUG吧

LAOXU 发表于 2024-1-11 09:39:13

本帖最后由 LAOXU 于 2024-1-11 17:49 编辑

汇编 不支持结构体

如要使用 C的结构体, 先引用外部C定义的结构体首地址, 汇编中实际地址需自行计算(+偏移量)

乘风飞扬 发表于 2024-1-11 10:03:21

检查一下是不是结构体的用法有问题,附件例程供参考。

liuyang21168 发表于 2024-1-12 23:12:02

你的c代码里,把关键字idata定义成变量了,因为你把这个关键字书写为大写的,
所以c编译器可以通过,但是A51汇编器是不区分大小写的。
结果就是C51编译成功,但是A51汇编错误。

21cnsound 发表于 2024-1-25 15:01:23

idata、data不宜用做自定义的变量,不管是C还是ASM。----这个问题还真不容易发现,学到了

_奶咖君_ 发表于 2024-1-25 16:10:40

21cnsound 发表于 2024-1-25 15:01
idata、data不宜用做自定义的变量,不管是C还是ASM。----这个问题还真不容易发现,学到了 ...

啊?不仅是这两个 是所有的关键字都不能用作变量。{:4_200:}
页: [1]
查看完整版本: C51嵌入汇编问题