我在 c 文件(const int data_input[1024];)中定义了一些简单的静态数组,我需要从我的汇编代码中访问它。正确的方法是什么?
到目前为止,我一直在这样做:
.global data_input data_input_ptr: .word 数据输入 我的功能: adr r1,data_input_ptr bx lr
AFAIK,adr 是 ldr r1、=data_input_ptr 或类似的伪操作。
对我来说,我这样做的方式似乎不是很正确:首先,如果在链接时检测到可能的情况,adr r1, data_input 可能会直接使用 pc 相对寻址。另一个问题是关于 PIC:如果代码必须与位置无关怎么办。如果 data_input_ptr 的值必须由加载器初始化,它是如何工作的(我对此是否正确?)