ATMEL 89C2051マイクロコントローラーで「Acall」命令が機能しないのはなぜですか?

StackOverflow https://stackoverflow.com/questions/4592817

質問

Keil-visionとASEM-51で試しましたが、それでも構文エラーであるとプラグしています。これが私のコードです:

acall subroutine1
.
.
.

subroutine1:
.
.
.
ret
役に立ちましたか?

解決

AT89C2051パートは間違いなくACALL命令をサポートしています(だから主張 データシート そして、私はそれを自分で使用しました)。

何ですか ちょうど 各アセンブラーで表示されているエラーは?ソースの残りの部分は大丈夫ですか?

エラーを提供している正確なソースを投稿できますか(または、コード自体が機密である場合に問題を示す小さな例を作成します)?

他のヒント

私はそれを理解しました。サブルーチンの定義は、それを呼び出す前に最初に行かなければなりません:

   org 0
   sjmp start

subroutine1:
   .
   .
   .
   ret

start:
  .
  .
  .
  acall subroutine1

「Acall」指導が実際にAT89C2051で機能することを確認してくれたPSMearsに感謝します。

@all、これがあなたを助けたなら、あなたはこの答えを投票することができます。ありがとう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top