| struc kFrame |
| .Fill resq 1 ; fill to 8 mod 16 |
| .SavedRdi resq 1 ; saved register RDI |
| .SavedRsi resq 1 ; saved register RSI |
| endstruc |
| |
| struc sampleFrame |
| .Fill resq 1 ; fill to 8 mod 16 |
| .SavedRdi resq 1 ; Saved Register RDI |
| .SavedRsi resq 1 ; Saved Register RSI |
| endstruc |
| |
| PROC_FRAME sample2 |
| alloc_stack sampleFrame_size |
| save_reg rdi, sampleFrame.SavedRdi |
| save_reg rsi, sampleFrame.SavedRsi |
| END_PROLOGUE |
| |
| ; function body |
| |
| mov rsi, [rsp+sampleFrame.SavedRsi] |
| mov rdi, [rsp+sampleFrame.SavedRdi] |
| |
| ; Here's the official epilog |
| |
| add rsp, sampleFrame_size |
| ret |
| ENDPROC_FRAME |
| |