hola!
en x64 los 4 primeros parametros se ponen en: rcx, rdx, r8, r9, y el resto de parametros si se necesitan van a la pila. ok, entendido.
pero lo que NO ENTIENDO es COMO SE AJUSTA LA PILA.
o sea, en esta llamada a MessageBoxA:
sub rsp, 28h
xor rcx, rcx
lea rdx, qword ptr [lpText]
lea r8, qword ptr [lpCaption]
xor r9, r9
call MessageBoxA
por que se resta a rsp 28h?
sí: hay que ajustar la pila y dejar espacio para los 4 parametros, pero entonces seria:
4 * 8 = 32 y en hexadecimal 20h.
¿ese 8 extra, para que quede 28h, por que se añade?
se que tiene que ver con algo de ALINEAR LA PILA, ¿a 8? ¿a 16? ....
¿alguien lo sabe? ¿alguien me lo explica? gracias!