Lenguaje
Ensamblador
integrantes:
Esthela Vianey Vázquez Medina
No.30
Yamileth Jannine Virgen osuna
No. 33
Bautista Huerta Aldo Emmanuel
No.5
Comunidad
Chol
Winik
Símbolo
Registros
Bandera
El
Registro
de
banderas es el que
informa al usuario el
estado actual del
micro controlador y
son manipuladas por
las operaciones del
CPU.
BANDERAS
Definición
 Hay
nueve indicadores de un bit en este
registro de 16 bits.
 Los
cuatro bits más significativos están
indefinidos, mientras que hay tres bits con
valores determinados: los bits 5 y 3
siempre valen cero y el bit 1 siempre vale
uno.
BANDERAS
 Como
en cualquier otro registro de
instrucciones, los bits de este registro se
pueden poner en estado alto o bajo por
medio de instrucciones.
 Sin
embargo, solo se pueden usar
instrucciones que no afecten el registro
de banderas como consecuencia de su
ejecución.
BANDERAS
BANDERA DE ACARREO (CF)
Carry Flag
Bit 0

La bandera de acarreo se pone en estado alto
cuando el resultado de una operación aritmética
genera un acarreo o un préstamo. De lo contrario,
la bandera de acarreo se pone en estado bajo.

En las instrucciones de rotación y desplazamiento, la
bandera de acarreo contiene el ultimo valor del bit
que sale del registro en el que se hace la operación.

La bandera de acarreo no se ve afectada por el
RESET.
Esta bandera se ve
modificada por el uso
de
las
siguientes
operaciones:











POPF
(Extrae
los
indicadores de la pila)
AAA (Ajuste ASCII para
la suma)
ADC
(Suma
con
acarreo)
ADD (Suma)
DAA (Ajuste decimal
para la suma)
AAS (Ajuste ASCII para la
resta)
CMP (Comparación)
DAS
(Ajuste
decimal
para la resta)
NEG (Negación)
SBB (Resta con acarreo)
SUB (Resta)










IMUL
(Multiplicación
entera con signo)
MUL (Multiplicación sin
signo)
CMPS
(Comparación
cadenas)
SHL (Desplazamiento a la
izquierda)
SAR (Desplazamiento a
la derecha)
SHR
(Desplazamiento
lógico a la derecha)
RCL (Rotación a la
izquierda con acarreo)
RCR (Rotación a la
derecha con acarreo)
ROL (Rotación a la
izquierda)
ROR (Rotación a la
derecha)
BANDERAS
BANDERA DE PARIDAD (PF)
Parity Flag
Bit 2

Si vale uno, el resultado tiene paridad par, es decir,
un número par de bits a 1. Este indicador se puede
utilizar para detectar errores en transmisiones.









Esta bandera se ve
modificada por el uso
de las siguientes
operaciones:
POPF (Extrae los
indicadores de la pila)
ADC (Suma con
acarreo)
ADD (Suma)
DAA (Ajuste decimal
para la suma)
INC (Incrementar)
CMP (Comparación)
DAS (Ajuste decimal
para la resta)
DEC (Decrementar)
NEG (Negación)








SBB (Resta con
acarreo)
SUB (Resta)
AAM (Ajuste ASCII para
la multiplicación)
ADD (Ajuste ASCII para
la división)
OR (O lógico)
TEST (Comparación
Lógica)
SHL (Desplazamiento
aritmético a la
izquierda)
SHR (Desplazamiento
lógico a la derecha)
BANDERAS
BANDERA AUXILIAR DE ACARRERO
(AF) Auxiliary Carry Flag Bit 4


Si vale 1, indica que hubo "arrastre" o "préstamo "del
nibble (cuatro bits) menos significativo al nibble más
significativo.
Este indicador se usa con las instrucciones de ajuste
decimal.













Esta bandera se ve modificada por el uso de
las siguientes operaciones:
POPF (Extrae los indicadores de la pila)
AAA (Ajuste ASCII para la suma)
ADC (Suma con acarreo)
ADD (Suma)
DAA (Ajuste decimal para la suma)
INC (Incrementar)
AAS (Ajuste ASCII para la resta)
CMP (Comparación)
DAS (Ajuste decimal para la resta)
DEC (Decrementar)
NEG (Negación)
SBB (Resta con acarreo)
SUB (Resta)
BANDERAS
BANDERA DE CERO (ZF)
Zero Flag Bit 6

Para operaciones lógicas y aritméticas, la
bandera de cero se pone en estado alto si el
resultado es cero. En caso contrario la
bandera se mantiene en estado bajo.

Si el resultado de examinar un bit de un
registro o de la operación de rotación o
desplazamiento es cero entonces la bandera
de cero se pone en estado alto. En caso
contrario la bandera se mantiene en estado
bajo.
La bandera de cero no se ve afectada por el
comando de RESET.








Esta bandera se ve
modificada por el uso
de las siguientes
operaciones:
POPF (Extrae los
indicadores de la pila)
ADC (Suma con
acarreo)
ADD (Suma)
DAA (Ajuste decimal
para la suma)
INC (Incrementar)
CMP (Comparación)
DAS (Ajuste decimal
para la resta)









DEC (Decrementar)
NEG (Negación)
SBB (Resta con
acarreo)
SUB (Resta)
AAM (Ajuste ASCII para
la multiplicación)
AAD (Ajuste ASCII para
la división)
TEST (Comparación
Lógica)
XOR (O exclusivo) ZF=0
SHR (Desplazamiento
Lógico a la derecha)
BANDERAS
BANDERA DE SIGNO (SF)
Sign Flag Bit 7

La bandera de signo guarda el bit mas significativo del
resultado de una operación lógica, aritmética, de
rotación o de desplazamiento.

Cuando se llevan a cabo operaciones aritméticas con
números que tienen signos, la notación binaria de
complemento a dos es utilizada para representar y
procesar información.

Un numero positivo se identifica con un cero en el bit más
significativo, por lo tanto, en este caso la bandera de
signo también es cero. Un número negativo es
identificado con un 1 en el bit mas significativo, por lo
tanto la bandera de signo también es 1.
La bandera de cero no se ve afectada por el RESET.











Esta bandera se ve
modificada por el uso
de las siguientes
operaciones:
POPF (Extrae los
indicadores de la pila)
ADC (Suma con
acarreo)
ADD (Suma)
DAA (Ajuste decimal
para la suma)
INC (Incrementar)
CMP (Comparación)
DAS (Ajuste decimal
para la resta)
DEC (Decrementar)
NEG (Negación)
SBB (Resta con








acarreo)
SUB (Resta)
AAM (Ajuste ASCII para
la multiplicación)
AAD (Ajuste ASCII para
la división)
AND (Y lógico)
OR (O lógico)
TEST (Comparación
Lógica)
SHL (Desplazamiento
aritmético a la
izquierda)
SAR (Desplazamiento
aritmético a la
derecha)
BANDERAS
BANDERA DE TRAMPA (TF)
Trap Flag Bit 8
 Si
vale 1, el procesador está en modo paso a
paso.
 En
este modo, la CPU automáticamente genera
una interrupción interna después de cada
instrucción,
permitiendo
inspeccionar
los
resultados del programa a medida que se
ejecuta instrucción por instrucción
 Esta
bandera se ve modificada por el uso
de las siguientes operaciones:
 POPF (Extrae los indicadores de la pila)
 XOR (O exclusiva)
 INT (Interrupción) TF=0
 INTO (Interrupción por desbordamiento)
TF=0
 IRET (Retorno de interrupción)
BANDERAS
BANDERA DE INTERRUPCION (IF)
Interrupt Flag Bit 9
 Si
vale 1, la CPU reconoce pedidos de
interrupción externas enmascarables (por el pin
INTR). Si vale 0, no se reconocen tales
interrupciones.
 Las interrupciones no enmascarables y las
internas
siempre
se
reconocen
independientemente del valor de IF.
 Esta
bandera se ve modificada por el uso
de las siguientes operaciones:
 POPF
(Extrae los indicadores de la pila)
 XOR (O exclusivo)
 CLI (Baja indicador de interrupción) IF=0
 STI (Pone a no el indicador de
interrupción) IF=1
 INT (Interrupción) IF=0
 IRET (Retorno de interrupción)
BANDERAS
BANDERA DE DIRECCION (DF)
Direction Flag Bit 10
 Si
vale 1, las instrucciones con cadenas sufrirán
"auto-decremento", esto es, se procesarán las
cadenas desde las direcciones más altas de
memoria hacia las más bajas.
 Si vale 0, habrá "auto-incremento", lo que quiere
decir que las cadenas se procesarán de
"izquierda a derecha"
Esta bandera se ve modificada por el uso
de las siguientes operaciones:
 POPF
(Extrae los indicadores de la pila)
 STD (Pone a uno el indicador de
dirección) DF=1
 IRET (Retorno de interrupción)
BANDERAS
BANDERA DE SOBREFLUJO (OF)
Overflow Flag Bit 11



Para operaciones aritméticas de rotación o de
desplazamiento, la bandera de sobreflujo se pone
en estado alto cuando el resultado es más grande
que el máximo número posible (mayor de 127) o
menor que el numero mínimo posible (menor que
–128) que puede ser representado en la forma de
complemento a dos.
La bandera de sobreflujo se mantiene en estado
bajo si no ocurren sobreflujos.
La bandera de sobreflujo no se ve afectada por el
RESET.








Esta bandera se ve
modificada por el
uso de las siguientes
operaciones:
POPF (Extrae los
indicadores de la
pila)
ADC (Suma con
acarreo)
ADD (Suma)
INC (Incrementar)
CMP (Comparación)
DEC (Decrementar)
NEG (Negación)
SBB (Resta con
acarreo)





SUB (Resta)
IMUL (Multiplicación
entera con signo)
MUL (Multiplicación
sin signo)
SAR (Desplazamiento
aritmético a la
derecha)
SHR (Desplazamiento
lógico a la derecha)
Descargar

diapositivas registros bandera - wiki