NovaInstrucao/simple_simulator.c
void le_arquivo(void){
	FILE *stream;   // Declara ponteiro para o arquivo
	int i, j;
	int processando = 0; // Flag para varreo o arquivo CPURAM.mif e tirar o cabecalho

	if ( (stream = fopen("cpuram.mif","r")) == NULL)  // Abre o arquivo para leitura
	{
		printf("Error: File not OPEN!");
		exit(1);
	}

	char linha[110];
	j = 0;

	while (fscanf(stream,"%s", linha)!=EOF)   // Le linha por linha ate' o final do arquivo: eof = end of file !!
	{
		char letra[2] = "00";

		if (!processando) {
			i = 0;
			do  {   // Busca por sequencias de caracteres para catar inicio do codigo
				letra[0] = letra[1];
				letra[1] = linha[i];
				if ((letra[0]=='0') && (letra[1]==':') )  // Cata primeira linha de codigo omecando com "0: "
				{
					// Le programa e guarda no vetor MEMORY[32768]
					processando = 1;
					j = 0;
				}
				i++;
			} while (linha[i] != '\0');

		}

		if (processando && (j < TAMANHO_MEMORIA)) {
			MEMORY[j] = processa_linha(linha);
			if (MEMORY[j] == -1) {
				printf("Linha invalida (%d): '%s'", j, linha);
			}
			else {
				//printf("Valor: %d. Linha: %s\n", MEMORY[j], linha);
			}
			j++;
		}



	} // Fim do   while (!feof(stream))
	fclose(stream);  // Nunca esqueca um arquivo aberto!!
}
//  Processa dados do Arquivo CPU.MIF
Processa dados do Arquivo CPU.MIF
Processa dados do Arquivo CPU . MIF
void le_arquivo(void){
	FILE *stream;   
	int i, j;
	int processando = 0; 
	if ( (stream = fopen("cpuram.mif","r")) == NULL)  
	{
		printf("Error: File not OPEN!");
		exit(1);
	}
	char linha[110];
	j = 0;
	while (fscanf(stream,"%s", linha)!=EOF)   
	{
		char letra[2] = "00";
		if (!processando) {
			i = 0;
			do  {   
				letra[0] = letra[1];
				letra[1] = linha[i];
				if ((letra[0]=='0') && (letra[1]==':') )  
				{
					processando = 1;
					j = 0;
				}
				i++;
			} while (linha[i] != '\0');
		}
		if (processando && (j < TAMANHO_MEMORIA)) {
			MEMORY[j] = processa_linha(linha);
			if (MEMORY[j] == -1) {
				printf("Linha invalida (%d): '%s'", j, linha);
			}
			else {
			}
			j++;
		}
	} 
	fclose(stream);  
}
void le_arquivo ( void ) { FILE * stream ; int i , j ; int processando = 0 ; if ( ( stream = fopen ( " " , " " ) ) == NULL ) { printf ( " " ) ; exit ( 1 ) ; } char linha [ 110 ] ; j = 0 ; while ( fscanf ( stream , " " , linha ) != EOF ) { char letra [ 2 ] = " " ; if ( ! processando ) { i = 0 ; do { letra [ 0 ] = letra [ 1 ] ; letra [ 1 ] = linha [ i ] ; if ( ( letra [ 0 ] == ' ' ) && ( letra [ 1 ] == ' ' ) ) { processando = 1 ; j = 0 ; } i ++ ; } while ( linha [ i ] != ' \0 ' ) ; } if ( processando && ( j < TAMANHO_MEMORIA ) ) { MEMORY [ j ] = processa_linha ( linha ) ; if ( MEMORY [ j ] == -1 ) { printf ( " " , j , linha ) ; } else { } j ++ ; } } fclose ( stream ) ; }
Processa dados do Arquivo CPU.MIF
Processa dados do Arquivo CPU . MIF
// Declara ponteiro para o arquivo // Flag para varreo o arquivo CPURAM.mif e tirar o cabecalho // Abre o arquivo para leitura // Le linha por linha ate' o final do arquivo: eof = end of file !! // Busca por sequencias de caracteres para catar inicio do codigo // Cata primeira linha de codigo omecando com "0: " // Le programa e guarda no vetor MEMORY[32768] //printf("Valor: %d. Linha: %s\n", MEMORY[j], linha); // Fim do   while (!feof(stream)) // Nunca esqueca um arquivo aberto!!