VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/X64/Nasm.inc@ 101283

Last change on this file since 101283 was 99404, checked in by vboxsync, 2 years ago

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

  • Property svn:eol-style set to native
File size: 1.8 KB
Line 
1;------------------------------------------------------------------------------
2;
3; Copyright (c) 2019 - 2022, Intel Corporation. All rights reserved.<BR>
4; SPDX-License-Identifier: BSD-2-Clause-Patent
5;
6; Abstract:
7;
8; This file provides macro definitions for NASM files.
9;
10;------------------------------------------------------------------------------
11
12;
13; Macro for the PVALIDATE instruction, defined in AMD APM volume 3.
14; NASM feature request URL: https://bugzilla.nasm.us/show_bug.cgi?id=3392753
15;
16%macro PVALIDATE 0
17 DB 0xF2, 0x0F, 0x01, 0xFF
18%endmacro
19
20;
21; Macro for the RMPADJUST instruction, defined in AMD APM volume 3.
22; NASM feature request URL: https://bugzilla.nasm.us/show_bug.cgi?id=3392754
23;
24%macro RMPADJUST 0
25 DB 0xF3, 0x0F, 0x01, 0xFE
26%endmacro
27
28; NASM provides built-in macros STRUC and ENDSTRUC for structure definition.
29; For example, to define a structure called mytype containing a longword,
30; a word, a byte and a string of bytes, you might code
31;
32; struc mytype
33;
34; mt_long: resd 1
35; mt_word: resw 1
36; mt_byte: resb 1
37; mt_str: resb 32
38;
39; endstruc
40;
41; Below macros are help to map the C types and the RESB family of pseudo-instructions.
42; So that the above structure definition can be coded as
43;
44; struc mytype
45;
46; mt_long: CTYPE_UINT32 1
47; mt_word: CTYPE_UINT16 1
48; mt_byte: CTYPE_UINT8 1
49; mt_str: CTYPE_CHAR8 32
50;
51; endstruc
52%define CTYPE_UINT64 resq
53%define CTYPE_INT64 resq
54%define CTYPE_UINT32 resd
55%define CTYPE_INT32 resd
56%define CTYPE_UINT16 resw
57%define CTYPE_INT16 resw
58%define CTYPE_BOOLEAN resb
59%define CTYPE_UINT8 resb
60%define CTYPE_CHAR8 resb
61%define CTYPE_INT8 resb
62
63%define CTYPE_UINTN resq
64%define CTYPE_INTN resq
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette