You are on page 1of 32

INSTITUTO TECNOLOGICO SUPERIOR DE COATZACOALCOS

ANTONIO ANTONIO EMMA


BELTRAN ROMERO ENRIQUE
DE JESUS CRUZ BEATRIZ
SOTOMAYOR GARCIA VALERIA
SUAREZ MARQUEZ MARCELINO

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.

Maquinas de estado finitas.


Las maquinas de estado finitas estn compuestas por:
estados: son las diferentes situaciones en las que puede
encontrarse el sistema.
Entradas: constituyen los acontecimientos que producen los
cambios de estado.
Salidas: respuestas del sistema ante los cambios en las entradas.
funciones de transicin de estado. Descripcion detallada para
cada estado, de cual es el siguiente estado y salida del sistema.

Las formas de representarlas son:

Diagramas o grafo de estados.

Tablas de transiciones.

Alternativas de la deteccin de eventos:


Rutina de atencin a una interrupcin: se trata de una
rutina asociada a la entrada en cuestin, la que coloca la
seal en el espacio de memoria reservado, cada vez que se
active dicha entrada.
Rutina de interrupcin de un reloj: se trata de una
interrupcin peridica que se ejecuta cada cierto tiempo y
se encarga de consultar si algna entrada esta activa.

4.2 estructura de los registros.


Los registros internos del microcontrolador se pueden clasificar en 6 tipos
diferentes:
Registros de segmento
Registros de propsito general
Registros de apuntadores
Registros de banderas
Registros de Puntero de instruccin

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 ES. Alguna operaciones con cadenas de caracteres


(datos de caracteres) utilizan el registro extra de segmento para
manejar el direccionamiento de memoria.
Registros FS y GS. Son registros extra de segmento en los
procesadores 80386 y posteriores.

Registros de propsito general.


Los registros de propsito general AX, BX, CX y DX son los caballos de batalla del
sistema. Son nicos en el sentido de que se puede direccionarlos como una
palabra o como una parte de un byte.
Registro AX. El registro AX, el acumulador principal, es utilizado para operaciones
que implican entrada/salida y la mayor parte de la aritmtica.
Registro BX. El BX es conocido como el registro base ya que es el nico registro
de propsito general que puede ser ndice para direccionamiento indexado

Registro DX. El DX es conocido como l registro de datos. Alguna operaciones de


entrada/salida requieren uso, y las operaciones de multiplicacin y divisin con
cifras grandes suponen al DX y al AX trabajando juntos.

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.

Registro SP. El apuntador de la pila de 16 bits esta asociado con el registro


SS y proporciona un valor de desplazamiento que se refiere a la palabra
actual que esta siendo procesada en la pila.
Registro BP. El BP de 16 bits facilita la referencia de parmetros, los
cuales son datos y direcciones transmitidos va 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.

En resumen, los bits de las banderas comunes son como sigue:

OF (Overflow, desbordamiento).
DF (direccin).
IF (interrupcin).
TF (trampa).
SF (signo).
ZF (cero).
AF (acarreo auxiliar).
PF (paridad).
CF (acarreo).

Registros de PILA

La pila es un rea de memoria importante y por ello tiene, en vez de uno,


dos registros que se usan como desplazamiento (offset) para apuntar a su
contenido.
SP- Stack Pointer: Se traduce como puntero de pila y es el que se
reserva el procesador para uso propio en instrucciones de manipulado de
pila.
BP- Base pointer: Se usa como registro auxiliar. El programador puede
usarlo para su provecho.

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

MOV AX, DATO [SI]

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.

4.4 Conjunto de instrucciones


Un conjunto de instrucciones o ISA (del ingls Instruction Set
Architecture, Arquitectura del Conjunto de Instrucciones) es una
especificacin que detalla las instrucciones que una CPU de un
ordenador puede entender y ejecutar, o el conjunto de todos los
comandos implementados por un diseo particular de una CPU.

CISC, del ingls Complex instruction set computing,


Computadora de Conjunto de Instrucciones Complejo.
Los microprocesadores CISC tienen un conjunto de
instrucciones que se caracteriza por ser muy amplio y
que permiten realizar operaciones complejas entre
operandos situados en la memoria o en los registros
internos.
RISC, del ingls Reduced Instruction Set Computer,
Computadora con Conjunto de Instrucciones Reducido.

Caractersticas que debe tener un conjunto


de instrucciones

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.

El cdigo escrito en lenguaje ensamblador posee una cierta


dificultad
Es difcilmente portable
Son generalmente ms rpidos y consumen menos recursos
del sistema
Se tiene un control muy preciso de las tareas realizadas
Se puede controlar el tiempo en que tarda una Rutina

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

Programas fuente grandes

Peligro de afectar recursos


inesperadamente

Falta de portabilidad.

TIPOS DE LENGUAJES ENSAMBLADORES


Ensambladores Cruzados

Ensambladores Residentes

Macroensambladores

Microensambladores

Ensambladores de una fase.

Ensambladores de dos fases

You might also like