Anda di halaman 1dari 25

Lenguajes de interfaz Unidad 1. Introduccin al lenguaje ensamblador.

Ing. Jos Refugio Ruiz Garca

Microprocesador
Unidad Aritmtico Lgica Es donde se efectan las operaciones aritmticas (suma, resta, y a veces producto y divisin) y lgicas (and, or, not, etc.). All se interpretan las instrucciones que van llegando y que componen el programa. Los registros son celdas de memoria en donde queda almacenado un dato temporalmente. Existe un registro especial llamado de indicadores, estado o flags, que refleja el estado operativo del microprocesador. Supervisa todo el proceso de transferencias de informacin dentro del microprocesador y fuera de l.

Decodificador de instrucciones. Microprocesador Bloque de registros

Bloque de control de buses internos y externos

Microprocesador. Buses
El bus es un conjunto de lneas que enlazan los

distintos componentes del ordenador, por ellas se realiza la transferencia de datos entre todos sus elementos.

De Control Bus De Datos De Direcciones

Microprocesador Bus de Control


Forman parte de l las lneas que seleccionan desde dnde y

hacia dnde va dirigida la informacin, tambin las que marcan la secuencia de los pasos a seguir para dicha transferencia.

Microprocesador Bus de Datos


Por l, de forma bidireccional, fluyen los datos entre las

distintas partes del ordenador.

Microprocesador Bus de direcciones


La

memoria est dividida en pequeas unidades de almacenamiento que contienen las instrucciones del programa y los datos. El bus de direcciones consta de un conjunto de lneas que permite seleccionar de qu posicin de la memoria se quiere leer su contenido. Tambin direcciona los puertos de E/S. La forma de operar del ordenador en su conjunto es direccionar una posicin de la memoria en busca de una instruccin mediante el bus de direcciones, llevar la instruccin a la unidad central de proceso -CPU- por medio del bus de datos, marcando la secuencia de la transferencia el bus de control. En la CPU la instruccin se decodifica, interpretando qu operandos necesita: si son de memoria, es necesario llevarles a la CPU; una vez que la operacin es realizada, si es preciso se devuelve el resultado a la memoria.

Microprocesador Registros
Registros de Propsito general Registros Apuntadores Registros Registros de Segmento Registros de ndice Registro de Bandera

Registros de Propsito General


Registro AX: es el acumulador principal, es utilizado para

las operaciones que implican entrada/salida y la mayor parte de la aritmtica. Registro BX: Es el registro Base ya que es el nico registro de propsito general que puede ser ndice para direccionamiento indexado.

Microprocesador Registros de Propsito General


Registro CX: Es conocido como el registro contador

porque puede contener un valor para controlar el numero de veces que un ciclo se repite o un valor para corrimiento de bits. Registro DX: es conocido como registro de datos ya que algunas operaciones de entrada/salida requieren su uso y las operaciones de multiplicacin y divisin con cifras grandes suponen al DX y al AX trabajando juntos.

Microprocesador Registros Apuntadores


Registro IP: Registro apuntador de instrucciones de 16 bits

contiene el desplazamiento de direccin de la instruccin. Registro SP: Registro apuntador de pila de 16 asociado con el registro SS y proporciona un desplazamiento que se refiere a la palabra actual siendo procesada en la pila.

siguiente

bits esta valor de que esta

Microprocesador Registros de Segmento


Registro CS: el DOS almacena la direccin inicial del

segmento de cdigo de un programa en el registro CS. Registro DS: La direccin inicial de un segmento de datos de programa es almacenada en el registro DS. Registro SS: Permite la colocacin en memoria de una pila, para almacenamiento temporal de direcciones y datos. El DOS almacena la direccin de inicio del segmento de pila de un programa en el registro SS.

Microprocesador Registros de Segmento


Registro ES: algunas operaciones con cadenas de

caracteres utilizan el registro extra de segmento para manejar el direccionamiento de memoria. Registro FS y GS: son registros extra de segmento.

Microprocesador Registros de ndice


Registro SI: Registro de ndice fuente de 16 bits es

requerido por algunas operaciones con cadenas de caracteres. Registro DI: Registro de ndice destino de 16 bits es requerido tambin por algunas operaciones con cadenas de caracteres.

Microprocesador Registro de Banderas


OF

(overflow, Desbordamiento): Indica desbordamiento de un bit de orden alto despus de una operacin aritmtica. DF (Direccin): Designa la direccin hacia la izquierda o hacia la derecha para mover o comparar cadenas de caracteres. IF (Interrupciones): Indica que una interrupcin externa, como la entrada desde el teclado sea procesada o ignorada.

Microprocesador Registro de Banderas


TF (Trampa): Permite la operacin del procesador en

modo de un paso. Los programas depuradores, como DEBUG, activan esta bandera de manera que usted pueda avanzar en la ejecucin de una sola instruccin a un tiempo, para examinar el efecto de esa instruccin sobre los registros y la memoria. SF (Signo): Contiene el signo resultante de una operacin aritmtica (0 = positivo y 1 = negativo) ZF (Zero): Indica el resultado de una operacin aritmtica o de comparacin (0 = resultado diferente de cero y 1 = resultado igual a cero).

Microprocesador Registro de Banderas


AF (Acarreo Auxiliar): Contiene un acarreo

externo del bit 3 en un dato de ocho bits, para aritmtica especializada. PF (Paridad): Indica paridad par o impar de una operacin en datos de ocho bits de bajo orden. CF (Acarreo): Contiene el acarreo de orden mas alto despus de una operacin aritmtica; tambin lleva el contenido del ultimo bit en una operacin de corrimiento o de rotacin.

Microprocesador Modos de Direccionamiento


Direccionamiento Inmediato Direccionamiento a Registro Direccionamiento Directo Direccionamiento de Registro Indirecto Direccionamiento de Registro Indirecto con Desplazamiento Direccionamiento de Registro Indirecto con un Registro Base y un Registro ndice Direccionamiento de Registro ndice Indirecto con un Registro Base, un Registro ndice y un Registro Constante

Interrupciones
Una interrupcin es una seal que provoca la suspensin del

programa que se estaba ejecutando y provoca el comienzo de ejecucin de un programa de tratamiento que de solucin a esa interrupcin. A ese programa se le conoce como RUTINA DE TRATAMIENTO de esa interrupcin. Este procesador nos presenta tres grupos de interrupciones.

Interrupciones
Hardware o Externas Interrupciones Internas Software

Interrupciones de Hardware
Son aquellas provocadas por los dispositivos perifricos,

controladas por un procesador especial de interrupciones (8259) o IPC (Controlador de Interrupciones Programable), y la rutina de tratamiento est "cableada".

Interrupciones Internas
Son aquellas provocadas dentro del propio procesador por

una situacin anormal de funcionamiento de alguna de sus partes.

Interrupciones de Software
Son aquellas que son programables y que podemos cambiar.

Las interrupciones de software podemos llegar a manejarlas y por ello el ensamblador nos proporciona una instruccin que nos permita poner en funcionamiento una determinada rutina de interrupcin; esta instruccin es INT.

Estructura de un programa en ensamblador.


stacksg segment para stack 'stack db 64 dup (0) stacksg ends datasg segment para 'data' Declaracion de variables datasg ends codesg segment para 'code' inicio proc far assume cs:codesg, ds:datasg, ss:stacksg, mov ax,datasg mov ds,ax mov ax,4C00h int 21H inicio endp codesg ends end inicio

Directivas

De definicin de datos DW, DB, DD, DT y DQ De definicin de smbolos EQU De control del ensamblador ORG, END, EVEN, RADIX De definicin de Segmentos y Procedimientos. SEGMENT-ENDS, ASSUME, PROC-ENDP De referencias externas PUBLIC, EXTRN,INCLUDE De definicin de Bloques NAME, GROUP, LABEL, STRUC-ENDS, RECORD Condicionales Directivas de Listado

Procedimiento de ensamble, enlace y ejecucin.

Edit (*.asm)

Masm (*.obj)

Link (ML) (*.exe)

Ejecucin

Anda mungkin juga menyukai