Home

Manual de usuario de la Intel simplificada

image

Contents

1. INST OPCODE 11 10 9 8 7 6 5 4 3 2 1 JO DIV 1 1 11 JO DST SRC1 JO 0 JO SRC2 DIV 1 1 11 JO DST SRC 1 DIV es una instrucci n que hace una divisi n aritm tica en donde no se toma en cuenta ning n valor en decimales es decir nicamente los enteros de dichos n meros Su modo de operaci n es similar a la de la instrucci n MLT Inmediato 11 Ejemplo de DIV con modo de operaci n Registro Registro Assembly Binario DIV AX DX HX 1011000011000111 Suponga que el valor de DX es 1000 y el de HX es 5 entonces AX DX HX 200 note que se operan los valores contenidos en los registros y que el resultado no puede ser mayor a 65535 ya que se exceden los 16 bits que tiene cada registro esto s lo suceder a si HX fuera un n mero entre O y 1 pero no tenemos de que preocuparnos porque esto ni la divisi n dentro de cero va a suceder el programa notifica del error al programador Ejemplo de DIV con modo de operaci n Registro Inmediato Assembly Binario MLT AX DX FH 1011000011000111 Suponga que el valor de DX es 1000 entonces AX 1000 15 66 12
2. Binario 0111111111111111 Assembly HLT Y despu s de esto el programa se detiene completamente mostrando la notificaci n en la consola XIII La instrucci n IN NST OPCODE 11 10 IN 1 0 0 0 4 1 1 1 1 1 1 4 1 1 11 o N D a E w N a Esta instrucci n tambi n tiene una nica forma al igual que HLT a diferencia esta despliega un mensaje en la consola llamado prompt que pide al usuario que presione una tecla al momento que se presiona esta se despliega en pantalla a esta acci n se le llama ECO Binario 1000111111111111 Assembly IN Despu s de esto el programa muestra el promt en la consola y se espera a la pulsaci n de la tecla por parte del usuario XIV La instrucci n MOV 109 8 7 6 5 4 3 2 1 JO DST SRC 1 1 1 1 1 11 INST OPCODE MOV 1 O JO 1 La instrucci n MOV es una de las instrucciones m s importantes de nuestro proyecto se trata de poder almacenar lo que se encuentra en una localidad de memoria en un registro la localidad de memoria se especifica con el valor almacenado en el registro SRC se va a esa localidad de memoria se haya su contenido y este se guarda en DST Por ejemplo la instrucci n Assembly Binario MOV DX AX 1001011000111111 Suponga que en AX est el valor 4430H este valor es el que
3. AND AX DX EX 0000000011000100 Suponga que en el registro DX est almacenado el valor FH y que en EX el valor AH entonces despu s de pasar esta instrucci n el valor de AX ser 0000000000001111B 0000000000001010B 0000000000001010B AX Ejemplo de AND con modo de operaci n Registro Inmediato Assembly Binario AND AX DX 15 0000000011101111 Una idea parecida es usando el modo de operaci n registro inmediato suponga que en el registro DX est almacenado el valor EH entonces el valor de AX despu s de la ejecuci n de esta instrucci n ser 0000000000001110B 0000000000001111B 0000000000001110B AX VIII La instrucci n NEG INST OPCODE 11109 8 765514 3 2 h lo NEG 0 0 1 1 DST se 11111 1 La funci n de la instrucci n NEG es tomar el valor de la fuente especificada en los bits 8 6 y guardarla en el destino especificado en los bits 11 9 como su negativo en complemento a dos El ejemplo se hace en base decimal para su compresi n Binario 0011101011111111 Assembly NEG FX DX Suponga que en el registro DX se almacena el valor 3454 entonces en FX se almacenar el valor 3454 IX La instrucci n OR INST OPCODE 11 10 9 8 7 6 5 4 3 2 1 JO OR 0 1 0 0 DST SRC1 O 0 0 SRC2 OR 0 1 0 0 DST SRC 1 Inmediato Esta instru
4. especifica la localidad de memoria a la cual se acceder Suponga que en la localidad de memoria 4430H se almacena el valor 110001B este ltimo valor es el que se almacenar en DX DX 110001B XV La instrucci n JXXX 10l9 a 7 61514 38211 0 PCOffset9 INST OPCODE J 1 O 1 O jn Z Ip Esta instrucci n tambi n es muy importante y sirve para hacer bifurcaciones y modificar el rumbo de nuestro IP los bits 11 9 corresponden a las banderas nzp respectivamente estas banderas se levantan dependiendo del resultado e la ltima instrucci n realizada si el resultado fue positivos la bandera p se pone en 1 si el resultado fue negativo la bandera n es la que se pone en 1 si fue cero en ese caso la bandera z se pone en 1 si alguna de las instrucciones se cumple seg n lo especificado se hace un salto del n mero de instrucciones especificadas en los bits 8 0 si es negativo se le resta al IP aumentado lo que es un salto hacia arriba si es positivo se le suma al IP aumentado lo que es un salto hacia abajo Suponga en el siguiente ejemplo que IP 3030 y que el ltimo valor recibido fue un positivo ES Excelencia que trasciende Assembly Binario Jp 2 1010001111111110 Por lo que ahora el IP vale 3029 si el resultado anterior no cumpliera con ser positivo la instrucci n anterior se ignora y se pasa a la siguiente Tome en cuenta los siguientes casos siguiendo la m
5. nicamente se implementaron 16 instrucciones vitales para prop sitos generales que su elecci n se bas en la experiencia de los creadores as como en la m quina LC 3 que como su nombre lo indica es una Little Computer por sus siglas en ingl s A pesar de su parecido con la LC 3 nuestro proyecto contiene algunas instrucciones que facilitan al programador implementar funciones aritm ticas como multiplicaci n o negaci n a complemento a dos desde otro punto de vista nuestro proyecto puede ser una nueva versi n m s optimizada de la LC 3 A continuaci n se explica con detalle cada una de las normas del programa ensamblador de nuestro proyecto son reglas bastante sencillas pero es importante seguirlas para el buen funcionamiento del traductor GUATEMALA ES Excelencia que trasciende Il La forma correcta de programar Como todo lenguaje de programaci n la forma de programar var a como var a el n mero de m quinas en el mundo nuestro lenguaje ensamblador es bastante sencillo y muy parecido a otros aunque no igual Se recomienda antes que nada que a la hora de programar siga una estructura ordenada dejando las tabulaciones adecuadas para cada bloque de instrucciones Lo primero que tiene que hacer cuando empieza un programa es declarar las instrucciones ORG y END al principio y al final respectivamente de todo el c digo Estas establecen donde comienza y donde terminar el conjunto de instrucciones para hacer coment
6. se refiere a un modo inmediato de almacenamiento de LOCALIDADES DE MEMORIA A UN REGISTRO se basa en el IP aumentado DST es el registro donde se va a guardar la direcci n apuntado al sumar algebraicamente el IP aumentado con el valor indicado por los bits 8 0 en complemento a dos Para el siguiente ejemplo suponga que el IP apunta a la localidad 3232H Assembly Binario LEA CX 255 110001001111111 Entonces CX 3232H 1 FFH 3332H note que en ning n momento se afecta al IP solamente se usa su valor aumentado en uno XVIII La instrucci n LDS INST OPCODE 111109 8 7 6 5 4 3 2 1 JO LDS 1 1 0 1 SRC PCOffset9 El LDS funciona de manera similar al MOV sin embargo LDS sirve para escribir valores en la memoria Trabaja tambi n con el IP aumentado y la direcci n de la localidad de memoria a escribir est dada por la suma del IP aumentado sumado algebraicamente con el PCOffset especificado el valor que se escribe en tal localidad de memoria es el contenido en el registro especificado en los bits11 9 Por ejemplo suponga que IP vale 16798 y que en el registro CX est almacenado el valor 2000 Assembly LDS CX 200 Binario 1101010011001000 Al finalizar esta instrucci n la localidad de memoria 16999 tendr el valor 2000 XIX La instrucci n DIV
7. 0000000000000 B 0 300B H 0000000000000000 B 0 REGISTROS 300C H 0000000000000000 B 0 300D H 0000000000000000 B 0 300E H 0000000000000000 B 0 300F H 0000000000000000 B 0 3010 H 0000000000000000 B 0 3011 H 0000000000000000 B 0 bd CONSOLA CONSOLA Este es s lo un pre mbulo a lo que se encontrar al iniciar el programa puede ver que es muy amigable y en sus men s podr encontrar todo lo que necesita para programar y revisar su c digo paso por paso para encontrar posibles errores Excelencia que trasciende IV Un vistazo r pido a todas las instrucciones INST OPCODE 11109 7 5 4 3 2 1 0 ADD 0 0 0 JO DST SRC1 JO O JO SRC2 ADD 0 0 0 0 DST SRC 1 Inmediato NOT 0 0 O 1 DST SRC 1 1 1 1 1 11 AND 0 0 1 0 DST SRC1 JO O JO SRC2 AND 0 0 1 JO DST SRC 1 Inmediato NEG 0 0 1 11 DST SRC 1 1 1 1 1 1 OR O 1 10 JO DST SRC1 JO O JO SRC2 OR O 11 0 JO DST SRC 1 Inmediato XOR JO 1 0 11 DST SRC1 JO O JO SRC2 XOR JO 1 O 11 DST SRC 1 Inmediato JMP 0 1 1 0 0 0 0 SRC 00 00 00 HLT O 1 1 14 1 1 1 1 1 1 1 1 1 11 IN 1 0 jO JO 11 I1 11 1 1 1 1 1 1 11 MOV 1 0 0 1 DST SRC 1 1 1 1 1 11 J 1 0 1 0 in z p PCOffset9 MLT 1 0 1 11 DST SRC1 O 0 0 SRC2 MLT 1 O 1 11 DST SRC 1 Inmediato LEA 1 1 00 DST PCOffset9 LDS 1 1 0 11 SRC PCOffset9 DIV 1 1 1 J0 DST SRC1 0 0 0 SRC
8. 00000011101111 0001101011111111 Suponga que en el registro DX est almacenado el valor FH entonces el valor de AX despu s de la ejecuci n de esta instrucci n ser FH 15 FH FH 1EH 30 Note que el traductor es capaz de distinguir entre las bases num ricas Hexagesimal Binario y Decimal VI La instrucci n NOT Ahora suponga que en en el registro DX est almacenado el valor 1110001110001110B entonces el registro FX se cargar con el valor 0001110001110001B VII La instrucci n AND INST OPCODE 11 10 9 8 7 6 5 4 3 2 11 0 AND 0 1 0 DST SRC o 0 0 SRC2 AND O 1 10 DST SRC 1 Inmediato INST OPCODE 11 10 9 7 6 NOT 0 O 11 DST SRC La instrucci n AND es lo que su nombre y teor a indica es una simple operaci n l gica bit por bit y tambi n puede trabajar con ambos modos de operaci n el registro registro y el registro La instrucci n NOT es una de las m s simples en su sintaxis nicamente en los bits 11 9 se especifica el registro destino y en los bits 8 6 se especifica la fuente la instrucci n lo nico que hace es cambiar los bits del dato contenido en la fuente uno por uno El ejemplo se hace en binario para mayor comprensi n inmediato Ejemplo de AND con modo de operaci n Registro Registro Assembly Binario
9. 2 DIV 1 1 1 0 DST SRC 1 Inmediato V La instrucci n ADD INST OPCODE 111109 8 7 6 15 4 3 2 1 O ADD 0 0 0 0 DST SRC1 0 0 0 SRC2 ADD 0 0 JO 0 DST SRC 1 Inmediato var DEL Excelencia que trasciende Como podemos ver en la sintaxis de la instrucci n ADD se pueden tener dos modos de operaci n especificados por el valor del bit 5 este bit con el valor de cero especifica el modo de operaci n entre dos registros desde ahora en adelante llamaremos este modo de operaci n Registro Registro y el otro modo de operaci n es cuando el bit 5 tiene el valor de uno que se usa para especificar el modo de operaci n Registro Inmediato El valor inmediato es un n mero puro que no se encuentra dentro de un registro ni dentro de una localidad de memoria si no que el programador lo escribe seg n su conveniencia en su c digo fuente Ejemplo de ADD con modo de operaci n Registro Registro Binario 0000000011000100 Assembly ADD AX DX EX Suponga que en el registro DX est almacenado el valor FH y que en EX el valor AH entonces despu s de pasar esta 4 instrucci n el valor de AX ser FH AH 19H 25 Ejemplo de ADD con modo de operaci n Registro Ejemplo de ADD con modo de operaci n Registro Inmediato Assembly Binario NOT FX DX Inmediato Assembly Binario ADD AX DX 15 00
10. Manual de usuario de la Intel simplificada Ing Donald Vel squez Ing Cristian Pel ez Ing Jonathan de los Santos 1 ndice de contenido Pra 2 La forma correcta de prograMaL ooonccnnonnnonononnnannnonn nono ncnonnnnnnnonanonnnos 3 La interfaz del POETA di 3 Un vistazo r pido a todas las instrucciones 4 La instrucci n ADD vna 4 La 1nstrucci n NOT inociiiiiaaiii 5 La instrucci n AND occnnnnncoooonnnononncnnnnonononononoonononnnnnnnnnnnnnnnnnonnnnnnnns 5 La instrucci n NEGoooconocococononoconocnnonononnnononnononno nono nononnononnnnononononoconos 6 La instrucci n OR oooonococococononnconononononononconononnnnnnnnnncocnononnonononnnninnnnos 6 La Instrucci n XOR cis E TEE 7 Lamstrucci n IMP iuris 8 La instrucci n HIT ci tidad 8 La Mmstrucci n Nivel 8 La Instrucci n MOV cccucitoacndiadican acatar narnia cdi 9 Ea instrucci n A ica dit 9 La mstrucci n MET ui dadas 10 Lalnstrucci n LEA urinario iia 11 La Instrucci n DS 11 Ea Instrucci n DI Visio reine Ea e 11 AYOISUJAINA S pE SRA l Prefacio Este peque o manual de usuario se ha elaborado con el fin de poder orientar al a lector sobre la manera de c mo se programa correctamente el proyecto de la Intel simplificada Antes que nada hay que saber que el proyecto es una verdadera simplificaci n de lo que es en realidad la m quina Intel que posee aproximadamente 140 instrucciones para su vital funcionamiento En este proyecto
11. arios utilice antes de cada linea a comentar comentar bien sus programas le ayudar a encontrar m s r pido sus errores Para saber la sintaxis de cada una de las instrucciones no hace falta m s que se refiera a la siguiente tabla los OPCODE son los n meros que distinguen a cada instrucci n de otra los DST son declaraciones de registros en donde se va a guardar un resultado los SRC son los registros de donde obtendremos un operando los valores inmediatos y los PCOffset funcionan similarmente Para saber la funci n de cada una de las instrucciones refi rase a su secci n individual contenida en el manual aqu se especifica con lujo de detalles lo que es capaz de hacer cada instrucci n AYOISUTAINA ES S a z E 5 GUATEMALA Y Ill La interfaz del programa MEMORIA O Intel Simplificada Archivo Ejecutar Simulador Ayuda E REGISTROS MEMORIA ax oooo000000000000 B o EAN BX 0000000000000000 B 0 3001 H 0000000000000000 B 0 CX 0000000000000000 B 0 3002 H 0000000000000000 B 0 DX 0000000000000000 B 0 3003 H 0000000000000000 B 0 EX 0000000000000000 B 0 3004 H 0000000000000000 B 0 0 FX 0000000000000000 B 0 3005 H 0000000000000000 B 0 GX 0000000000000000 B 0 3006 H 0000000000000000 B 0 HX 0000000000000000 B 0 3007 H 0000000000000000 B 0 IP 0011000000000000 B 12288 3008 H 0000000000000000 B 0 3009 H 0000000000000000 B 0 300A H 000
12. cci n tiene la misma idea que la AND solo que l gicamente hace la operaci n OR Ejemplo de OR con modo de operaci n Registro Registro 6 Assembly Binario X La instrucci n XOR OR AX DX EX 0000000011000100 INST OPCODE 111109 8 7 6 5 4 3 2 l1 lo Suponga que en el registro DX est almacenado el valor FH XOR 0 j1 j0 1 DST SRC1 0 0 0 SRC2 y que en EX el valor AH entonces despu s de pasar esta XOR 0 1 0 j1 DST SRC 1 Inmediato instrucci n el valor de AX ser La operaci n l gica XOR indica que para dos bits iguales el 0000000000001111B resultado es cero y para bits diferentes el resultado es uno 0000000000001010B tambi n posee ambos modos de operaci n 0000000000011001 B AX Ejemplo de XOR con modo de operaci n Registro Ejemplo de OR con modo de operaci n Registro Registro Inmediato Assembly Binario Assembly Binario XOR AX DX EX 0000000011000100 OR AX DX 15 0000000011101111 Suponga que en el registro DX est almacenado el valor AAH y De igual forma en en su modo de operaci n Registro que en EX el valor AH entonces despu s de pasar esta inmediato suponga que DX tiene almacenado el valor 14 instrucci n el valor de AX ser 0000000000001110B 0000000010101010B 0000000000001111B 0000000000001010B 0000000000011100B AX 0000000010100000B AX Ejemplo de XOR con modo de operaci n Registr
13. isma idea de lo explicado Instrucci n Descripci n Jn Si se quiere evaluar un negativo Jz Si se quiere evaluar un cero Jp Si se quiere evaluar un positivo Jnz Cualquiera no positivo Jnp Cualquiera diferente de cero Jzp Cuaquiera no negativo Jnzp Todos los casos XVI La instrucci n MLT INST OPCODE 11 1019 8 7 6 5 4 3 2 1 JO MLT 1 O 1 11 DST SRC1 0 SRC2 o o Inmediato MLT 1 O 1 11 DST SRC 1 La instrucci n MLT es una multiplicaci n aritm tica entre los valores de sus operandos importante no confundir la con AND AND es una operaci n l gica y no aritm tica Vea su diferencia en los siguientes ejemplos Ejemplo de MLT con modo de operaci n Registro Registro Binario 1011000011000111 Assembly MLT AX DX HX Suponga que el valor de DX es 1000 y el de HX es 5 entonces AX DX HX 5000 note que se operan los valores contenidos en los registros y que el resultado no puede ser mayor a 65535 ya que se exceden los 16 bits que tiene cada registro Ejemplo de MLT con modo de operaci n Registro Inmediato Binario 1011000011000111 Assembly MLT AX DX FH Suponga que el valor de DX es 1000 entonces AX 1000 15 15000 10 XVII La instrucci n LEA INST OPCODE 11 10 9 8 7 6 5 4 3 2 1 10 LEA 11 1 0 0 DST PCOffset9 La instrucci n LEA
14. o Inmediato Binario 0000000011101111 Assembly XOR AX DX 15 De igual forma en en su modo de operaci n Registro inmediato suponga que DX tiene almacenado el valor CCH 0000000011001100B 0000000000001111B 000000001 1000011B AX XI La instrucci n JMP Esta instrucci n es muy conocida en el lenguaje ensamblador ya que es de gran utilidad para bifurcaciones nuestra forma de programar especialmente se basa en el valor contenido en el registro fuente el IP pointer instrucci n se cambia a este valor y el programa se seguir ejecutando en esta direcci n OPCODE 11 1019 8 7 6 15 4 3 2 1 JO SRC 0 00 0 0 0 0 INST JMP 0 1 1 0 0 0 0 Por ejemplo la siguiente instrucci n suponiendo que PC apunta a 3030H y HX tiene un valor de 3200H Assembly Binario JMP HX 0110000111000000 Despu s de la ejecuci n de esta instrucci n el PC tendr el valor 3200H y ejecutar la instrucci n que est almacenada en dicha direcci n luego seguir avanzando de uno en uno como antes XII La instrucci n HLT INST OPCODE 1110 HLT 0O 1 1 1 1 1 101 1 1111 1 1 1 1 11 o N D a E w nm en o La instrucci n HALT es una de las m s f ciles de entender ya que s lo tiene una forma nica y sirve para detener el proceso de nuestro programa Su forma est ndar es

Download Pdf Manuals

image

Related Search

Related Contents

Philips SWV3461S  Interface multipoints MD485  2 4 3 MONTAJE PUERTA BASCULANTE STANDARD  T220 User Guide Rev B - Océ      IRGASON Integrated CO2/H2O Open-Path Gas  CHANNEL-OUT (BT) Rev 3x Manual  Chief LFAUB  JVC RX-8040B Receiver  

Copyright © All rights reserved.
Failed to retrieve file