Documentos de Académico
Documentos de Profesional
Documentos de Cultura
unidad central de
procesamiento (CPU)
Organizacin Computacional
Unidad Central de Proceso (CPU)
Funcin: ejecutar secuencias de instrucciones.
Buscar instrucciones (memoria).
Interpretar instrucciones.
Buscar datos (memoria o E/S).
Procesar datos.
Escribir datos (memoria o E/S).
Programacin computadora.
Preparar secuencia de instrucciones (conjunto de
instrucciones).
Almacenar datos (memoria).
Instruir al CPU para que inicie la ejecucin.
Unidad Arimtica y Lgica (ALU)
Realiza clculos:
Aritmticos.
Suma, Resta, Multiplicacin y Divisin.
Lgicos (comparaciones).
AND, OR, NOT.
Dos tipos:
Disponibles al usuario.
Control y Estado (UC).
Disponibles al usuario:
Propsito General.
AX, BX, CX, DX (H/L).
Registros de Datos.
Registros de Direccin.
Propsito general.
SI y DI.
Direccionamiento.
SP, BP, CS, DS, ES, SS, IP.
Secuencia de bits.
Mnemonicos.
Representacin simblica de una instruccin de mquina.
Abreviaciones que indican la operacin.
Ej: ADD, JMP, LOAD.
Dividida en campos.
1. Tipos de datos:
1. Direcciones.
2. Nmeros.
3. Caracteres.
4. Lgicos.
2. Formato de la instruccin:
1. Longitud, # campos, tipo de direccionamiento.
3. Registros:
1. No. de registros del CPU a ser usados.
4. Direccionamiento:
1. Modo(s) de especificar la direccin de un operando.
5. Repertorio de operaciones.
1. Transferencia de datos.
2. Aritmticas.
3. Manipulacin de bits (lgica).
4. Control de programa.
5. Manipulacin de cadenas (strings).
6. Control del CPU.
MUL / DIV Op
Multiplicacin / Divisin de AX por / entre Op.
NOT Op
Complemento a uno de Op.
Resultado almacenado en Op.
OF Overflow Flag
DF Direction Flag
IF Interruption Flag Registro de Banderas de 16 bits
TF Trap Flag Procesador 8088
SF Sign Flag
ZF Zero Flag
AF Aux. Carry Flag
PF Parity Flag
CF Carry Flag
Instrucciones de Control de Programa
CALL Llamar a una subrutina
RET Regresar de una subrutina
JMP Salto
JZ, JNZ Saltos condicionales
LOOP Ciclo
LOOPNE Ciclos condicionales
INT Interrupcin
JMP etiqueta
Provoca cambio en el flujo del programa sin considerar
condicin alguna.
La etiqueta especifica a partir de donde se continua la
ejecucin del programa.
JZ / JNZ etiqueta
Transfiere el control de ejecucin si y solo si la
bandera Zero Flag (ZF) se encuentra prendida /
apagada..
La etiqueta especifica a partir de donde se
continua la ejecucin del programa.
Si AX = 0 entonces AX = AX + 1
de otra forma AX = AX + 2
ADD AX, 0
JNZ SumaDos
INC AX
JMP Fin
SumaDos: ADD AX, 2
Fin: ...
LOOP etiqueta
Utilizada cuando se necesita ejecutar un conjunto
de instrucciones varias veces.
Brinca a la etiqueta siempre y cuando el valor de
CX sea diferente de cero.
En cada LOOP: CX = CX 1, si CX <> 0 salta.
Ej: Realice un programa que sume los numeros enteros
del 1 al 20. Almacene el resultado en DX.
MOV CX, 20
MOV AX, 0
MOV BX, 1
Suma: ADD AX, BX
INC BX
LOOP Suma
MOV DX, AX
Instrucciones de Control del Procesador
CLC Limpiar bandera CF
CLD Limpiar bandera DF
CLI Limpiar Bandera IF
CMC Complementar CF
STC Prender CF
STD Prender DF
STI Prender IF
HLT Detener el procesador (Alto)
Realice un programa que dado un nmero K, obtenga
su nmero de Fibonacci. Almacene el resultado en DX.
La sucesin de Fibonacci se define como la suma de
los dos ltimos elementos de una serie que empieza
con los nmeros 1, 1.
Ej: 1, 1, 2, 3, 5, 8, 13, ...
Formalmente se define de la siguiente manera:
F(1) = 1
F(2) = 1
F(K) = F(K-1) + F(K-2)
Modos:
Implcito
Inmediato
Directo
Indirecto
Registro
Registro Indirecto
Desplazamiento
Ej.:
MUL BX
Ventaja:
Acceso rpido.
Desventaja:
Conocer perfectamente la operacin.
Direccionamiento Inmediato.
Recibe el operando y no la direccin de este.
Ej.:
MOV AX, 4
Ej.:
MOV AX, [10]
Ventaja:
Acceso rpido para variables globales.
Desventajas:
La instruccin siempre accesar la misma localidad de
memoria.
Solo puede cambiar el valor del operando pero no su
direccin.
Direccionamiento Indirecto.
Recibe la direccin de la palabra en memoria
(apuntador) que contiene la direccin del operando.
Ej.:
MOV AX, [[10]]
Ventaja:
La direccin en memoria puede apuntar a distintas
localidades de memoria.
Desventaja:
La ejecucin de la instruccin requiere de dos
referencias a memoria para traer el operando (una
para obtener su direccin y la otra para obtener su
valor).
Direccionamiento de Registro (directo).
Similar al direccionamiento directo.
Ej.:
MOV AX, BX
Ventaja:
No necesita referencias a memoria.
Desventaja:
Nmero limitado de registros en el CPU -> usar este
direccionamiento para operandos muy utilizados.
Ej.:
MOV AX, [BX]
Ventaja:
La direccin en el registro puede apuntar a distintas localidades
de memoria (misma indirecta).
Utiliza una referencia menos a memoria en comparcin con el
direccionamiento inderecto.
Indexado.
La direccin fija referencia a la memoria.
Ciclo de . . . . . . . . Ciclo de
instruccin instruccin
Captacin Captacin
Indirecto Indirecto
Ejecucin Ejecucin
Interrupcin Interrupcin
Ciclo de Instruccin
Captacin
Interrupcin Indirecto
Ejecucin
Ciclo de captacin (fetch).
Ocurre al inicio de cada ciclo de mquina.
Objetivo:
Guardar la siguiente direccin a ejecutarse.
Pasar el control a la rutina de interrupcin.
Ejemplos:
ADD AX, [5]
t1: MAR IR(5)
t2: MDR Memoria
t3: AX AX + MDR
Ciclo de Ejecucin
t4:AX AX * 5
SUB AX, [[10]]
Ciclo de Captacin
t1: MAR PC
t2: MDR Memoria
PC PC + 1
t3: IR MDR
Ciclo Indirecto
t4: MAR IR(10)
t5: MDR Memoria
t6: IR(20) MDR(20)