jjzjj

currentMemberFunction

全部标签

windows - "ABI-volatile"寄存器被视为跨函数调用的非 volatile

在Windowsx64上,考虑到一些额外的见解,何时允许编译器将ABI标记为volatile的寄存器视为非volatile寄存器?我有一个反汇编函数,其中r11用于在函数调用后恢复另一个寄存器的值;当根据this,r11本身在函数调用中被认为是可变的。例如(来自反汇编函数):myLibrary!MyClass::currentMemberFunction+0x18:callmyLibrary!MyClass::calledMemberFunctioncmpdwordptr[rsp+68h],0movrdi,raxjemyLibrary!MyClass::currentMemberFun