Como determinar se os registros são carregados da direita para a esquerda ou vice-versa

Ao revisar a saída gdb e examinar as chamadas de montagem, geralmente encontro um comando usando valores codificados para determinar se os registradores estão sendo carregados da direita para a esquerda ou vice-versa.

Geralmente algo como o seguinte:

  sub     rsp, 16

ou

  sub     16, rsp 

Mas outras vezes, nenhum valor como o acima é visível. Tudo o que vejo são chamadas como as seguintes:

(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.

Como se determina se os valores são processados da esquerda para a direita ou vice-versa?

questionAnswers(1)

yourAnswerToTheQuestion