在下面建议的方式中使用“__asm__(”;这是一个注释\nlabel:\n\t nop“);或类似的变化时,会出现“警告112:函数'__asm__'隐式声明”,然后出现“错误101:参数太多” ,就好像我试图调用未声明的函数一样。 我也尝试了{{link1:SDCC手册}}第3.14节中的所有其他选项。 __asm ... __endasm在__asm上给出语法错误,单个下划线也是如此,并且空格,换行符或同一行的组合都没有帮助。
如果我正确地从Makefile中拼接命令行(不包括#include路径),则SDCC命令行中的CFLAGS为:
-Wp,-MD,$(@:%.rel=%.d),-MT,$@,-MP --disable-warning 110 -Wa,-p --model-medium
-std=gnu99
作为标志传递给gcc。 - Santosh A_asm
已经被弃用,请使用__asm
,但仍然无法正常工作。SDCC帮助文档中提到它是v3.1.0版本。我在编译器选项中没有看到任何内联汇编标志。 - CarpeCimexpreproc_asm
的描述。它应该默认为“开启”,但似乎并没有。加上+
或-
也可以工作。请将此放入答案中,我会点赞的。没有你的帮助,我绝对不可能想出这个解决方法! - CarpeCimex