diff lwasm/lwasm.h @ 211:6f2e18f1fe67

Improve autobranchlength pragma Improve detection of 8 bit relative offsets when autobranchlength is in effect. This should eliminate all but the most obscure corner cases where the 16 bit mode is selected when 8 bit mode will do.
author William Astle <lost@l-w.ca>
date Sat, 09 Jun 2012 17:23:04 -0600
parents 5d969517db74
children afd50d6b4113
line wrap: on
line diff
--- a/lwasm/lwasm.h	Sat Jun 09 16:25:19 2012 -0600
+++ b/lwasm/lwasm.h	Sat Jun 09 17:23:04 2012 -0600
@@ -156,6 +156,7 @@
 	lw_expr_t daddr;					// data address of the line (os9 only)
 	int len;							// the "size" this line occupies (address space wise) (-1 if unknown)
 	int dlen;							// the data "size" this line occupies (-1 if unknown)
+	int maxlen;							// maximum length; will be zero if not relevant
 	int insn;							// number of insn in insn table
 	int symset;							// set if the line symbol was consumed by the instruction
 	char *sym;							// symbol, if any, on the line
@@ -271,6 +272,7 @@
 	int execaddr;						// address from "end"
 	int inmod;							// inside an os9 module?
 	int undefzero;						// used for handling "condundefzero"
+	int pretendmax;						// set if we need to pretend the instruction is max length
 	unsigned char crc[3];				// crc accumulator
 	int badsymerr;						// throw error on undef sym if set