Keil-µVision と Asem-51 で試してみましたが、それでも構文エラーであると指摘されています。これが私のコードです:
acall subroutine1
.
.
.
subroutine1:
.
.
.
ret
Keil-µVision と Asem-51 で試してみましたが、それでも構文エラーであると指摘されています。これが私のコードです:
acall subroutine1
.
.
.
subroutine1:
.
.
.
ret
AT89C2051 の部分は、ACALL 命令を確実にサポートしています (そのため、データシートを主張しており、私はそれを自分でうまく使用しています)。
各アセンブラで発生している正確なエラーは何ですか? ソースの残りの部分は正常にコンパイルされますか?
エラーが発生している正確なソースを投稿できますか (または、コード自体が機密である場合は、問題を示す小さな例を作成してください)?
私はちょうどそれを理解しました。サブルーチン定義は、呼び出す前に最初に実行する必要があります。
org 0
sjmp start
subroutine1:
.
.
.
ret
start:
.
.
.
acall subroutine1
「acall」命令が AT89C2051 で実際に機能することを確認してくれた psmears に感謝します。
@All、これが役に立った場合は、この回答に投票できます。ありがとう。