Las banderas son aquellas que registran el estado del procesador, normalmente asociado a una comparación o a una instrucción aritmética. Las banderas del procesador 8086 son:
CF: Bandera de acareo.
OF: Bandera de desbordamiento (aritmético).
ZF: Bandera de resultado 0 o comparación igual.
SF: Bandera de resultado o comparación negativa.
PF: Bandera de paridad (número par de bits).
AF: Bandera auxiliar. Indica si hay necesidad de ajuste en las operaciones aritméticas con números
BCD.
Banderas de control:
DF: Bandera de dirección. Controla la dirección de las operaciones con cadenas de caracteres
incrementando o decrementando automáticamente los registros índices (SI y DI)
IF: Bandera de interrupciones. Indica si están permitidas o no las interrupciones de los dispositivos
externos.
TF: Bandera de atrape. Controla la operación de modo paso a paso (usada por el programa DEBUG).
Veamos algunos ejemplos:
Para activar la bandera CF haremos una suma, una suma entre 2 numeros, en este caso 255 + 1, de manera que supere el limite del registro inferior.
La bandera ZF sirve para indicar que el valor del resultado es cero:
En el caso de SF esta se encedera al obtener un resultado negativo en los registros:
CF: Bandera de acareo.
OF: Bandera de desbordamiento (aritmético).
ZF: Bandera de resultado 0 o comparación igual.
SF: Bandera de resultado o comparación negativa.
PF: Bandera de paridad (número par de bits).
AF: Bandera auxiliar. Indica si hay necesidad de ajuste en las operaciones aritméticas con números
BCD.
Banderas de control:
DF: Bandera de dirección. Controla la dirección de las operaciones con cadenas de caracteres
incrementando o decrementando automáticamente los registros índices (SI y DI)
IF: Bandera de interrupciones. Indica si están permitidas o no las interrupciones de los dispositivos
externos.
TF: Bandera de atrape. Controla la operación de modo paso a paso (usada por el programa DEBUG).
Veamos algunos ejemplos:
Para activar la bandera CF haremos una suma, una suma entre 2 numeros, en este caso 255 + 1, de manera que supere el limite del registro inferior.
.model small .stack .data .code mov al,255 mov bl,1 add al,bl .exit end
La bandera ZF sirve para indicar que el valor del resultado es cero:
.model small .stack .data .code mov al,2 mov bl,2 sub al,bl .exit end
En el caso de SF esta se encedera al obtener un resultado negativo en los registros:
.model small .stack .data .code mov al,1 mov bl,2 sub al,bl .exit end
La bandera OF se llevara a cabo cada vez que se lleve a cabo un acarreo de unidad aritmetico, ejemplo, si sumamos 100 + 50, tendremos un acarreo de 5 decenas en la parte de la suma para generar el numero 150.
.model small .stack .data .code mov al,100 mov bl,50 add al,bl .exit end
Comentarios
Publicar un comentario