Assembly 无用的储存和装载
在反编译程序中,我可以使用以下指令:Assembly 无用的储存和装载,assembly,arm,Assembly,Arm,在反编译程序中,我可以使用以下指令: 890c: e50b0008 str r0, [fp, #-8] 8910: e50b100c str r1, [fp, #-12] 8914: e51b0008 ldr r0, [fp, #-8] 8918: e51b100c ldr r1, [fp, #-12] 最后2个ldr的意义是什么?编译器在未完全优化时会发出这
890c: e50b0008 str r0, [fp, #-8]
8910: e50b100c str r1, [fp, #-12]
8914: e51b0008 ldr r0, [fp, #-8]
8918: e51b100c ldr r1, [fp, #-12]
最后2个ldr的意义是什么?编译器在未完全优化时会发出这些信息。线条像
a = 0;
return a;
当编译以进行调试时,将有点像这样
回复:评论:在这种情况下,它很可能是一个调用序列
a = something; //compiler: calculate in register, write out to memory
b = something_else; //compiler: calculate in register, write out to memory
Func(a, b); //compiler: pick up from memory, branch and link to the function
编译器在未完全优化时发出这些消息。线条像
a = 0;
return a;
当编译以进行调试时,将有点像这样
回复:评论:在这种情况下,它很可能是一个调用序列
a = something; //compiler: calculate in register, write out to memory
b = something_else; //compiler: calculate in register, write out to memory
Func(a, b); //compiler: pick up from memory, branch and link to the function
另一种可能是程序正在修改内存映射的I/O寄存器。另一种可能是程序正在修改内存映射的I/O寄存器。下一条指令是解释所有这些的bl。下一条指令是解释所有这些的bl。IO映射在[fp,-8]?没有理由fp不能用作通用寄存器映射到[fp,-8]?没有理由fp不能用作通用寄存器