
/*
// output memory to file from start to end inclusive
void outM(FILE *fo, int *mem, int start, int end){
	int i;
	fprintf(fo,"%d %d\n",start,end);
	for(i=start; i<=end; i++){
		if( (i%8) == 0 ) fprintf(fo,"\n");
		fprintf(fo,"%d ",mem[i]);
	}
	fprintf(fo,"\n");
}

int readM(FILE *fi, int *mem){
	int i, start, end, c;
	fscanf(fi,"%d%d",&start,&end);
	for(i=start; i<=end; i++){
		fscanf(fi,"%d",&c);
		mem[i] = c;
	}
	return end;
}

void outCS(FILE *fo, int start, int end){
	int i;
	fprintf(fo,"%d %d\n",start,end);
	for(i=start; i<=end; i++){
		fprintf(fo,"%d %d %d %d\n",
		  CS[i].op,CS[i].a1,CS[i].u.w.a2,CS[i].u.w.a3);
	}
}

int readCS(FILE *fi){
	int i, start, end, op, a1, a2, a3;
	fscanf(fi,"%d%d",&start,&end);
	for(i=start; i<=end; i++){
		fscanf(fi,"%d%d%d%d",&op,&a1,&a2,&a3);
		CS[i].op = (short)op;
		CS[i].a1 = (short)a1;
		CS[i].u.w.a2 = (short)a2;
		CS[i].u.w.a3 = (short)a3;
	}
	return end;
}
*/

/*
void execute(char *obj){
	int i, a;
	FI = fopen(obj,"r");
	fscanf(FI,"%d",&a);
	if( a != OBJ_SOM5 )
		seterror("not som 5.0 object");
	a = readCS(FI);		// code segment
	printf("load CS %d\n",a);
	CP = a+1;
	a = readM(FI,M);	// data segment
	printf("load DS %d\n",a);
	DS = a+1;			// free DS
	fclose(FI);
//	for(i=0; i<100; i++)
		eval(3);
}
*/


/*
void listing( char *source) {
	char *name;
	name = stripdot(source);
	strcat(name,".lst");
	FO = fopen(name,"wt");
//	showCode(FO);
	fclose(FO);
}

// iMode 2 compile and run
void batch(char *source){
	loadfile("lib.som");
	loadfile(source);
//	prlist(def);
	genfinal();
//	nxsym = getExportSym(exsym);
//	showCode(stdout);
//	dumpSymTab(stdout);
	listing(source);
	objfile(source);
}
*/
