1 ;------------------------------------------------------------------------------
3 ; Copyright (c) 2019 - 2021, Intel Corporation. All rights reserved.<BR>
4 ; SPDX-License-Identifier: BSD-2-Clause-Patent
8 ; This file provides macro definitions for NASM files.
10 ;------------------------------------------------------------------------------
13 DB 0xF3, 0x0F, 0x01, 0xEA
17 DB 0x67, 0xF3, 0x0F, 0xAE, 0x30
21 DB 0x67, 0xF3, 0x0F, 0x01, 0x28
25 DB 0xF3, 0x0F, 0x01, 0xE8
29 DB 0xF3, 0x0F, 0x1E, 0xC8
33 DB 0xF3, 0x0F, 0xAE, 0xE8
36 ; NASM provides built-in macros STRUC and ENDSTRUC for structure definition.
37 ; For example, to define a structure called mytype containing a longword,
38 ; a word, a byte and a string of bytes, you might code
49 ; Below macros are help to map the C types and the RESB family of pseudo-instructions.
50 ; So that the above structure definition can be coded as
54 ; mt_long: CTYPE_UINT32 1
55 ; mt_word: CTYPE_UINT16 1
56 ; mt_byte: CTYPE_UINT8 1
57 ; mt_str: CTYPE_CHAR8 32
60 %define CTYPE_UINT64 resq
61 %define CTYPE_INT64 resq
62 %define CTYPE_UINT32 resd
63 %define CTYPE_INT32 resd
64 %define CTYPE_UINT16 resw
65 %define CTYPE_INT16 resw
66 %define CTYPE_BOOLEAN resb
67 %define CTYPE_UINT8 resb
68 %define CTYPE_CHAR8 resb
69 %define CTYPE_INT8 resb
71 %define CTYPE_UINTN resd
72 %define CTYPE_INTN resd