C ファイル ( const int data_input[1024]; ) で定義されたいくつかの単純な静的配列があり、アセンブリ コードからアクセスする必要があります。それを行う正しい方法は何ですか?
これまでのところ、私はこのようにしてきました:
.global data_input data_input_ptr: .word data_input 私の関数: adr r1, data_input_ptr bx lr
私の知る限り、 adr はldr r1、= data_input_ptrまたはそのようなものに対する疑似操作です。
私のやり方はあまり正しくないようです。まず、 adr r1, data_input は、リンク時に可能であることが検出された場合、PC 相対アドレス指定を直接使用する可能性があります。もう 1 つの問題は PIC に関するものです。コードが位置に依存しない必要がある場合はどうでしょう。ローダーによって data_input_ptr の値を初期化する必要がある場合、どのように機能しますか (私はそれについて正しいですか?)