arm汇编指令ldrlb,strlw求指导 100分求解释!!!!!!!!!
求教下各位大侠,以下的ARM汇编指令表示啥意识?
strlw r0,lr,abort=20f
ldrlb r1,r3,ne,abort=20f
strlb r0,r3,ne,abort=20f
1:strlw是表示什么?str{条件},lw是不是这个条件,表示的是什么条件,还是整个是一个指令?
2:ldrlb是表示什么?ldr{条件},lb是不是这个条件,表示的是什么条件,还是整个是一个指令?
3:ne,cs这些表示的是什么玩意?
4:abort=20f这个又表示的是啥玩意?
求大神详解啊,万分感谢!
[解决办法]
用得哪个编译器啊????是不是做的特定扩展?
帮不了你了
[解决办法]
使用objdump反编译,另个把上下10句贴出来看看……
很怀疑你说的那三条指令只是三个常量数值。
由于arm对于立即数据的限制,编译器在处理常量数值的时候通常是将其统一放在该函数的未端,然后在函数正文中通过“ldr Rx, pc+offset”的形式来加载常量数值。
[解决办法]
strlw r0,lr,abort=20f
ldrlb r1,r3,ne,abort=20f
strlb r0,r3,ne,abort=20f
1:strlw是表示什么?str{条件},lw是不是这个条件,表示的是什么条件,还是整个是一个指令?
//对照源码看啥意思啊, 看register执行每一步是如何变化的
2:ldrlb是表示什么?ldr{条件},lb是不是这个条件,表示的是什么条件,还是整个是一个指令?
//b应该是字节的意思,
3:ne,cs这些表示的是什么玩意?
//CS是状态寄存器CPSR上的位
4:abort=20f这个又表示的是啥玩意?
//给这个标号赋值吧