blob: c71b06a81e898be6c19f2bd23465418e01d7c724 [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301 TITLE CpuAsm.asm:
2;------------------------------------------------------------------------------
3;*
4;* Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR>
5;* This program and the accompanying materials
6;* are licensed and made available under the terms and conditions of the BSD License
7;* which accompanies this distribution. The full text of the license may be found at
8;* http://opensource.org/licenses/bsd-license.php
9;*
10;* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11;* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12;*
13;* CpuAsm.asm
14;*
15;* Abstract:
16;*
17;------------------------------------------------------------------------------
18
19 .code
20
21;------------------------------------------------------------------------------
22; VOID
23; SetCodeSelector (
24; UINT16 Selector
25; );
26;------------------------------------------------------------------------------
27SetCodeSelector PROC PUBLIC
28 sub rsp, 0x10
29 lea rax, setCodeSelectorLongJump
30 mov [rsp], rax
31 mov [rsp+4], cx
32 jmp fword ptr [rsp]
33setCodeSelectorLongJump:
34 add rsp, 0x10
35 ret
36SetCodeSelector ENDP
37
38;------------------------------------------------------------------------------
39; VOID
40; SetDataSelectors (
41; UINT16 Selector
42; );
43;------------------------------------------------------------------------------
44SetDataSelectors PROC PUBLIC
45 mov ss, cx
46 mov ds, cx
47 mov es, cx
48 mov fs, cx
49 mov gs, cx
50 ret
51SetDataSelectors ENDP
52
53END
54