CS-PROJECTS / c02_assembler / SymbolTable.h
SymbolTable.h
Raw
#ifndef SYMBOLTABLE_H
#define SYMBOLTABLE_H

#include <stdio.h>

#define NUM_SYMBOLS 1000
#define IMM_LENGTH 17

struct _DataSymbol {
    char key[100];
	char* binary;
    int address;
    char* type;
};
typedef struct _DataSymbol DataSymbol;

extern DataSymbol dataSymbols[NUM_SYMBOLS];

struct _TextSymbol {
    char* key;
	int instructionNum;
    int address;
};
typedef struct _TextSymbol TextSymbol;

extern TextSymbol textSymbols[NUM_SYMBOLS];

/**  Writes the symbol table out o the given file
 * 
 *   Pre:  outF is a valid output file
 * 
 */
void makeTable(FILE* outF);

void cleanTable();
char* decToBinary(char* dec);
char* decToBinary26(char* dec);

#endif