1PUBLIC	_scheme_mz_setjmp
2PUBLIC	_scheme_mz_longjmp
3
4_TEXT	SEGMENT
5
6_scheme_mz_setjmp PROC
7	mov [RCX], RBX
8	mov [RCX+08h], RBP
9	mov [RCX+10h], RDI
10	mov [RCX+18h], RSI
11	mov [RCX+20h], RSP
12	mov [RCX+28h], R12
13	mov [RCX+30h], R13
14	mov [RCX+38h], R14
15	mov [RCX+40h], R15
16	stmxcsr [RCX+48h]
17	movdqu [RCX+50h], XMM6
18	movdqu [RCX+60h], XMM7
19	movdqu [RCX+70h], XMM8
20	movdqu [RCX+80h], XMM9
21	movdqu [RCX+90h], XMM10
22	movdqu [RCX+0A0h], XMM11
23	movdqu [RCX+0B0h], XMM12
24	movdqu [RCX+0C0h], XMM13
25	movdqu [RCX+0D0h], XMM14
26	movdqu [RCX+0E0h], XMM15
27	mov RAX, [RSP]
28	mov [RCX+0F0h], RAX
29	mov RAX, 0
30	ret
31_scheme_mz_setjmp ENDP
32
33_scheme_mz_longjmp PROC
34	mov RBX, [RCX]
35	mov RBP, [RCX+08h]
36	mov RDI, [RCX+10h]
37	mov RSI, [RCX+18h]
38	mov RSP, [RCX+20h]
39	mov R12, [RCX+28h]
40	mov R13, [RCX+30h]
41	mov R14, [RCX+38h]
42	mov R15, [RCX+40h]
43	ldmxcsr [RCX+48h]
44	movdqu XMM6, [RCX+50h]
45	movdqu XMM7, [RCX+60h]
46	movdqu XMM8, [RCX+70h]
47	movdqu XMM9, [RCX+80h]
48	movdqu XMM10, [RCX+90h]
49	movdqu XMM11, [RCX+0A0h]
50	movdqu XMM12, [RCX+0B0h]
51	movdqu XMM13, [RCX+0C0h]
52	movdqu XMM14, [RCX+0D0h]
53	movdqu XMM15, [RCX+0E0h]
54	mov RAX, [RCX+0F0h]
55	mov [RSP], RAX
56	mov RAX, RDX
57	ret
58_scheme_mz_longjmp ENDP
59
60_TEXT ENDS
61
62END
63
64