我尝试使用Keil-μVision和Asem-51,但他们仍然认为这是一个语法错误。这是我的代码:
acall subroutine1
.
.
.
subroutine1:
.
.
.
ret
答案 0 :(得分:3)
AT89C2051部分肯定支持ACALL指令(因此声称data sheet并且我自己成功使用了它。)
您在每个汇编程序中看到的完全错误是什么?你的其他资源编译好吗?
您是否可以发布导致错误的确切来源(或者如果代码本身是机密的,请提供一个演示问题的小例子)?
答案 1 :(得分:0)
我只是想通了。子程序定义必须先调用才能调用它:
org 0
sjmp start
subroutine1:
.
.
.
ret
start:
.
.
.
acall subroutine1
感谢psmears确认“acall”指令确实适用于AT89C2051。
@All,如果这对你有所帮助,你可以投票给这个答案。感谢。