我尝试了Keil-µVision和Asem-51,但他们仍然认为这是一个语法错误。下面是我的代码:
acall subroutine1 . . . subroutine1: . . . ret
hmae6n7t1#
AT89C2051部分绝对支持ACALL指令(因此声称data sheet,我自己也成功地使用了它)。你在每个汇编器中看到的“确切”错误是什么?你的源代码的其余部分编译好了吗?你能发布给出错误的确切来源吗(或者如果代码本身是保密的,可以做一个小例子来演示这个问题)?
fnvucqvd2#
我刚想明白。在调用子例程之前,必须先执行子例程定义:
org 0 sjmp start subroutine1: . . . ret start: . . . acall subroutine1
感谢psmears确认“acall”指令确实适用于AT89C2051。
2条答案
按热度按时间hmae6n7t1#
AT89C2051部分绝对支持ACALL指令(因此声称data sheet,我自己也成功地使用了它)。
你在每个汇编器中看到的“确切”错误是什么?你的源代码的其余部分编译好了吗?
你能发布给出错误的确切来源吗(或者如果代码本身是保密的,可以做一个小例子来演示这个问题)?
fnvucqvd2#
我刚想明白。在调用子例程之前,必须先执行子例程定义:
感谢psmears确认“acall”指令确实适用于AT89C2051。