我正在研究一些 ARM 反汇编。正在对文件进行操作:
0000e550 sub r3, r11, #0x2d0
0000e554 mov r0, r3 ; /tmp/MAC
0000e558 ldr r1, = 0x9a60c ; 0xec04 (sub_e3a8 + 0x85c)
0000e55c mov r2, #0x8 ; std::basic_fstream<char,std::char_traits<char>>::basic_fstream(char const*,std::_Ios_Openmode)
0000e560 bl _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@PLT ; std::basic_fstream<char, std::char_traits<char> >::basic_fstream(char const*, std::_Ios_Openmode)
r0是“ this”,r1是路径( /tmp/MAC),r2是模式。可以看出,模式是0x8。
根据几个来源,该模式是“实现定义的” 。不幸的是,我没有得到实施的细节。
这在 ARM 上的典型实现是什么?