program_prologue_win64.inc 554 B

123456789101112131415161718192021222324
  1. ;# callee-saved registers - Microsoft x64 calling convention
  2. push rbx
  3. push rbp
  4. push rdi
  5. push rsi
  6. push r12
  7. push r13
  8. push r14
  9. push r15
  10. sub rsp, 80
  11. movdqu xmmword ptr [rsp+64], xmm6
  12. movdqu xmmword ptr [rsp+48], xmm7
  13. movdqu xmmword ptr [rsp+32], xmm8
  14. movdqu xmmword ptr [rsp+16], xmm9
  15. movdqu xmmword ptr [rsp+0], xmm10
  16. ;# function arguments
  17. push rcx ;# RegisterFile& registerFile
  18. mov rbx, rdx ;# MemoryRegisters& memory
  19. mov rsi, r8 ;# convertible_t* scratchpad
  20. include program_prologue_load.inc
  21. jmp randomx_program_begin