-
-
[求助]ARM 汇编代码有地方不理解,请教各位大佬
-
发表于:
2020-5-13 01:21
2944
-
[求助]ARM 汇编代码有地方不理解,请教各位大佬
请教下各位大佬
.text:000098DC 20 00 9F E5 LDR R0, =(ta_ptr - 0x98E8)
这一条的 pc+0x20 当作地址,然后取值,这个得的值,难道不是代码段的地址嘛,我有点不理解
.text:000098E0 00 00 9F E7 LDR R0, [PC,R0] ; ta
.text:000098E4 00 30 90 E5 LDR R3, [R0] ; "123456"
这两条就更不理解了
我不明白为什么这三条代码是怎么取到值的,请教各位大佬帮我解惑,感激不尽
源代码如下
#define LOG_TAG "armarm"
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__);
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__);
const char* ta = "123456";
void tfun4(){
LOGV("ta data is %s",ta);
}
这个编译成是32位的so armeabi-v7a
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2020-5-13 01:22
被shaqim编辑
,原因: