1 ; Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
2 ; This program and the accompanying materials
3 ; are licensed and made available under the terms and conditions of the BSD License
4 ; which accompanies this distribution. The full text of the license may be found at
5 ; http://opensource.org/licenses/bsd-license.php
7 ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
8 ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 ; Implementation of SetJump() on x64.
18 ;------------------------------------------------------------------------------
22 EXTERNDEF InternalAssertJumpBuffer:PROC
24 ;------------------------------------------------------------------------------
28 ; OUT BASE_LIBRARY_JUMP_BUFFER *JumpBuffer
30 ;------------------------------------------------------------------------------
34 call InternalAssertJumpBuffer
48 ; save non-volatile fp registers
50 movdqu [rcx + 58h], xmm6
51 movdqu [rcx + 68h], xmm7
52 movdqu [rcx + 78h], xmm8
53 movdqu [rcx + 88h], xmm9
54 movdqu [rcx + 98h], xmm10
55 movdqu [rcx + 0A8h], xmm11
56 movdqu [rcx + 0B8h], xmm12
57 movdqu [rcx + 0C8h], xmm13
58 movdqu [rcx + 0D8h], xmm14
59 movdqu [rcx + 0E8h], xmm15