Pourquoi « ACALL » instruction ne fonctionne pas dans le microcontrôleur Atmel 89C2051?
-
15-10-2019 - |
Question
Je l'ai essayé avec Keil-µVision et Asem-51, mais ils encore brancher qu'il est une erreur de syntaxe. Voici mon code:
acall subroutine1
.
.
.
subroutine1:
.
.
.
ret
La solution
La partie AT89C2051 appuie certainement l'instruction de ACALL (revendications de sorte que la feuille de données et je l'ai utilisé moi-même avec succès).
Quelle est la exactement erreur que vous voyez dans chaque assembleur? Est-ce que le reste de votre compilation source OK?
Pouvez-vous poster la source exacte qui donne une erreur (ou faire un petit exemple qui illustre la question si le code lui-même est confidentiel)?
Autres conseils
Je viens compris. La définition du sous-programme doit aller d'abord avant de l'appeler:
org 0
sjmp start
subroutine1:
.
.
.
ret
start:
.
.
.
acall subroutine1
Merci psmears pour confirmer que "ACALL" instruction fonctionne vraiment pour AT89C2051.
@All, vous pouvez voter cette réponse si cela vous a aidé. Merci.