ARM程序集访问C全局变量
根据http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0056d/Cihcciij.html ,如果我的ARM汇编代码需要访问名为globvar
的C全局变量,我应该使用import
和load
指令:
AREA globals,CODE,READONLY EXPORT asmsubroutine IMPORT globvar asmsubroutine LDR r1, =globvar ; read address of globvar into ; r1 from literal pool LDR r0, [r1] ADD r0, r0, #2 STR r0, [r1] MOV pc, lr END
,但是当我在我的代码中使用它时,会出现"bad instruction
import globvar”的错误。 我正在使用armv7-android-gcc编译器。 我也在这个论坛中寻找类似的问题,但我没有得到有用的结果,所以有人可以帮我解决这个问题吗? 非常感谢。
使用EXTERN globvar
而不是IMPORT globvar
。