diff lwasm/lwasm.h @ 210:5d969517db74

Added condundefzero pragma Added pragma condundefzero to allow the assembler to treat symbols that are undefined in a conditional expression as if their value had been set to zero.
author William Astle <lost@l-w.ca>
date Sat, 09 Jun 2012 16:25:19 -0600
parents 52d9dd71f555
children 6f2e18f1fe67
line wrap: on
line diff
--- a/lwasm/lwasm.h	Sat Jun 09 16:03:36 2012 -0600
+++ b/lwasm/lwasm.h	Sat Jun 09 16:25:19 2012 -0600
@@ -84,7 +84,8 @@
 	PRAGMA_NOLIST = 0x0080,				// don't show line in listing
 	PRAGMA_AUTOBRANCHLENGTH = 0x0100,	// automatically select proper length for relative branches
 	PRAGMA_EXPORT = 0x0200,				// export symbols by default, unless local
-	PRAGMA_SYMBOLNOCASE = 0x400			// symbols defined under this pragma are matched case insensitively
+	PRAGMA_SYMBOLNOCASE = 0x400,		// symbols defined under this pragma are matched case insensitively
+	PRAGMA_CONDUNDEFZERO = 0x800		// treat undefined symbols as zero in conditionals during pass 1
 };
 
 
@@ -269,6 +270,7 @@
 	int endseen;						// have we seen an "end" pseudo?
 	int execaddr;						// address from "end"
 	int inmod;							// inside an os9 module?
+	int undefzero;						// used for handling "condundefzero"
 	unsigned char crc[3];				// crc accumulator
 	int badsymerr;						// throw error on undef sym if set