Exemplo n.º 1
0
/*
 * create a new empty assembly
 */
Assembly* new_assembly() {
	Assembly* assembly;
	
	/* allocate structuere memory */
	assembly = malloc(sizeof(Assembly));
	/* create all segments */
	assembly->code = malloc(sizeof(Segment));
	assembly->code->data = MS_Open(DEFCODESIZE);
	assembly->code->mask = MS_Open(DEFCODESIZE>>3);
	assembly->code->segment = CODE;
	assembly->lit = malloc(sizeof(Segment));
	assembly->lit->data = MS_Open(DEFLITSIZE);
	assembly->lit->mask = MS_Open(DEFLITSIZE>>3);
	assembly->lit->segment = LIT;
	assembly->data = malloc(sizeof(Segment));
	assembly->data->data = MS_Open(DEFDATASIZE);
	assembly->data->mask = MS_Open(DEFDATASIZE>>3);
	assembly->data->segment = DATA;
	assembly->bss_size = 0;
	assembly->labels = HT_Create();
	
	/* return */
	return assembly;
}
Exemplo n.º 2
0
char inventory_create(){
	g_inventory = HT_Create(100);
	return g_inventory != 0;
}