Skip to content

Call Conventions

Archisman Mridha edited this page Aug 30, 2024 · 1 revision
Platform Return Value Parameter Register Additional Parameters Stack Alignment Sratch Registers Preserved Registers Call List
System V i386 eax,edx none stack (right to left) eax,ecx,edx ebx,esi,edi,edp,esp ebp
System V x86_64 rax,rdx rdi,rsi,rdx,rcx,r8,r9 stack (right to left) 16-byte at call rax,rdi,rsi,rdx,rcx,r8,r9,r10,r11 rbx,rsp,rbp,r12,r13,r14,r15 rbp
Microsoft x64 rax rci,rdi,r8,r9 stack (right to left) 16-byte at call rax,rci,rdi,rdx,r8,r9,r10,r11 rbx,rdi,rsi,rsp,rbp,r10,r11,r12,r13,r14,r14 rbp
ARM r0,r1 r0,r1,r2,r3 stack byte-byte r0,r1,r2,r3,r12 r4,r5,r6,r7,r8r,9,r10,r11,r13,r14
Clone this wiki locally