1

I cant seem to find what registers need to be preserved in the x86-64 Microsoft calling convention. I understand the first 4 parameters are in rcx/rdx/r8/r9 (Assuming non-floats). But what other registers do I need to preserve/if any?

For example in CDECL I have to preserve EBX/EDI/ESI. Is there any such notion in x86-64, or can I simply use any of the available registers?

x86-64 Microsoft (Windows x64) is a different calling convention than the x86-64 System V ABI: Why does Windows64 use a different calling convention from all other OSes on x86-64?

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847
Without Me It Just Aweso
  • 4,593
  • 10
  • 35
  • 53

1 Answers1

0

This answer was provided by harold as a comment, but moving it here so I can mark it as the answer:

x64 Calling Conventions - Register Usage

phuclv
  • 37,963
  • 15
  • 156
  • 475
Without Me It Just Aweso
  • 4,593
  • 10
  • 35
  • 53