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
Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top