Date post: | 22-Jan-2016 |
Category: |
Documents |
Upload: | ruben-sedano |
View: | 216 times |
Download: | 0 times |
Lenguaje Ensamblador
integrantes:Esthela Vianey Vázquez Medina No.30Yamileth Jannine Virgen osuna No. 33Bautista Huerta Aldo EmmanuelNo.5
Comunidad Chol
Winik
Símbolo
Registros
BanderaEl Registro de banderas es el que informa al usuario el estado actual delmicro controlador y son manipuladas por las operaciones del CPU.
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.
BANDERAS
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)
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.
BANDERAS
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)
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.
BANDERAS
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)
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.
BANDERAS
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)
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.
BANDERAS
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)
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
BANDERAS
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)
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.
BANDERAS
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)
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"
BANDERAS
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)
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.
BANDERAS
BANDERA DE SOBREFLUJO (OF)Overflow Flag Bit 11
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)