1

Keil-µVision と Asem-51 で試してみましたが、それでも構文エラーであると指摘されています。これが私のコードです:

acall subroutine1
.
.
.

subroutine1:
.
.
.
ret
4

2 に答える 2

3

AT89C2051 の部分は、ACALL 命令を確実にサポートしています (そのため、データシートを主張しており、私はそれを自分でうまく使用しています)。

各アセンブラで発生している正確なエラーは何ですか? ソースの残りの部分は正常にコンパイルされますか?

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

于 2011-01-04T11:18:46.607 に答える
0

私はちょうどそれを理解しました。サブルーチン定義は、呼び出す前に最初に実行する必要があります。

   org 0
   sjmp start

subroutine1:
   .
   .
   .
   ret

start:
  .
  .
  .
  acall subroutine1

「acall」命令が AT89C2051 で実際に機能することを確認してくれた psmears に感謝します。

@All、これが役に立った場合は、この回答に投票できます。ありがとう。

于 2011-01-04T12:03:40.983 に答える