我使用Keil-µVision和ASEM-51尝试了一下,但他们仍然插入这是语法错误。这是我的代码:

acall subroutine1
.
.
.

subroutine1:
.
.
.
ret
有帮助吗?

解决方案

AT89C2051零件绝对支持ACALL指令(因此要求 数据表 而且我自己成功使用了它)。

是什么 精确的 您在每个汇编程序中看到的错误?其余的源可以编译吗?

您可以发布给出错误的确切源(如果代码本身是机密的,则说明了一个小示例来证明问题)?

其他提示

我只是想出来。子例程定义必须先进行,然后再调用:

   org 0
   sjmp start

subroutine1:
   .
   .
   .
   ret

start:
  .
  .
  .
  acall subroutine1

感谢Psmears确认“ Acall”指令确实适用于AT89C2051。

@all,如果这对您有帮助,您可以投票给这个答案。谢谢。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top