在查看 gdb 输出并查看程序集调用时,通常我可以找到一个使用硬编码值的命令来确定寄存器是从右到左加载还是反之亦然。
通常类似于以下内容:
sub rsp, 16
或者
sub 16, rsp
但其他时候,没有像上面这样的值是可见的。我所看到的只是如下调用:
(gdb) disassemble
Dump of assembler code for function main:
0x0000000100000f54 <main+4>: mov $rdi,%r15
0x0000000100000f59 <main+9>: mov $rsi,%r14
0x0000000100000f60 <main+16>: mov $rdx,%r13
0x0000000100000f67 <main+23>: mov $ecx,$r12d
End of assembler dump.
如何确定值是从左到右处理还是反之亦然?