【发布时间】:2011-06-03 07:56:15
【问题描述】:
我用 Keil-µVision 和 Asem-51 进行了尝试,但他们仍然认为这是一个语法错误。这是我的代码:
acall subroutine1
.
.
.
subroutine1:
.
.
.
ret
【问题讨论】:
标签: assembly embedded microcontroller firmware 8051
我用 Keil-µVision 和 Asem-51 进行了尝试,但他们仍然认为这是一个语法错误。这是我的代码:
acall subroutine1
.
.
.
subroutine1:
.
.
.
ret
【问题讨论】:
标签: assembly embedded microcontroller firmware 8051
AT89C2051 部分绝对支持 ACALL 指令(所以声称data sheet,我自己也成功使用过)。
您在每个汇编程序中看到的 exact 错误是什么?您的源代码的其余部分是否可以编译?
您能否发布给出错误的确切来源(或者如果代码本身是机密的,则可以举一个小例子来说明问题)?
【讨论】:
我刚刚想通了。子程序定义必须在调用前先行:
org 0
sjmp start
subroutine1:
.
.
.
ret
start:
.
.
.
acall subroutine1
感谢 psmears 确认“acall”指令确实适用于 AT89C2051。
@All,如果这对您有帮助,您可以投票赞成这个答案。谢谢。
【讨论】: