Professional Documents
Culture Documents
construccin cercana al lenguaje humano pero alejada del lenguaje binario que entiende el microprocesador (cdigo mquina). Para que el microprocesador interprete dicha instruccin debe traducirse a cdigo mquina (unos y ceros), proceso denominado compilacin. Se puede hacer mas agradable la escritura en cdigo mquina asignndole un nemnico a cada instruccin formando el cdigo ensamblador.
Flujo de Datos: Como se sabe el proceso de ejecucin de una instruccin se divide en ciclo de bsqueda y ciclo de ejecucin de la instruccin. El primero consiste en copiar la instruccin en curso en el IR. Esto se consigue gracias a que la CPU almacena la direccin de la siguiente instruccin a ejecutar en el Contador de programa. La CPU fija esta direccin en el bus de direcciones y genera las seales de lectura.
decodifica y la unidad de control lleva a cabo los pasos necesarios para capturar los operandos necesarios que pueden estar en la misma instruccin, en los registros internos o en la memoria. La manera en que se establece el lugar de almacenamiento de los operandos se conoce como modos de direccionamiento.
Ejemplo: Como ejemplo veamos la ejecucin de la instruccin LXI D, TABLA, que carga en el registro D el byte contenido en la direccin apuntada por el registro HL. Primero se accede a la direccin de memoria apuntada por el PC iniciando el ciclo de bsqueda. Dicho dato se carga en IR. Luego se decodifica la instruccin forzando a cargar los registros involucrados en la instruccin.
Repertorio de Instrucciones
Lenguajes de alto nivel compilacin lenguaje
mquina (se usan Nemnicos por ser muy confuso manejar 1 y 0). Repertorio de instrucciones: Conjunto de instrucciones que puede ejecutar el microprocesador. Debe cumplir dos condiciones:
Cada instruccin debe tener la siguientes caractersticas generales: Deben realizar una funcin nica y sencilla, simplificando su decodificacin. Una misma instruccin emplea un nmero fijo de operandos. Codificacin de instrucciones debe ser sistemtica. Las instrucciones son autocontenidas e independientes, es decir, contienen toda la informacin necesaria para ejecutarse. Debe expresar: el tipo de operacin, el valor o posicin donde se hallan los operandos, el lugar donde tiene que depositarse el resultado y la ubicacin de la siguiente instruccin.
8
Tipos de Instrucciones Instrucciones de transferencia de datos Mueven datos entre registros y entre registros y memoria. MOV destino, origen Ejemplos:
MOV AL,BL MOV [SI + 3C9E],AX MOV BX,23AF
10
Llevan a cabo operaciones aritmticas (suma, resta), incremento, decremento, lgicas (OR, AND, XOR) ADD operando1, operando2 Ejemplo ADD AH,[BX + SI +3003] XOR BX,AX
11
programa (Bifurcaciones) Alteran el funcionamiento habitual del Contador de Programa. Se dividen en las siguientes, pudiendo ser cualquiera de ellas incondicionales o condicionales (dependen del estado de los sealizadores). Sin retorno: JUMP direccin Con posibilidad de retorno, para ello guarda la direccin de la siguiente instruccin en la Pila: CALL direccin De retorno: RET
12
Otras Instrucciones
13
Modos de Direccionamiento
Este procedimiento sirve para determinar la ubicacin del operando, que dependiendo de la instruccin puede estar en: La propia instruccin, mediante un dato inmediato. Memoria, mediante la direccin. Registros internos de la CPU.
14
Tipos de direccionamiento
Direccionamiento inmediato Forma mas sencilla pues el operando est presente en la instruccin. Ventaja: Una vez cargada la instruccin, no se requiere nuevo acceso a memoria. Desventaja: Rango de valores limitado.
15
Direccionamiento inmediato
16
Direccionamiento directo La instruccin contiene la direccin de memoria del operando Ventaja: Sencillez por que no requiere de clculos previos para conocer la direccin final del dato Desventaja: El cdigo de Direccin (CD) debe tener la suficiente longitud para direccionar todo el mapa de memoria
17
Direccionamiento directo
18
Direccionamiento mediante registro El operando se encuentra almacenado en uno de los registros internos del CPU. Ventaja: No precisa de ciclo de lectura adicional. Desventaja: Rango de valores limitado.
19
Direccionamiento relativo a registro El dato al cual se desea acceder reside en memoria. La direccin efectiva del dato la calcula el procesador sumando una cantidad (desplazamiento) al valor de un registro especial. El desplazamiento puede ser un nmero inmediato o residir en otro registro al cual se le denomina puntero. En la instruccin se debe especificar el desplazamiento y el identificador del registro (aunque a veces viene determinado por la instruccin).
21
memoria especificadas a partir de una posicin de referencia. Ventaja: Accede a todo el espacio de direccionamiento. Desventaja: Complejidad. Existen varios tipos en funcin del registro puntero utilizado: Direccionamiento relativo al registro PC. Direccionamiento relativo al registro base: usa como puntero un registro de trabajo o uno dedicado, al cual se le denomina registro base. Direccionamiento relativo a la Pila.
22
Direccionamiento indexado Direccionamiento similar al relativo a registro base. Diferencia: El registro puntero (o ndice, llamado en este caso) se modifica con frecuencia en la ejecucin de un programa. Se usa para recorrer estructuras de datos (matrices).
24
Direccionamiento indirecto La direccin especificada en la instruccin no indica la posicin del dato, sino la direccin efectiva del dato. Ventaja: Supera la desventaja del direccionamiento directo. Desventaja: La ejecucin de la instruccin requiere de dos referencias a memoria. Usado en aplicaciones que usan datos distanciados en memoria. Se puede combinar con todos los direccionamientos relativos vistos anteriormente.
25
Direccionamiento indirecto
26