NASM-X

This manual documents NASM-X, a package of macros for Nasm - the Netwide Assembler

Chapter 1: Introduction
Section 1.1: What Is NASM-X?
Section 1.2: License Conditions
Section 1.3: Contact Information
Section 1.4: Installation
Section 1.4.1: Installing NASM-X under Windows
Section 1.4.2: Installing NASM-X under Unix

Chapter 2: The NASM-X Language
Section 2.1: BREAK: exiting a loop
Section 2.2: CONTINUE: continuing a loop
Section 2.3: DO: starting a loop
Section 2.4: ELSE: Conditional branching
Section 2.5: ELSIF: Conditional branching
Section 2.6: ENTRY: Specifying program starting point
Section 2.7: ENDIF: Conditional branching
Section 2.8: ENDPROC: Ending a procedure definition
Section 2.9: ENDLOCALS: Ending procedure local variable stack definition
Section 2.10: ENDWHILE: Ending a while loop construct
Section 2.11: IF: Conditional branching
Section 2.12: IMPORT: Importing Symbols from Other Modules
Section 2.13: INVOKE: Calling a procedure
Section 2.14: LOCAL: Defining a local stack parameter
Section 2.15: LOCALS: Start of procedure local stack parameters
Section 2.16: NASMX_AT: Structure instance assignment
Section 2.17: NASMX_ENDSTRUC: Ending a structure definition
Section 2.18: NASMX_ENDUNION: Ending a union definition
Section 2.19: NASMX_IENDSTRUC: Ending a structure instance
Section 2.20: NASMX_ISTRUC: Beginning a structure instance
Section 2.21: NASMX_PRAGMA: Defining pragmas
Section 2.22: NASMX_RESERVE: Defining structure/union members
Section 2.23: NASMX_STRUC: Defining a structure
Section 2.24: NASMX_TCHAR: Character portability
Section 2.25: NASMX_TEXT: Character portability
Section 2.26: NASMX_UNION: Defining a union
Section 2.27: PROC: Defining a procedure
Section 2.28: PROTO: Exporting Symbols to Other Modules
Section 2.29: REPEAT: starting a loop
Section 2.30: RETURN: returning from a procedure
Section 2.31: UNTIL: loop condition
Section 2.32: USES: Saving registers to the stack
Section 2.33: WHILE: loop condition

Appendix A: NASM-X Version History
Section A.1: NASM-X 1 Series
A.1.1 NASMX v1.4: 05 Mar 2014
A.1.2 NASMX v1.3: 14 Feb 2014
A.1.3 NASMX v1.2: 12 Jan 2013
A.1.4 NASMX v1.1: 29 Sep 2012
A.1.5 NASMX v1.0: 20 Aug 2011

Appendix E: NASM-X Examples
EX. 1 : Hello, World!
EX. 2 : Odd or Even
EX. 3 : Printing odd numbers
EX. 4 : Exponent
EX. 5 : Using structures
Linux Makefile
Windows Makefile

Index