Arquitectura de Computadores Instrucciones en Lenguaje Ensamblador
z Los microcomputadores tienen un lenguaje único que
es capaz de reconocer y ejecutar las instrucciones. El lenguaje Ensamblador Este lenguaje es llamado "Lenguaje de Máquina" y pertenece al procesador del microcomputador. z El lenguaje de máquina está compuesto por una serie de instrucciones, las cuales son reconocidas y ejecutadas únicamente por el procesador. Sesión-19 z Este lenguaje es un conjunto de números que representan las operaciones realizadas por los componentes internos del procesador. Viernes, 19 de Noviembre de 2010 z Estas instrucciones se encuentran directamente ligadas a la estructura física del procesador y no pueden ser modificadas o cambiadas.
El lenguaje Ensamblador El lenguaje Ensamblador (cont.)
z Es necesario comprender la arquitectura z Las instrucciones de programa de un procesador se
guardan como números binarios en la memoria y se interna del procesador así como sus conocen como códigos de operación (op). instrucciones para programar un procesador. z Los códigos de operación son leídos por la CPU y z Cada procesador tiene un conjunto de decodificados para determinar cuál es la instrucción registros internos que puede emplearse de que debe ejecutarse. maneras distintas para manipular números z Cada código de operación se aplica o afecta a otro binario. número, tal como el que está guardado en el "registro de trabajo" o "Acumulador". z Las instrucciones ejecutadas por el procesador z El número binario al que se aplica la instrucción se generalmente manipulan los datos conoce como operando. El operando puede ser otro almacenados en la memoria y los registros de registro o un número binario almacenado en la trabajo. memoria. El lenguaje Ensamblador (cont.) El lenguaje Ensamblador (cont.)
z Para facilitar la escritura de programas, cada uno de Mnemónico Operando Comentario
los tipos principales de instrucciones tiene asociado un MOV A, B Carga el registro A con los datos del código alfanumérico corto que ayuda al programador a registro B recordarlos, y estos códigos alfanuméricos se conocen Instrucción en Lenguaje Ensamblador como mnemónicos. z La palabra "MOV" es una abreviatura que significa z Este lenguaje es llamado lenguaje ensamblador y su "mover" y corresponde a la instrucción que se da al uso es muy frecuente debido a la facilidad para procesador, el operando "A, B" agrupa los argumentos recordar las instrucciones. de la instrucción y en este caso corresponde a dos z A manera de ejemplo en la siguiente tabla se muestra registros del procesador. una instrucción en lenguaje ensamblador, la cual z Como regla general en el lenguaje ensamblador de efectúa una trasferencia de datos entre dos registros varios procesadores, cuando un operando tiene esta del procesador: sintaxis, indica que el registro a la derecha de la coma es la fuente y el registro a la izquierda es el destino.
El lenguaje Ensamblador (cont.) Tipos de Instrucciones
z Existe una correspondencia uno a uno entre las instrucciones en lenguaje de máquina y lenguaje z Las instrucciones de un procesador se pueden ensamblador y cada uno de los valores numéricos del agrupar en tres tipos: lenguaje de máquina tiene una representación simbólica de 3 a 5 caracteres como instrucción en – Instrucciones de Transferencia, lenguaje ensamblador, como es el caso de la – Instrucciones de Operación e instrucción de ejemplo anterior. – Instrucciones de Control. z De esta forma los programas pueden ser escritos utilizando únicamente los mnemónicos de las z A continuación se describirán las instrucciones y ser procesados posteriormente con un características básicas de cada uno de estos programa denominado ensamblador, el cual genera los grupos: códigos de operación. z Esta es una manera mucho práctica de generar un programa en vez de consultar los códigos de operación y cargarlos en memoria manualmente. Tipos de Instrucciones (cont.) Tipos de Instrucciones (cont.) z Instrucciones de Transferencia z Instrucciones de Operación – Como su nombre lo indica, este grupo de instrucciones se – Estas instrucciones se emplean para realizar operaciones utiliza para efectuar transferencia de datos entre los registros aritméticas y lógicas entre los registros del procesador y la de la CPU, la memoria y los puertos de E/S. En la siguiente memoria. tabla se indica un ejemplo este tipo de instrucciones. – Estas operaciones incluyen suma, resta, incremento decremento, complemento, comparación y corrimiento. En la Mnemónico Operando Comentario siguiente tabla 11.6.3 se muestra un ejemplo de una instrucción de operación. LDA M Carga el registro A con los datos del registro en la posición de memoria M. Mnemónico Operando Comentario Instrucción de Transferencia en Lenguaje Ensamblador ADD B Suma el registro B con el registro A y el resultado se almacena en el registro A.
Instrucción de Operación en Lenguaje Ensamblador
Tipos de Instrucciones (cont.) Tipos de Instrucciones (cont.)
z La abreviatura JZ corresponde a la frase en z Instrucciones de Control – En el lenguaje Ensamblador y en general en cualquier inglés Jump If Zero (Saltar si Cero) y la función lenguaje de programación las instrucciones de control juegan es evaluar el bit del sistema Z del registro de un papel muy importante en el flujo de un programa. – Su función consiste en alterar el flujo normal del programa, estado. En caso de estar en 0 se ejecuta según el estado de ciertos registros del sistema que indican normalmente la siguiente instrucción, y en alguna condición después de ejecutar una instrucción. – Con este tipo de instrucciones es posible tomar el control del caso de estar en 1 se salta la siguiente flujo del programa. En la siguiente tabla se indica un ejemplo instrucción. Este bit del sistema se pone en 1 de una instrucción de control. si una operación anterior dio como resultado 0. Mnemónico Operando Comentario z Hay mucho más que decir sobre la JZ No existe Pasa por alto la siguiente instrucción en el código del programa si el bit del sistema programación de un procesador que lo Z=1. mencionado anteriormente. Instrucción de Control en Lenguaje Ensamblador