comparison src/lwasm.h @ 63:d85ba47b1e8f

Moved symbol registration so symbols that are in skipped code do not get registered and so EQU/SET can do their own registration
author lost
date Mon, 05 Jan 2009 01:17:23 +0000
parents b1d81800bc91
children aaddd47219b4
comparison
equal deleted inserted replaced
62:da1337724ecd 63:d85ba47b1e8f
69 int addrset; // set if this instruction sets the assembly address 69 int addrset; // set if this instruction sets the assembly address
70 int symaddr; // set if this instruction sets a symbol addr with EQU or the like 70 int symaddr; // set if this instruction sets a symbol addr with EQU or the like
71 }; 71 };
72 72
73 // for keeping track of symbols 73 // for keeping track of symbols
74 #define SYMBOL_SET 1 // the symbol was used for "SET"
75 #define SYMBOL_NORM 0 // no flags
74 typedef struct lwasm_symbol_ent_s lwasm_symbol_ent_t; 76 typedef struct lwasm_symbol_ent_s lwasm_symbol_ent_t;
75 struct lwasm_symbol_ent_s 77 struct lwasm_symbol_ent_s
76 { 78 {
77 char *sym; // the symbol 79 char *sym; // the symbol
78 int context; // the context number of the symbol (-1 for global) 80 int context; // the context number of the symbol (-1 for global)
79 int value; // the value of the symbol 81 int value; // the value of the symbol
82 int flags; // flags for the symbol
80 lwasm_symbol_ent_t *next; // next symbol in the table 83 lwasm_symbol_ent_t *next; // next symbol in the table
81 lwasm_symbol_ent_t *prev; // previous symbol in the table 84 lwasm_symbol_ent_t *prev; // previous symbol in the table
82 }; 85 };
83 86
84 // keep track of current assembler state 87 // keep track of current assembler state