--- /dev/null
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution. The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+# SetJump.Asm\r
+#\r
+# Abstract:\r
+#\r
+# Implementation of SetJump() on IA-32.\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+ \r
+\r
+.global _SetJump\r
+_SetJump: \r
+ popl %ecx\r
+ movl (%esp),%edx\r
+ movl %ebx,(%edx)\r
+ movl %esi,4(%edx)\r
+ movl %edi,8(%edx)\r
+ movl %ebp,12(%edx)\r
+ movl %esp,16(%edx)\r
+ movl %ecx,20(%edx)\r
+ xorl %eax,%eax\r
+ jmp *%ecx\r
+\r
+\r
+\r