Tarea 1 tps

Solo disponible en BuenasTareas
  • Páginas : 16 (3783 palabras )
  • Descarga(s) : 16
  • Publicado : 16 de junio de 2010
Leer documento completo
Vista previa del texto
import java.io.*;
import java.util.StringTokenizer;
public class calizdos {
/**
* @param args
* @throws IOException
*/
private long convertir(String num, char o)//devuelve un long con la base convertida
{
switch(o)
{
case '%':
return Long.parseLong(num,2);//lo convierto a long para ver el rango
case '@':
return Long.parseLong(num,8);//lo convierto along para ver el rango
case '$':
return Long.parseLong(num,16);//lo convierto a long para ver el rango
default:
return Long.parseLong(num);
}
}

private int calc_long(long rango)//devuelve los bytes calculados para el rango
{
if(rango >= -256 && rango <= 255)
return 1;//1 byte
else
return 2;//2 bytes
}


private void ieets(Stringe, String con, BufferedWriter wts)
{
try
{
System.out.println("\n"+e+"\t"+con.toUpperCase());
wts.write(e+"\t"+con.toUpperCase());
wts.newLine();
}catch(IOException error)
{
System.out.println("ERROR: al escribir en archivo Tabsim");
}

return;
}

private void ifs(String posmemoria, String codope ,String h,String instrucc, String operador,BufferedWriter w)
{
try
{
switch(h.length())
{
case 1:
{
h="0"+h;
break;
}
case 3:
{
h="0"+h;
break;
}
}
System.out.println("\n"+posmemoria.toUpperCase()+"\t"+codope+h.toUpperCase()+"\t"+instrucc+"\t"+operador);
w.write(posmemoria.toUpperCase()+"\t"+codope+h.toUpperCase()+"\t"+instrucc+"\t"+operador);
w.newLine();}catch(IOException error)
{
System.out.println("ERROR: al escribir en archivo lst");
}
return;
}

private void crear_tabsim(RandomAccessFile leerasm, BufferedWriter escribirts,String lts) throws IOException
{
String eti1 =null,ins1=null,com1=null,ope1=null;
boolean esp=false,esp2=false,esp3=false;
int t=0,clineas1 = 0,p=0,s, valore1,coma;
Stringclocaciones=null,conversion1="",hex1="",reg1="",valor1="";
long clocacionese=0;
String numero1="";
boolean opeti=false; //operator etiqueta
int k1=0,tamano1=38;
long nb1=0;
int longitud_bytes1=0;
boolean modoidx=false;

//lee las lineas restantes
do{

lts = leerasm.readLine();
clineas1+=1;
if(lts!=null)
{
eti1="";
ins1="";
com1="";ope1="";

esp=false;
esp2=false;
esp3=false;
for(t=0;t<lts.length();t++)
{
//si el caracter en la posicion 0 ó caracter en la posicion i
//es ; entonces es un comentario y lo almacena en com y escribe al archivo
if(lts.charAt(0)== ';' || lts.charAt(t)== ';')
{
com1=lts.substring(t, lts.length());
//escribe loscomentarios en el archivo y sale

break;
}
else //sino si el caracter en la posicion 0 es un espacio en blanco
if(Character.isWhitespace(lts.charAt(0))==true)
{
//si el carac. en la posicion i es diferente de un espacio blanco && espacio es falso
// &&el contador es diferente de longitud de la cadena
if(Character.isWhitespace(lts.charAt(t))==false && esp == false )
{
ins1=ins1+lts.charAt(t);

if(t+1!=lts.length() && Character.isWhitespace(lts.charAt(t+1))==true)
{
esp=true;
}
}
else
if(esp == true)
{
if(Character.isWhitespace(lts.charAt(t))==false)
{ope1=ope1+lts.charAt(t);
//if(i+1!=lleida.length() && Character.isWhitespace(lleida.charAt(i+1))== true )
//espacio=false;
}
}
}
else
{
if(Character.isWhitespace(lts.charAt(0))==false)
{
if(Character.isWhitespace(lts.charAt(t))== false && esp2 == false)
{...
tracking img