Sei sulla pagina 1di 24

Lenguaje Ensamblador

integrantes: Esthela Vianey Vzquez Medina No.30 Yamileth Jannine Virgen osuna No. 33 Bautista Huerta Aldo Emmanuel No.5

Comunidad Chol

Winik

Smbolo

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

Definicin
Hay

nueve indicadores de un bit en este registro de 16 bits. cuatro bits ms significativos estn indefinidos, mientras que hay tres bits con valores determinados: los bits 5 y 3 siempre valen cero y el bit 1 siempre vale uno.

Los

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. embargo, solo se pueden usar instrucciones que no afecten el registro de banderas como consecuencia de su ejecucin.

Sin

BANDERAS

BANDERA DE ACARREO (CF) Carry Flag Bit 0

La bandera de acarreo se pone en estado alto cuando el resultado de una operacin aritmtica genera un acarreo o un prstamo. De lo contrario, la bandera de acarreo se pone en estado bajo.
En las instrucciones de rotacin y desplazamiento, la bandera de acarreo contiene el ultimo valor del bit que sale del registro en el que se hace la operacin. 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 (Comparacin) DAS (Ajuste decimal para la resta) NEG (Negacin) SBB (Resta con acarreo) SUB (Resta)

IMUL (Multiplicacin entera con signo) MUL (Multiplicacin sin signo) CMPS (Comparacin cadenas) SHL (Desplazamiento a la izquierda) SAR (Desplazamiento a la derecha) SHR (Desplazamiento lgico a la derecha) RCL (Rotacin a la izquierda con acarreo) RCR (Rotacin a la derecha con acarreo) ROL (Rotacin a la izquierda) ROR (Rotacin a la derecha)

BANDERAS

BANDERA DE PARIDAD (PF) Parity Flag Bit 2

Si vale uno, el resultado tiene paridad par, es decir, un nmero 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 (Comparacin) DAS (Ajuste decimal para la resta) DEC (Decrementar) NEG (Negacin)

SBB (Resta con acarreo) SUB (Resta) AAM (Ajuste ASCII para la multiplicacin) ADD (Ajuste ASCII para la divisin) OR (O lgico) TEST (Comparacin Lgica) SHL (Desplazamiento aritmtico a la izquierda) SHR (Desplazamiento lgico a la derecha)

BANDERAS

BANDERA AUXILIAR DE ACARRERO (AF) Auxiliary Carry Flag Bit 4

Si vale 1, indica que hubo "arrastre" o "prstamo "del nibble (cuatro bits) menos significativo al nibble ms 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 (Comparacin) DAS (Ajuste decimal para la resta) DEC (Decrementar) NEG (Negacin) SBB (Resta con acarreo) SUB (Resta)

BANDERAS

BANDERA DE CERO (ZF) Zero Flag Bit 6

Para operaciones lgicas y aritmticas, 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 operacin de rotacin 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 (Comparacin) DAS (Ajuste decimal para la resta)

DEC (Decrementar) NEG (Negacin) SBB (Resta con acarreo) SUB (Resta) AAM (Ajuste ASCII para la multiplicacin) AAD (Ajuste ASCII para la divisin) TEST (Comparacin Lgica) XOR (O exclusivo) ZF=0 SHR (Desplazamiento Lgico 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 operacin lgica, aritmtica, de rotacin o de desplazamiento.
Cuando se llevan a cabo operaciones aritmticas con nmeros que tienen signos, la notacin binaria de complemento a dos es utilizada para representar y procesar informacin. Un numero positivo se identifica con un cero en el bit ms significativo, por lo tanto, en este caso la bandera de signo tambin es cero. Un nmero negativo es identificado con un 1 en el bit mas significativo, por lo tanto la bandera de signo tambin 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 (Comparacin) DAS (Ajuste decimal para la resta) DEC (Decrementar) NEG (Negacin) SBB (Resta con

acarreo) SUB (Resta) AAM (Ajuste ASCII para la multiplicacin) AAD (Ajuste ASCII para la divisin) AND (Y lgico) OR (O lgico) TEST (Comparacin Lgica) SHL (Desplazamiento aritmtico a la izquierda) SAR (Desplazamiento aritmtico a la derecha)

BANDERAS

BANDERA DE TRAMPA (TF) Trap Flag Bit 8


Si

vale 1, el procesador est en modo paso a paso.


este modo, la CPU automticamente genera una interrupcin interna despus de cada instruccin, permitiendo inspeccionar los resultados del programa a medida que se ejecuta instruccin por instruccin

En

Esta

bandera se ve modificada por el uso de las siguientes operaciones: POPF (Extrae los indicadores de la pila) XOR (O exclusiva) INT (Interrupcin) TF=0 INTO (Interrupcin por desbordamiento) TF=0 IRET (Retorno de interrupcin)

BANDERAS

BANDERA DE INTERRUPCION (IF) Interrupt Flag Bit 9


Si

vale 1, la CPU reconoce pedidos de interrupcin 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 interrupcin) IF=0 STI (Pone a no el indicador de interrupcin) IF=1 INT (Interrupcin) IF=0 IRET (Retorno de interrupcin)

BANDERAS

BANDERA DE DIRECCION (DF) Direction Flag Bit 10


Si

vale 1, las instrucciones con cadenas sufrirn "auto-decremento", esto es, se procesarn las cadenas desde las direcciones ms altas de memoria hacia las ms bajas. Si vale 0, habr "auto-incremento", lo que quiere decir que las cadenas se procesarn 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 direccin) DF=1 IRET (Retorno de interrupcin)

BANDERAS

BANDERA DE SOBREFLUJO (OF) Overflow Flag Bit 11

Para operaciones aritmticas de rotacin o de desplazamiento, la bandera de sobreflujo se pone en estado alto cuando el resultado es ms grande que el mximo nmero posible (mayor de 127) o menor que el numero mnimo 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 (Comparacin) DEC (Decrementar) NEG (Negacin) SBB (Resta con acarreo)

SUB (Resta) IMUL (Multiplicacin entera con signo) MUL (Multiplicacin sin signo) SAR (Desplazamiento aritmtico a la derecha) SHR (Desplazamiento lgico a la derecha)