; Standard macro set for NASM -*- nasm -*-

; Note that although some user-level forms of directives are defined
; here, not all of them are: the user-level form of a format-specific
; directive should be defined in the module for that directive.

; These two need to be defined, though the actual definitions will
; be constantly updated during preprocessing.
%define __FILE__
%define __LINE__

%define __SECT__ [section .text] ; it ought to be defined, even if as nothing

%imacro section 1+.nolist
%define __SECT__ [section %1]
	  __SECT__
%endmacro
%imacro segment 1+.nolist
%define __SECT__ [segment %1]
	  __SECT__
%endmacro

%imacro absolute 1+.nolist
%define __SECT__ [absolute %1]
	  __SECT__
%endmacro

%imacro struc 1-2.nolist 0
%push struc
%define %$strucname %1
[absolute %2]
%$strucname:			; allow definition of `.member' to work sanely
%endmacro 
%imacro endstruc 0.nolist
%{$strucname}_size EQU $ - %$strucname
%pop
__SECT__
%endmacro

%imacro istruc 1.nolist
%push istruc
%define %$strucname %1
%$strucstart:
%endmacro
%imacro at 1-2+.nolist
	  times %1-($-%$strucstart) db 0
	  %2
%endmacro
%imacro iend 0.nolist
	  times %{$strucname}_size-($-%$strucstart) db 0
%pop
%endmacro

%imacro align 1-2+.nolist nop
%ifidni %2,nop
	  [align %1]
%else
	  times ($$-$) & ((%1)-1) %2
%endif
%endmacro
%imacro alignb 1-2+.nolist resb 1
	  times ($$-$) & ((%1)-1) %2
%endmacro

%imacro extern 1-*.nolist
%rep %0
[extern %1]
%rotate 1
%endrep
%endmacro

%imacro bits 1+.nolist
[bits %1]
%endmacro

%imacro use16 0.nolist
[bits 16]
%endmacro
%imacro use32 0.nolist
[bits 32]
%endmacro
%imacro use64 0.nolist
[bits 64]
%endmacro

%imacro global 1-*.nolist
%rep %0
[global %1]
%rotate 1
%endrep
%endmacro

%imacro common 1-*.nolist
%rep %0
[common %1]
%rotate 1
%endrep
%endmacro

%imacro cpu 1+.nolist
[cpu %1]
%endmacro

%imacro default 1+.nolist
[default %1]
%endmacro

; NASM compatibility shim
%define __OUTPUT_FORMAT__ __YASM_OBJFMT__
