The Internet belongs to everyone. Let’s keep it that way.

Protect Net Neutrality
Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

interrupciones assembler

No description
by

Ricardo Marín

on 10 April 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of interrupciones assembler

Una interrupción es una instrucción que detiene la ejecución de un programa para permitir el uso de la UCP a un proceso prioritario.
INTERRUPCIONES(Empleadas por el lenguaje ensamblador):
Existen 3 tipos de interrupciones principales:
INTERRUPCIONES INTERNAS DE HARDWARE:
INTERRUPCIONES EXTERNAS DE HARDWARE:
Las interrupciones externas las generan los dispositivos periféricos, como pueden ser: teclado, impresoras,tarjetas de comunicaciones, etc.

No es posible desactivar a las interrupciones externas.Estas interrupciones no son enviadas directamente a la UCP, sino que se mandan a un circuito integrado cuya función es majar exclusivamente este tipo de interrupciones.

El circuito, llamado PIC 8259A, es controlado por la UCP y utilizando para controlar una serie de vías de comunicación llamadas puertos.
INTERRUUPCIONES DE SOFTWARE
Las interrupciones de software pueden ser activadas directamente por el ensamblador invocando al número de interrupción deseada con la instrucción INT. El uso de las interrupciones nos ayuda en la creación de programas, utilizándolas nuestros programas son más cortos, es más fácil entenderlos y usualmente tienen un mejor desempeño debido en gran parte a su menor tamaño.Este tipo de interrupciones podemos separarlas en dos categorías: las interrupciones del sistema operativo DOS y las interrupciones del BIOS.

La diferencia entre ambas es que las interrupciones del sistema operativo son más fáciles de usar pero también son más lentas ya que estas interrupciones hacen uso del BIOS para lograr su cometido, en cambio las interrupciones del BIOS son mucho más rápidas pero tienen la desventaja que, como son parte del hardware son muy específicas y pueden variar dependiendo incluso de la marca del fabricante del circuito. La elección del tipo de interrupción a utilizar dependerá únicamente de las características que le quiera dar a su programa: velocidad (utilizando las del BIOS) o portabilidad (utilizando las del DOS).
Usos de las interrupciones:
Se utilizan las interrupciones generalmente para dos motivos:
Permitir una comunicación sin bloqueo con los periféricos externos.
Conmutar las tareas dentro de un planificador.
Sistemas de prioridad
Tormenta de interrupciones
Este evento se puede producir cuando un procesador recibe un número demasiado grande de interrupciones, las cuales consumen la mayor parte del tiempo del procesador. Las tormentas de interrupciones suelen ser causadas por dispositivos de hardware que no son compatibles con una tasa de interrupción limitante.
Las interrupciones internas son generadas por ciertos eventos que surgen durante la ejecución de un programa. Este tipo de interrupciones son manejadas en su totalidad por el hardware y no es posible modificarlas.

Un ejemplo claro de este tipo de interrupciones es la que actualiza el contador del reloj interno de la computadora, el hardware hace el llamado a esta interrupción varias veces durante un segundo para mantener la hora actualizada.
Se necesita un mecanismo para priorizar las interrupciones y tratar primero las más urgentes. Existen varias alternativas:

Interrupciones simultáneas. No tienen por qué ocurrir de manera simultánea sino que se refiere a que en un momento dado pueden haber varias interrupciones activas.

Interrupciones anidadas. Mientras se está procesando una determinada rutina de servicio de interrupción sucede otra señal de interrupción.

Inhibición de interrupciones. Se deshabilitan las demás interrupciones mientras se está tratando una.
Fin
es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.
Para lograr administrar todas estas interrupciones, la computadora cuenta con un espacio de memoria, llamado memoria baja, donde se almacenan las direcciones de cierta localidad de memoria donde se encuentran un juego de instrucciones que la UCP ejecutará para después regresar a la aplicación en proceso.
Interrupción 10H
Esta interrupción tiene diversas funciones, todas ellas nos sirven para controlar la entrada y salida de vídeo, la forma de acceso a cada una de las opciones es por medio del registro AH.
INT: llama a una función del DOS o BIOS a través de una subrutina para realizar un servicio especial, por ejemplo manipular el vídeo, la pantalla, abrir un fichero, escribir en un puerto, etc. En este texto usaremos una de ellas, la salida a pantalla, que se corresponde con la 21h.
Interrupción 16H
Propósito: Manejar la entrada/salida del teclado.
Funciones de la interrupción 16H:
00H Lee un carácter de teclado
01H Lee estado del teclado
Interrupción 21H
Propósito: Llamar a diversas funciones del DOS. Esta interrupción tiene varias funciones:

Desplegar información al vídeo.
Leer información del teclado.
Trabajar con archivos
Interrupción 17H
Propósito: Manejar la entrada/salida de la impresora.
Esta interrupción es utilizada para escribir caracteres a la impresora, inicializarla y leer su estado.
Hecho por:
Ricardo Marin
Full transcript