Professional Documents
Culture Documents
SISTEMAS PROGRAMABLES
Modelos de programacin.
Organigramas: suelen aplicarse en aplicaciones
sencillas o en la planificacin de rutinas en las que
se divide una aplicacin mas compleja.
Tablas de transiciones.
Registros de Pila
Registros de segmento
Un registro de segmento tiene 16 bits de longitud y facilita un rea de
memoria para direccionamiento conocida como el segmento actual.
Registro CS. El DOS almacena la direccin inicial del segmento de cdigo
de un programa en el registro CS. Esta direccin de segmento indica la
direccin de una instruccin que es buscada para su ejecucin.
Registro DS. La direccin inicial de un segmento de datos de programa
es almacenada en el registro DS.
Registr SS. El registro SS permite la colocacin en memoria de una pila,
para almacenamiento temporal de direcciones y datos.
Registros Apuntadores.
Los registros SP (apuntador de la pila) Y BP (apuntador de base) estn
asociados con el registro SS y permiten al sistema accesar datos en el
segmento de la pila.
Registros ndice.
Registro SI. El registro ndice fuente de 16 bits es requerido por algunas
operaciones con cadenas (de caracteres).
Registro DI. El registro ndice destino tambin es requerido por algunas
operaciones con cadenas de caracteres.
Registro de Banderas.
De los 16 bits del registro de banderas, nueve son comunes a toda la
familia de procesadores 8086, y sirven para indicar el estado actual
de la maquina y el resultado del procesamiento. Muchas
instrucciones que piden comparaciones y aritmtica cambian el
estado de las banderas, algunas cuyas instrucciones pueden realizar
pruebas para determinar la accin subsecuente.
OF (Overflow, desbordamiento).
DF (direccin).
IF (interrupcin).
TF (trampa).
SF (signo).
ZF (cero).
AF (acarreo auxiliar).
PF (paridad).
CF (acarreo).
Registros de PILA
4.3 Modos de
direccionamiento
Objetivos de los modos de direccionamiento:
Reducir el espacio ocupado en memoria por las instrucciones.
Permitir la reubicacin del cdigo.
Facilitar el manejo de las estructuras de datos.
Direccionamiento inmediato
El operando es un nmero que forma parte de la instruccin. No se
necesita calcular la direccin absoluta.
La instruccin contiene al propio objeto.
Se emplea cuando la instruccin contiene un valor constante.
El tamao del operando viene determinado por el espacio reservado
para l en el formato de instruccin.
Ejemplos:
ADD BX, 2h
SUB CX, 100h
MOV DX, 30h
MOV AL 22h
Direccionamiento directo
Es el modo de direccionamiento mas sencillo, el campo de direccin
no necesita transformacin alguna para dar la direccin efectiva, es
decir la funcin que transforma el campo de operando en la
direccin efectiva es la identidad.
Ejemplo:
MOV AX, DATO
ADD AX, [100]
Direccionamiento de registro
Los operandos o datos se encuentran en registros.
No se necesita calcular la Dir. Absoluta.
Transfiere un byte o palabra desde el registro fuente o localidad en
memoria, hasta el registro o localidad destino en la memoria
ejemplo MOV CX, DX copia el contenido de tamao de palabra en el
registro DX y lo pasa al registro CX.
Direccionamiento indexado
El procesador calcula la direccin efectiva (real o absoluta sumando a DS
o a ES SI o DI respectivamente) ms un desplazamiento.
Similar al direccionamiento relativo a registro base.
El operando se encuentra en memoria.
Registro ndice: se modifica a menudo en la ejecucin del programa.
Ejemplo:
MOV SI, 2
Direccionamiento indirecto
En este modo el campo de operando de la instruccin indica la
localizacin de la direccin efectiva del operando. El modo de
direccionamiento indirecto puede adquirir diferentes formas segn
cual sea el lugar donde se encuentre la direccin del operando.
El operando se encuentra en memoria.
La instruccin contiene una direccin que se emplea para leer en
memoria una direccin intermedia que ser la verdadera direccin
del objeto buscado.
Completo
Eficiente
Autocontenidas
Independientes
Tipos de instrucciones
Transferencia de datos:
Nemotcnicos ms frecuentes:
Move
Store
Load
Instrucciones aritmticas
Nemotcnicos ms frecuentes
Add
Subtrack
Increment
Decrement
Multiply
Divide
Instrucciones de comparacin
Nemotcnicos ms frecuentes:
Compare
Test
Instrucciones lgicas
Nemotcnicos ms frecuentes:
And
Or
Xor
Not
4.5 LENGUAJES
ENSAMBLADORES
DEFINICION
El lenguaje ensamblador es
el
lenguaje
de programacin utilizado
para
escribir
programas
informticos de bajo nivel, y
constituye la representacin
ms directa del cdigo
mquina.
Un programa escrito en lenguaje
ensamblador consiste en una
serie de instrucciones.
RAPIDEZ
Como trabaja
directamente con
el
microprocesador
al ejecutar
un programa,
pues como este lo
procesa ms
rpido
EFICIENCIA DE
TAMAO
no ocupa mucho
espacio
en
memoria porque
no tiene que
cargan libreras
FLEXIBILIDAD
porque todo lo
que
puede
hacerse con una
mquina, puede
hacerse en el
lenguaje ensamb
lador de esta
mquina
Tiempo de programacin
Falta de portabilidad.
Ensambladores Residentes
Macroensambladores
Microensambladores