;; 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