首页
社区
课程
招聘
[求助]请详细讲讲这两段代码的意思,感谢
2014-12-23 23:20 6414

[求助]请详细讲讲这两段代码的意思,感谢

2014-12-23 23:20
6414
.text:00090F98 var_28          = -0x28
.text:00090F98 var_24          = -0x24
.text:00090F98 var_20          = -0x20
.text:00090F98 var_1C          = -0x1C
.text:00090F98 var_18          = -0x18
.text:00090F98 var_14          = -0x14
.text:00090F98
.text:00090F98                 PUSH    {R4-R6,LR}
.text:00090F9A                 SUB     SP, SP, #0x18
.text:00090F9C                 MOVS    R1, R2
.text:00090F9E                 MOVS    R4, R0
.text:00090FA0                 MOVS    R6, R3
.text:00090FA2                 BL      jstringTostring
.text:00090FA6                 ADD     R5, SP, #0x28+var_24
.text:00090FA8                 MOVS    R1, R0
.text:00090FAA                 ADD     R2, SP, #0x28+var_14
.text:00090FAC                 MOVS    R0, R5
.text:00090FAE                 BLX     _ZNSsC1EPKcRKSaIcE ; std::string::string(char  const*,std::allocator<char>  const&)
.text:00090FB2                 MOVS    R0, R4
.text:00090FB4                 MOVS    R1, R6
.text:00090FB6                 BL      jstringTostring
.text:00090FBA                 MOVS    R1, R0
.text:00090FBC                 ADD     R2, SP, #0x28+var_18
.text:00090FBE                 MOV     R0, SP
.text:00090FC0                 BLX     _ZNSsC1EPKcRKSaIcE ; std::string::string(char  const*,std::allocator<char>  const&)
.text:00090FC4                 LDR     R0, [SP,#0x28+var_24]
.text:00090FC6                 LDR     R1, [SP,#0x28+var_28]

第二段:

.text:00090FCC                 MOVS    R4, R0
.text:00090FCE                 LDR     R0, [SP,#0x28+var_28]
.text:00090FD0                 ADD     R1, SP, #0x28+var_1C
.text:00090FD2                 SUBS    R0, #0xC
.text:00090FD4                 BLX     _ZNSs4_Rep10_M_disposeERKSaIcE ; std::string::_Rep::_M_dispose(std::allocator<char>  const&)
.text:00090FD8                 LDR     R0, [SP,#0x28+var_24]
.text:00090FDA                 ADD     R1, SP, #0x28+var_20
.text:00090FDC                 SUBS    R0, #0xC
.text:00090FDE                 BLX     _ZNSs4_Rep10_M_disposeERKSaIcE ; std::string::_Rep::_M_dispose(std::allocator<char>  const&)
.text:00090FE2                 ADD     SP, SP, #0x18
.text:00090FE4                 MOVS    R0, R4
.text:00090FE6                 POP     {R4-R6,PC}

请从开头.text:00090F98 var_28          = -0x28
这些起能稍微详细点讲讲,在学ARM汇编,很多不懂,
特别是几处BL、BLX,很不明白,请分析一下什么意思 ,还请讲讲函数的调用这些内容,不胜感激。

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回