Home

Investigación Corta - Intel-Simplificada-CrisDonJhon

image

Contents

1. cursos y al aporte de ideas por parte de los integrantes del grupo Se desarroll una M quina Virtual Intel Simplificada capaz de ejecutar un conjunto de instrucciones programadas desde un editor de texto simple Bibliograf a Yale N Patt Sanjay J Patel Tr Lorena Peralta R 2005 Introducci n a los Sistemas de C mputo Segunda edici n McGraw Hill M xico 632 pp Peter Abel 2001 IBM PC Assembly Language and Programming Prentice Hall Quinta edici n United States of Am rica 545 pp Zack Smith 2009 The Intel 8086 8088 80186 80286 80386 80486 Instruction Set Consultado en lt Home comcast net fbui intel html gt
2. para los registros y es un String para las localidades de memoria que son los valores por los que se cambiar el contenido de cada objeto Estos m todos requieren que se indique el nuevo valor de entrada por lo que se requiere de la existencia de JDialog para el ingreso de los valores de forma manual La importancia de ste m todo radica en que es utilizado para cambiar los valores de los registros y de la memoria por el programa cargado en la memoria durante su ejecuci n darMemoria int localidad este m todo permite acceder a una localidad de memoria y obtener el contenido de la misma La localidad a la que se desea acceder est definida por el int que entra como par metro en el m todo El valor retornado por ste m todo es un String el cual es una instrucci n en binario del m todo darRegistro String nombre la finalidad de ste m todo es similar a la del m todo anterior pero su acceso es a los registro El acceso a los registros se hace a trav s del String que entra como par metro el cual se utiliza para compararlo con los nombres de cada registro porPaso este m todo est implementado en la clase IMaquina su funci n es ejecutar una instrucci n del programa cargado es decir el programa accede a la instrucci n almacenada en la localidad de memoria que apunta el IP luego el IP se aumenta en uno y la cadena de instrucci n obtenida es analizada por el Compilador correr este m todo tambi n en la clase I
3. Maquina tiene una funci n similar a la del m todo antes descrito pero la diferencia radica en que este ejecutar todas las instrucciones una tras otra hasta encontrar una instrucci n HLT la cual detiene el proceso detener este m todo se encarga de detener el proceso de la m quina virtual cuando est ejecutando las instrucciones del programa cargado en memoria Dicho de otra forma este programa detiene al proceso correr salto int localidad este m todo es el encargado de cambiar el index elemento seleccionado del JList que contiene la Memoria Este m todo requiere de un int como entrada el cual es utilizado para indexar el elemento seleccionado en el JList hexADec char hexadecimal este m todo se encarga de convertir un arreglo de caracteres considerada como hexadecimal caracteres de O a 9 y de A a F en un valor decimal Este m todo es utilizado repetidas veces en el c digo y cuenta con modificaciones en algunas clases binADec char binario este m todo convierte un arreglo de caracteres binarios caracteres O y 1 en un valor decimal Este m todo al igual que el anterior es bastante utilizado por las transformaciones de binario a decimal que se tiene que hacer durante la interpretaci n del c digo sext String valor este m todo se encarga de hacer extensi n de signo de un valor binario o hexadecimal para que sean 16 caracteres o 4 caracteres respectivamente Adem s analiza si la cadena cont
4. Universidad del Valle de Guatemala Introducci n a la Organizaci n de Computadoras Ing Marta Ligia Naranjo de Ortiz Secci n 10 GUATEMALA Z z 52 5 UN y gt z Excelencia que trasciende Proyecto Final Investigaci n Corta Integrantes Carn Jonathan A de los Santos Chonay 09375 Cristian Alberto Pel ez P rez 09376 Donald Antonio Vel zquez Aguilar 09379 Investigaci n Corta Variables y objetos utilizados Para llegar a la soluci n se hizo un dise o de la m quina Intel Simplificada este dise o consisti en definir el tama o de memoria definir los registros visibles y no visibles y el tama o de palabra que comprende las caracter sticas principales de la m quina virtual y en base a las cuales se dise a el traductor y el compilador La memoria se dise de forma que se tienen 2116 localidades de memoria cada una con una capacidad de 16 bits Los registros utilizados son 8 nombrados AX BX CX DX EX FX GX HX Tambi n se muestra el IP Instruction Pointer que es el equivalente al PC en la LC 3 Para representar la memoria se utilizan objetos de la clase Memoria esta clase tiene los atributos nombre y contenido los objetos de sta clase se agregaron a un ArrayList llamado memoria Los registros son an logos a la memoria ya que existe una clase de tipo Registro los cuales poseen un nombre y un contenido como atributos y luego se agregan a un ArrayList llamado registros Las clases Memoria
5. cadena 0000000000000000 reiniciarMemoria cambia el contenido de todas las localidades de memoria por la cadena 0000000000000000 Este m todo es utilizado para reiniciar la m quina virtual printConsola String mensaje este m todo imprime en consola el String que entra como par metro Este m todo es implementado con ayuda del m todo setText de la clase JTextArea En ste se conserva los mensajes anteriores de la consola por lo que no puede se utilizado para limpiar o reiniciar la consola limpiarConsola este m todo cambia el contenido de la consola por una cadena de caracteres vac a es decir deja la consola con ning n caracter reiniciar este m todo se encarga de cambiar los valores de los registros memoria y consola de la m quina virtual a los valores iniciales que sta tiene cuando se inicia Este m todo no es m s que un llamado a los m todos reiniciarMemoria iniciarRegistros y limpiarConsola cambiarContenido int localidad String contenido cambiarContenido String nombre int contenido estos m todos est n presentes en las clases la clase PMemoria y la clase PRegistro respectivamente La funci n de stos es cambiar el valor que contiene la memoria o registro por el par metro que entra en el m todo El primer par metro de entrada es un int para la memoria y un String para el registro y se utiliza para identificar la localidad El segundo par metro de entrada es un int
6. ciones en la LC 3 Primero se obtiene la direcci n a la que apunta el IP y luego se aumenta en uno el IP con esta direcci n obtenida del PC se extrae el String contenido de la localidad de memoria a la que apunta el PC este String es el c digo en lenguaje de m quina El c digo extra do de cada localidad de memoria es interpretado por la clase Compilador en sta clase se hacen los cambios de los registros y de las localidades de memoria dependiendo de la instrucci n que se est analizando M todos principales implementados cargarPrograma este m todo se encarga de desplegar un JFileChooser con el que se selecciona el programa en lenguaje ensamblador Este m todo se encarga tambien de llamar a la clase Traductor con lo que se traduce el contenido del lenguaje ensamblador a lenguaje binario y se crea el archivo binario aqu tambi n se llama al m todo guardar que genera el archivo obj iniciarRegistros con este m todo se inician los valores de registros y se a aden al ArrayList que los contiene durante la construcci n de los registros se les asigna un nombre nico que se utiliza para identificar cada registro y el valor de contenido es cero IniciarMemoria es el m todo encargado de iniciar la memoria durante la ejecuci n de la m quina virtual Este m todo asigna a cada memoria un valor de localidad nico con el que se identifica a cada localidad de memoria y un contenido que al inicio corresponde a la
7. iene menos de los caracteres m ximos permitidos en cada tipo de String hexadecimal y binario de ser as toma nicamente los ltimos caracteres en cuenta y descarta los primeros caracteres que est n en exceso Conjunto de Instrucciones La siguiente tabla presenta el conjunto de instrucciones implementadas en la Maquina virtual Intel Simplificada La descripci n de cada instrucci n se hace m s detallada en el manual de usuario Tabla 1 Conjunto de instrucciones implementadas en la Intel INST OPCODE 11 10 9 8 7 6 5 4 3 2 1 JO ADD o lo jo jo osr sret o o o src ADD ojoo o DST SRC 1 tmediao nor o ojo 1 osr sre lis 11 jh xoR o1 jo m ost SRC 1 inmediato me lo ojojojo src ojojojolo o mr jo ly lo lo fo fo fa o fo fa fo fo fa fr fa pa n tjo fo fo fi fi fa fa fo fo fa fo fa fa a pr mov 1 jo jo osr sre hiihiihii Y fro rio f z jo PCOfiseta mer lt jo n osr saci o o o sacz MLT DST SRC 1 Inmediato LEA DST PCOffset9 Los hi filo li sro Poors Conclusiones Durante la realizaci n de ste proyecto se mejor el trabajo en equipo y se logr obtener un mayor conocimiento respecto al funcionamiento de una M quina Virtual Intel Simplificada Con la realizaci n de ste proyecto se pudo aplicar los conocimientos adquiridos durante el desarrollo de ste y otros cursos Se mejor el aprendizaje obtenido debido a la integraci n de conocimientos de diferentes
8. ta variable y se detiene el programa La opci n para detener el programa consiste en un cambio del valor l gico de la variable HLT a true con lo cual se detiene el programa Descripci n del curso l gico de la soluci n La forma en como se llega a la soluci n del problema es el siguiente primero se debe cargar un programa escrito en el lenguaje ensamblador de la Intel Simplificada archivo con extensi n asm ste es traducido a un archivo binario instrucciones en lenguaje de m quina en un archivo con extensi n bin y a un archivo object archivo con extensi n obj Luego las instrucciones son cargadas a las localidades de memoria iniciando en la direcci n indicada con la instrucci n ORG de forma similar a la LC 3 Todo esto se hace durante el proceso de cargar un archivo Cuando se ejecuta la m quina virtual el IP contiene la direcci n 3000H la H se refiere a un valor Hexadecimal as como el caracter B al final de un valor num rico indica que se trata de un valor binario cuando se carga un archivo el valor del IP cambia autom ticamente a la direcci n de memoria donde inician el programa Despues de cargar las instrucciones a la memoria y crear los archivos bin y obj la m quina espera a que se le indique el iniciar a ejecutar las instrucciones la ejecuci n de las instrucciones puede ser de forma continua o por pasos La ejecuciones de las instrucciones cargadas en la memoria sigue el mismo proceso que las instruc
9. y Registro poseen un m todo toString que es utilizado por el constructor del JList para mostrarlos en la interfaz gr fica Se tiene una clase Traductor cuya funci n es interpretar cada l nea del archivo con c digo ensamblador archivo con extensi n asm y traducir las instrucciones de sta a lenguaje de m quina con ayuda de sta clase se crea el archivo con extensi n bin que contiene todas esas instrucciones La clase Compilador se utiliza para interpretar cada una de las instrucciones almacenadas en memoria Esta clase recibe en su constructor una l nea en lenguaje binario la cual es cargada desde las localidades de memoria En la clase principal del programa IMaquina se tienen los m todos para ir actualizando los JList que contienen los registros y las localidades de memoria Tambi n maneja los m todos para imprimir mensajes en consola cambios de valores de memoria y registros de forma manual correr el programa de forma continua y paso a paso detener el programa cargar un programa fuente reiniciar la m quina virtual saltar a una localidad de memoria especificada y mostrar informaci n acerca de la m quina virtual Para permitir al programa correr o detenerse se utiliza una variable dentro de la clase IMaquina llamada HLT no confundir con la instrucci n HLT Cuando esta variable tiene un valor l gico false el programa corre normalmente hasta detenerse por la instrucci n HLT en la cual se cambia el valor de es

Download Pdf Manuals

image

Related Search

Related Contents

Mode d`emploi    Datasheet  

Copyright © All rights reserved.
Failed to retrieve file