【发布时间】:2016-10-16 21:10:53
【问题描述】:
在谷歌上搜索了一段时间,但我找不到任何与此相关的文档。我一直在尝试学习 ARM,并且一直在查看为我编写的一个简单的calculator.c 程序编译的 ARM 汇编代码,以查看我是否能理解发生了什么。我一直看到的是这样的说明:
LDR R3, =__stack_chk_guard__GLIBC_2.4
或
LDR R0, =aEnterOperator ; "Enter operator: "
或
LDR R0, =aSIsNotAValidOp ; "%s is not a valid operator. Enter +, -"
注意:分号后面的内容只是IDA添加的自动cmets。
我的问题是,这些 LDR 右侧的“=”是什么意思?在第一种情况下,它似乎是一些指示库加载的标记;在第二种和第三种情况下,'=a' 似乎以 printf 开头。我只是不太确定这一点,因为我在文档中找不到关于 LDR 的这种语法的任何信息。有人可以帮我理解这一点吗?谢谢!
【问题讨论】:
-
您使用哪种汇编程序?你读过汇编器的文档吗?