我现在在做课设,规定要用汇编写代码。我想用keil写C程序,编译得到汇编代码。C程序编译出来的hex文件是能按我预期的去运行的。
但是同一程序的,用keil编译出来的汇编a.asm和b.asm(勾选Generate Assembler SRC File”和 “Assemble SRC File”),我建立新工程,把两个汇编加进工程中,编译,产生了好多警告
*
** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: ?C?FPMUL
MODULE: main.obj (MAIN)
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: ?C?FPADD
MODULE: main.obj (MAIN)
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: ?C?CASTF
MODULE: main.obj (MAIN)
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: ?C?SIDIV
虽然能生成hex文件,但是把hex文件烧进单片机,它没我按照我预想的去工作,(C程序编译出来的hex文件是能按我预期的去运行的。
)
问题一:我这样生成的汇编功能真的能跟C程序一样吗
问题二:我发现那些警告的意思是 有指令要跳转到不存在的地方,我在C程序调试的汇编窗口找到了那些地方,那些地方对应着 汇编的指令中间。也就是说
跳转的位置是另一条指令的其中一个字节。怎么办
一周热门 更多>