2011-01-04 14 views

答えて

3

AT89C2051部分は間違いなくACALL命令をサポートしています(そうdata sheetを主張し、私はそれを自分自身を首尾よく使用しました)。

正確なエラーは、各アセンブラで表示されていますか?残りのソースはOKですか?

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

0

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

org 0 
    sjmp start 

subroutine1: 
    . 
    . 
    . 
    ret 

start: 
    . 
    . 
    . 
    acall subroutine1 

ありがとうpsmearsを「ACALL」命令は本当にAT89C2051のために働くことを確認するため。

@All、これがあなたを助けた場合、この回答を投票することができます。ありがとう。

+2

ソースファイルの後半でサブルーチンを呼び出すことができるはずです。これを行う方法は、アセンブラ(Keil/Assem-51/etc)に依存しますが、トリックを行うべき「2パス」アセンブリのオプションがある場合は... – psmears

関連する問題