aboutsummaryrefslogtreecommitdiff
path: root/modules/objfmts/win64/tests/sce2.asm
blob: d76f9463190e145bde8fb2c661b989e83e0320b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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