这个单片机汇编程序有什么问题?????

2025-02-25 10:42:05
推荐回答(3个)
回答1:

你的汇编环境常量有很多是和具体的芯片相关的,看看你所使用的常量和你选择的芯片定义是不是相同的。像R1 ,R2等等,都是常量,并不是地址值,是编译器自己定义的,如果编译环境没有,那么就会提示UNDEFINED SYMBOL,要不你就直接把书本上的地址寄存器等名称符号该为地址,那就不会出现UNDEFINED SYMBOL错误了。

回答2:

asm(50) 和 A45

50:行号
A45:错误代码

asm(50) 和A45 表示50行发生了未定义错误,错误代码为A45

从上程序看,大部分是未定义错误,就是说,它找不着. 也可以说,你还未定义这些代号的值.

例如第13行:
MOV R0,#REGB
这个#REGB,编译时找不到它代表什么,所以报错
你应该在MOV R0,#REGB 这条指令之前定义REGB的值.

第38行:
LP1: LCALL SCHDULE

编译时找不到调用的子程序SCHDULE入口,它也报错了.就是说,你还没写SCHDULE这个子程序.

回答3:

是8051系列的吗