Registros del CPU, Instrucciones y Manejo de Interrupciones
Clasificado en Informática
Escrito el en español con un tamaño de 4,13 KB
Registros del CPU
Registros de Propósito General
AX: Acumulador. Como un registro de 16 bits, se utiliza para instrucciones tales como multiplicación y división.
BX: Índice de base. Algunas veces guarda la dirección de desplazamiento de una posición en el sistema de memoria.
CX: Conteo. Propósito general que también guarda la cuenta de varias instrucciones.
DX: Datos. Propósito general que guarda una parte del resultado de una multiplicación, o parte del dividendo antes de la división.
Registros de Banderas
- CF (acarreo): Indica un acarreo en suma y resta.
- AF (acarreo auxiliar): Acarreo de un cuarto bit de byte.
- ZF (cero): El resultado de una operación aritmética o lógica es 0.
- SF (signo): Signo aritmético del resultado después de una suma o resta.
- TF (trampa): Cuando este bit es activado, el procesador ejecuta una instancia a la vez.
- IF (interrupción): Habilitación de una interrupción.
- DF (dirección): Cuando este se activa, el registro de contenido se indexa directamente.
- OF (overflow): Es activada cuando el resultado de una operación es mayor al tamaño del registro.
- PF (paridad): 0 impar, 1 par.
Tipos de Operandos
- SHORT: Inmediato
- NEAR: Inmediato-registro-memoria
- FAR: Inmediato-memoria
Instrucciones
CMP
Sintaxis: CMP Op destino, Op fuente
Compara dos operandos.
LOOPZ
Sintaxis: LOOPZ etiqueta
Salta a la etiqueta si el valor del registro CX es diferente de 0 y la bandera ZF es 1.
LOOPNZ
Sintaxis: LOOPNZ etiqueta
Salta a la etiqueta si el valor del registro CX es diferente de 0 y la bandera ZF es 0.
Procedimientos
Un procedimiento es un grupo de instrucciones que desempeñan una tarea específica.
Sintaxis
etiqueta PROC [NEAR | FAR]
; Instrucciones del procedimiento
RET [Constante]
etiqueta ENDP
Llamada a un Procedimiento
La instrucción CALL
guarda en la pila la dirección de la siguiente instrucción y transfiere el control a la dirección especificada.
Interrupciones
Una interrupción es una situación que suspende la ejecución de un programa de modo que el sistema pueda realizar una acción para trasladarla.
Clasificación de Interrupciones
- De software
- Excepciones
- De hardware
Interrupciones de Software
Son activadas por el usuario generalmente para operaciones de entrada y salida.
Clasificación de Interrupciones de Software
- Por software
- Del sistema (DOS, ROM BIOS)
- Del usuario
Características para Seleccionar una Interrupción por Software
- Velocidad (usa la del BIOS)
- Portabilidad (usa la del DOS)
Interrupciones del Sistema Operativo
Suspensión temporal a la ejecución de un proceso, para pasar a ejecutar una subrutina de servicio de interrupción.
Ejemplos de Interrupciones de la BIOS
- INT 10h: Servicio de video
- INT 14H: Comunicaciones en serie
- INT 19H: Reinicialización del sistema
Interrupciones de Hardware Externas
Aquellas que generan los dispositivos periféricos, por ejemplo, un teclado.
Ejemplos de Interrupciones del DOS
- INT 21h: Servicio del DOS
- INT 25h: Lectura absoluta del disco
- INT 29H: Impresión rápida en pantalla
Diferencia entre Transferencia por Programa y por DMA
- DMA no tiene ventajas sobre las transferencias por programa cuando se trata de transferir un dato aislado.
- DMA es adecuada cuando debe transferirse un bloque de datos.
- DMA debe conocer la dirección de memoria involucrada en la transferencia.