]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Ia32/Nasm.inc
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / Ia32 / Nasm.inc
CommitLineData
68edd7db
JY
1;------------------------------------------------------------------------------\r
2;\r
bbaa00dd 3; Copyright (c) 2019 - 2022, Intel Corporation. All rights reserved.<BR>\r
9344f092 4; SPDX-License-Identifier: BSD-2-Clause-Patent\r
68edd7db
JY
5;\r
6; Abstract:\r
7;\r
8; This file provides macro definitions for NASM files.\r
9;\r
10;------------------------------------------------------------------------------\r
11\r
e59760f8
RN
12; NASM provides built-in macros STRUC and ENDSTRUC for structure definition.\r
13; For example, to define a structure called mytype containing a longword,\r
14; a word, a byte and a string of bytes, you might code\r
15;\r
16; struc mytype\r
17;\r
18; mt_long: resd 1\r
19; mt_word: resw 1\r
20; mt_byte: resb 1\r
21; mt_str: resb 32\r
22;\r
23; endstruc\r
24;\r
25; Below macros are help to map the C types and the RESB family of pseudo-instructions.\r
26; So that the above structure definition can be coded as\r
27;\r
28; struc mytype\r
29;\r
30; mt_long: CTYPE_UINT32 1\r
31; mt_word: CTYPE_UINT16 1\r
32; mt_byte: CTYPE_UINT8 1\r
33; mt_str: CTYPE_CHAR8 32\r
34;\r
35; endstruc\r
36%define CTYPE_UINT64 resq\r
37%define CTYPE_INT64 resq\r
38%define CTYPE_UINT32 resd\r
39%define CTYPE_INT32 resd\r
40%define CTYPE_UINT16 resw\r
41%define CTYPE_INT16 resw\r
42%define CTYPE_BOOLEAN resb\r
43%define CTYPE_UINT8 resb\r
44%define CTYPE_CHAR8 resb\r
45%define CTYPE_INT8 resb\r
46\r
47%define CTYPE_UINTN resd\r
48%define CTYPE_INTN resd\r