Ensamblador
* AWT Sample application
*
* @author
*Santiago Alberto
*Andrade Díaz
* @version 1.00 09/02/24
*/
//import java.*;
import java.io.*;
import java.util.*;
import java.util.StringTokenizer;
import java.math.BigDecimal;
import java.io.BufferedReader;
import java.io.InputStreamReader;
importjava.io.IOException;
public class ENSAMBLADOR {
public static void main(String[] args) {
ENSAMBLADOR ensamblador = new ENSAMBLADOR ();
/*PRIMER PASO DEL ENSAMBLADOR*/ ensamblador.PRIMER_PASO();
/*SEGUNDO PASO DEL ENSAMBLADOR*/ ensamblador.SEGUNDO_PASO ();
/*GENERAR EL ARCHIVO OBJETO*/ ensamblador.ARCHIVO_OBJETO ();
}
Stringarchivoe = "ENTRADA.txt";
String archivoe2 = "TABOP.txt";
String archivos = "salida.txt";
String archivos2 = "P1tmp.txt";
String archivos3 = "TABSIM.txt";
String archivoOBJ = "Archivo_Objeto.OBJ";
String codigosMaquina = "Codigos_Maquina.txt";
File ENTRADA = new File (archivoe);
FileTABOP = new File (archivoe2);
File salida = new File (archivos);
File P1tmp = new File (archivos2);
File TABSIM = new File (archivos3);
File Archivo_Objeto = new File (archivoOBJ);
File Codigos_Maquina = new File (codigosMaquina);
public ENSAMBLADOR () {
try {FileWriter salidas = new FileWriter (salida);
FileWriter salidas2 = new FileWriter (P1tmp);
FileWriter salidas3 = new FileWriter (TABSIM);
FileWriter archivoOBJ = new FileWriter (Archivo_Objeto);
FileWriter codigosMaquina = new FileWriter (Codigos_Maquina);
}
catch (Exceptione){
e.printStackTrace();
}
}//END: public ENSAMBLADOR
String tipo2="", tipo3="";
int tipo=-1, numBits=-1;
boolean igualdad=false;
String etiq="Null", codop="Null", oper="", coment="Null"; //Variables utilizadas en public 'void abrir ()' & otros.
//StringetiqTmp="Null", operTmp="Null"; //Variables auxiliares para escribir en el Archivo Temporal (P1tmp).
int VALOR_EQU=0, DIR_INIC=0, CONTLOC=0;
String VALOR="";//, VALOR_EQU="", DIR_INIC="", CONTLOC=""; //Variables utilizadas en public String DirectivasDelLenguajeEnsamblador
int auxIdent; //Variable para las funciones: identificador e identificador2
intauxLength; //Variable para las funciones DirectivasDelLenguajeEnsamblador y paraNoDirectivas.
String banderaORG="OFF";
String codigoMaq=""; //Variable usada en la función "getCodMaquina" para regresar el valor del codigo maquina.
String valHex="";
boolean Rel_o_Ext=false; //Variable usada en la funcion 'abrir6 (String codop)' anidada enla funcion 'identificador (String oper)'
String valorEtiq; //Variable utilizada en la función: 'abrir7_leerTABSIM_segundoPaso (String oper)', para el segundo paso del ensamblador.
String Sig_valorEtiq; //Variable utilizada en la función: 'String abrir8_leerP1tmp_segundoPaso (String etiq)', para el segundo paso del ensamblador.
int miniNumBits;//Variable utilizada en la función del segundo paso: public String 'getCodMaquina (String codop_tipo2)'
String byteCalculado_xb=""; //Variable que regresa la función "String Complemento_a_Dos (int val_a_complementar)", ésta función es usada en el segundo paso.
//Variable para la funcion "convert_Postbyte_Code_toHex (String Postbyte_Code)":
String Postbyte_Code_in_Hex="";...
Regístrate para leer el documento completo.