При просмотре вывода 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.
Как определить, обрабатываются ли значения слева направо или наоборот?