Ensamblador 2 pasos! ayudaaaa

Iniciado por OwlRoots, 8 Junio 2016, 21:13 PM

0 Miembros y 1 Visitante están viendo este tema.

OwlRoots

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define TAB "\t"

int main() {
   
   FILE *archivo1=NULL; // apuntador archivo fuente
   FILE *archivo2=NULL; // apuntador mnemonicos
   FILE *archivo3=NULL; // apuntador tabla ASCII
   FILE *archivo4=NULL; // apuntador tabla simbolos
   
   int lin=0;
   int con=0;
   int ver=0;
   char comp;
   char eti[10];
   char mne1[6];
   char mne2[6];
   char val[20];
   char oc[2];
   
   printf("Ensamblador de dos pasos \n");
   printf("Desarrollo: Miguel Ayala Diaz \n");
   printf("Matricula: 2132005346 \n");
   
   archivo2 = fopen("Mnemonicos.txt","r");
   
   while(archivo2 == NULL){
      printf("El archivo no pudo abrirse");
      printf("\n\nNombre de archivo: programa.txt");
   }
   
   archivo1 = fopen("programa.txt","r");
   
   while(archivo1 == NULL){
      printf("El archivo no pudo abrirse");
      printf("\nNombre de archivo: programa.txt");
   }
   
   archivo4 = fopen("tabsym.txt","w+");
      

   if(archivo1!=NULL){
      while(!feof(archivo1)){
         
         if(archivo1==TAB){
            printf("Entro1\n");
            eti[0]='\t';
            fscanf(archivo1,"%s\t%s\t%s\n",&eti,&mne1,&val);
            printf("%s\t%s\t%s\n",eti,mne1,val);
         }
         
         else{
            printf("Entro2\n");
            fscanf(archivo1,"%s\t%s\t%s\n",&eti, &mne1, &val);
            printf("%s,%s,%s\n",eti,mne1,val);
            
            if(archivo2!=NULL){
               while(!feof(archivo2) && ver!=0){
                  fscanf(archivo2,"%s\t%s\n",&mne2, &oc);
                  
                  if(strcmp(mne1, mne2)==0){
                     ver=0;
                  }
                  else{
                     ver=1;
                  }
               }
               
               if(ver!=0){
                  printf("Tu mnemonico no existe");
               }
               else
                  printf("Si existe el mnemonico en linea %d\n",lin);
            }
         }
                  
         fprintf (archivo4,"%x\t%s\t%s\t%s\n",con,eti,mne1,val);
         printf ("%x\t%s\t%s\t%s\n",con,eti,mne1,val);
         
         con=con+3;
         lin=lin+1;
      }   
   }
   
   printf("Listo\n");
   fclose(archivo1);
   fclose(archivo2);
   fclose(archivo4);
   system("pause");
}

Buenas tardes, el codigo de arriba corresponde a un ensamblador de dos pasos, mi unica duda es, como puedo saber si uno de mis apuntadores esta apuntando a un tabulador, ya que tengo que darles un trato diferente, gracias, por cierto soy nuevo en el foro disculparan si ya existe un tema como este.

AlbertoBSD

Hola los unicos apuntadores que veo son de archivos.. Nunca van a puntar a un tab '\t'

Saludos.

PD.. Pon tu codigo con etiqueta de codigo en C busca donde dice Codigo GeSHi
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW