Las principales interrupciones del 8086/8088
viernes, 23 de febrero de 2018
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. Se usan como complemento al registro y son:
1- 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. Por lo general, el programador no debe alterar su contenido.
2- BP- Base pointer: Se usa como registro auxiliar. El programador puede usarlo para su provecho.
Registro de Apuntador de Instrucciones
El registro apuntador de instrucciones (IP) de 16 bits contiene el desplazamiento de dirección de la siguiente instrucción que se ejecuta. El IP esta asociado con el registro CS en el sentido de que el IP indica la instrucción actual dentro del segmento de código que se esta ejecutando actualmente. Los procesadores 80386 y posteriores tienen un IP ampliado de 32 bits, llamado EIP.
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. Se usan como complemento al registro y son:
1- 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. Por lo general, el programador no debe alterar su contenido.
2- BP- Base pointer: Se usa como registro auxiliar. El programador puede usarlo para su provecho.
Registro de Apuntador de Instrucciones
El registro apuntador de instrucciones (IP) de 16 bits contiene el desplazamiento de dirección de la siguiente instrucción que se ejecuta. El IP esta asociado con el registro CS en el sentido de que el IP indica la instrucción actual dentro del segmento de código que se esta ejecutando actualmente. Los procesadores 80386 y posteriores tienen un IP ampliado de 32 bits, llamado EIP.
Registro SI. El registro índice fuente de 16 bits es requerido por algunas operaciones con cadenas (de caracteres). En este contexto, el SI esta asociado con el registro DS.
Registro DI. El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. En este contexto, el DI esta asociado con el registro ES.
Ejercicio del vídeo en EMU8086
INGRESAR DATOS
.model small
.stack 64
.data
n1 db 0
n2 db 0
suma db 0
msg1 db "Dame el primer valor", '$'
msg2 db 10, 13, "Dame el segundo valor", '$'
msg3 db 10,13, "Suma", '$'
.code
inicio:
; direccionamos al segmento de datos
mov ax, @data
mov ds, ax
; solicitamos el primer digito
mov ah,09
lea dx, msg1
int 21h
; se lee el primer valor
mov ah,01
int 21h
sub al, 30h ; convertir el caracter a numero
mov n1,al
; solicitamos el segundo digito
mov ah, 09
lea dx, msg2
int 21h
; se lee el primer valor
mov ah,01
int 21h
sub al, 30h ; convertir el caracter a numero
mov n2, al
; operacion
mov al, n1
add al, n2
add al, 30h ; convierte el caracter
mov suma, al
mov ah, 09
lea dx, msg3
int 21h
; se imprime el caracter con el servicio 02 de la int 21h
mov ah, 02
mov dl, suma
int 21h
mov ah, 4ch
end inicio
end
Ejercicio del vídeo en EMU8086
INGRESAR DATOS
.model small
.stack 64
.data
n1 db 0
n2 db 0
suma db 0
msg1 db "Dame el primer valor", '$'
msg2 db 10, 13, "Dame el segundo valor", '$'
msg3 db 10,13, "Suma", '$'
.code
inicio:
; direccionamos al segmento de datos
mov ax, @data
mov ds, ax
; solicitamos el primer digito
mov ah,09
lea dx, msg1
int 21h
; se lee el primer valor
mov ah,01
int 21h
sub al, 30h ; convertir el caracter a numero
mov n1,al
; solicitamos el segundo digito
mov ah, 09
lea dx, msg2
int 21h
; se lee el primer valor
mov ah,01
int 21h
sub al, 30h ; convertir el caracter a numero
mov n2, al
; operacion
mov al, n1
add al, n2
add al, 30h ; convierte el caracter
mov suma, al
mov ah, 09
lea dx, msg3
int 21h
; se imprime el caracter con el servicio 02 de la int 21h
mov ah, 02
mov dl, suma
int 21h
mov ah, 4ch
end inicio
end
lunes, 12 de febrero de 2018
EJERCICIOS EN EMU8086 Y TURBO
emu8086
Ejemplos de banderas en emu8086
Bandera CF
CF: Bandera de acareo.
El tamaño maximo que puede soportar al es 255 y se produjo un acarreo de 1
emu8086
turbo
Ejemplos de banderas en emu8086
Bandera CF
CF: Bandera de acareo.
El tamaño maximo que puede soportar al es 255 y se produjo un acarreo de 1
Bandera ZF
ZF: Bandera de resultado 0 o comparación igual.
El resultado de la operación es 0
Bandera SF
SF: Bandera de resultado o comparación negativa.
Resultado de operación aritmética negativa.
Bandera OF
OF: Bandera de desbordamiento (aritmético).
Esta fuera del rango
martes, 6 de febrero de 2018
Registro de bandera.
El Registro de banderas es el que informa al usuario el estado actual del
microcontrolador.
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 aritmética cambian el estado de las banderas, algunas cuyas instrucciones pueden realizar pruebas para determinar la acción subsecuente. En resumen, los bits de las banderas comunes son :
OF (desbordamiento) es el principal indicador de error producido durante las operaciones con signo. Vale 1 cuando:
• La suma de dos números con igual signo o la resta de dos números con signo opuesto
producen un resultado que no se puede guardar (más de 16 bits).
• El bit más significativo (el signo) del operando ha cambiado durante una operación de desplazamiento aritmético.
• El resultado de una operación de división produce un cociente que no cabe en el registro de resultado.
DF (dirección en operaciones con cadenas) si es 1 el sentido de recorrido de la cadena es de izquierda a derecha, si es 0 irá en sentido contrario.
IF (indicador de interrupción) cuando vale 1 permite al procesador reconocer interrupciones. Si se pone a 0 el procesador ignorará las solicitudes de interrupción.
TF (modo traza) indica al procesador que la ejecución es paso a paso. Se usa en la fase de depuración.
SF (indicador de signo) solo tiene sentido en las operaciones con signo. Vale 1 cuando en una de estas operaciones el signo del resultado es negativo.
ZF (indicador de cero) vale 1 cuando el resultado de una operación es cero.
AF (acarreo auxiliar) vale 1 cuando se produce acarreo o acarreo negativo en el bit 3.
PF (paridad) vale 1 si el resultado de la operación tiene como resultado un número con un número
par de bits a 1. Se usa principalmente en transmisión de datos.
CF (bit de acarreo) vale 1 si se produce acarreo en una operación de suma, o acarreo negativo en
una operación de resta. Contiene el bit que ha sido desplazado o rotado fuera de un registro o
posición de memoria. Refleja el resultado de una comparación.
El Registro de banderas es el que informa al usuario el estado actual del
microcontrolador.
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 aritmética cambian el estado de las banderas, algunas cuyas instrucciones pueden realizar pruebas para determinar la acción subsecuente. En resumen, los bits de las banderas comunes son :
OF (desbordamiento) es el principal indicador de error producido durante las operaciones con signo. Vale 1 cuando:
• La suma de dos números con igual signo o la resta de dos números con signo opuesto
producen un resultado que no se puede guardar (más de 16 bits).
• El bit más significativo (el signo) del operando ha cambiado durante una operación de desplazamiento aritmético.
• El resultado de una operación de división produce un cociente que no cabe en el registro de resultado.
DF (dirección en operaciones con cadenas) si es 1 el sentido de recorrido de la cadena es de izquierda a derecha, si es 0 irá en sentido contrario.
IF (indicador de interrupción) cuando vale 1 permite al procesador reconocer interrupciones. Si se pone a 0 el procesador ignorará las solicitudes de interrupción.
TF (modo traza) indica al procesador que la ejecución es paso a paso. Se usa en la fase de depuración.
SF (indicador de signo) solo tiene sentido en las operaciones con signo. Vale 1 cuando en una de estas operaciones el signo del resultado es negativo.
ZF (indicador de cero) vale 1 cuando el resultado de una operación es cero.
AF (acarreo auxiliar) vale 1 cuando se produce acarreo o acarreo negativo en el bit 3.
PF (paridad) vale 1 si el resultado de la operación tiene como resultado un número con un número
par de bits a 1. Se usa principalmente en transmisión de datos.
CF (bit de acarreo) vale 1 si se produce acarreo en una operación de suma, o acarreo negativo en
una operación de resta. Contiene el bit que ha sido desplazado o rotado fuera de un registro o
posición de memoria. Refleja el resultado de una comparación.
Suscribirse a:
Entradas (Atom)
Conclusión del equipo #1: Puertos paralelos Un puerto paralelo es una interfaz entre un ordenador y un periférico. El puerto paralelo ...

-
from turtle import * def curvemove(): for i in range ( 200 ): right( 1 ) forward( 1 ) color( 'red' , 'pink...
-
Registro de bandera. El Registro de banderas es el que informa al usuario el estado actual del microcontrolador. De los 16 bits de...
-
Cubo en 3D import pygame from pygame.locals import * from OpenGL.GLU import * from OpenGL.GL import * verticies = ( (1, -1...