blob: 18a55540f4ea8c0083ad7c431f4d05de6bd7b1e8 [file]
;; SPDX-License-Identifier: BSD-2-Clause
;; Copyright 1996-2025 The NASM Authors - All Rights Reserved
;;
;; List of global NASM directives and pragma operations codes
;;
;; ALL directives, including backend-specific, need to be added here.
;;
;; %pragma operation keywords (the second word, after facility) MAY
;; be added here too to assist in parsing, but it is not required.
;; See the definition of struct pragma in include/nasm.h.
;;
;; The same keyword can be used as a directive and as a pragma
;; operation, or as pragma operations in different namespaces. The
;; same D_ constant will be used for both, and this is perfectly
;; acceptable.
;;
;; In the future, this will be turned into a general list of keywords
;; to be parsed in special contexts.
;;
; --- General configuration
#name directive
#prefix D_
#errval D_unknown
#header directiv.h
; --- Special enum values
#special none = 0 ; Must be zero
#special unknown
#special corrupt
; --- Global directives
absolute
bits
common
cpu
debug
default
dollarhex
extern
float
global
static
list
section
segment
warning
sectalign
pragma
required
; --- Pseudo-op list, for the benefit of %isdirective
#special pseudo_ops
db
dw
dd
dq
dt
do
dy
dz
resb
resw
resd
resq
rest
reso
resy
resz
incbin
equ
; --- Format-specific directives
#special ofmt
export ; outcoff, outobj
group ; outobj
import ; outobj
library ; outrdf2
map ; outbin
module ; outrdf2
org ; outbin
osabi ; outelf
safeseh ; outcoff
uppercase ; outieee, outobj
; --- The following are tokens used in pragmas, not actual directives
#special pragma_tokens
; --- Assembler pragmas
prefix
suffix
gprefix
gsuffix
lprefix
lsuffix
limit
; --- Listing pragmas
options
; --- Backend pragmas
subsections_via_symbols ; macho
no_dead_strip ; macho
maxdump ; dbg
nodepend ; obj
noseclabels ; dbg