ARM程序集访问C全局变量

时间:2013-12-04 03:03:15

标签: c assembly arm

根据http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0056d/Cihcciij.html ,如果我的ARM汇编代码需要访问名为globvar的C全局变量,我应该使用importload这样的指令:

    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编译器。我也在这个论坛中寻找类似的问题,但我没有得到有用的结果,所以有人可以帮我解决这个问题吗?非常感谢。

1 个答案:

答案 0 :(得分:1)

使用EXTERN globvar代替IMPORT globvar