
Ensamblador - necesito saber si mi primer campo es un tabulador
Publicado por Miguel Ayala (2 intervenciones) el 08/06/2016 21:04:17
Hola compañeros tengo una duda espero me puedan ayudar,
Estoy desarrollando un ensamblador de dos pasos para mi escuela solo que tengo un problema, al leer los datos de mi archivo1 necesito saber si mi primer campo es un tabulador y tratarlo de forma distinta que si fuera una letra o un numero, mi codigo ya me genera el archivo y lo demas pero esa pequeña parte es donde tengo problemas ya que no encuentro la forma de saber si el valor que esta apuntando el apuntador es una tabulacion, ayudaaaaaaaa!!!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#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");
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");
}
Estoy desarrollando un ensamblador de dos pasos para mi escuela solo que tengo un problema, al leer los datos de mi archivo1 necesito saber si mi primer campo es un tabulador y tratarlo de forma distinta que si fuera una letra o un numero, mi codigo ya me genera el archivo y lo demas pero esa pequeña parte es donde tengo problemas ya que no encuentro la forma de saber si el valor que esta apuntando el apuntador es una tabulacion, ayudaaaaaaaa!!!
Valora esta pregunta


0