Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porRégulo Castelo Modificado hace 10 años
1
Comunidad quetzalcoatl INTEGRANTES: JhONATHAN(Itzmin) HIRAM(EHECATL) RUBEN(tepiltzín)
2
2.2 Registro de Banderas Conjunto de bits que nos dan información sobre el estado del procesador y sobre el resultado de la última operación efectuada. Es el único registro accesible a nivel de bits. Algunos de estos bits son: CF: Carry flag - ZF: Zero flag SF: Sign flag - OF: Overflow flag IF: Interrupt flag - DF: Direction flag OF DF IF SF ZF CF
3
Bandera de Acarreo. CF (Carry Flag, bit 0): Si vale 1, indica que hubo "arrastre" (en caso de suma) o "préstamo" (en caso de resta). Este indicador es usado por instrucciones que suman o restan números que ocupan varios bytes. Las instrucciones de rotación pueden aislar un bit de la memoria o de un registro poniéndolo en el CF.
4
Ejemplo Acarreo MOV AL,FF H MOV BL,55 H ADD AL,BL CF=1
5
Ejemplo Acarreo MOV CL,99 H MOV AH,AC H ADD CL,AH CF=1
6
Ejemplo Acarreo MOV BH,011 H MOV BL,42 H ADD BH,BL CF=0
7
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.
8
Ejemplo Paridad Mov Ax, FFFFh Mov Bx, 1h ADD Ax,Bx PF=1
9
Ejemplo Paridad Mov AL, 4Fh Mov BL, 40h ADD AL,BL PF=0
10
Ejemplo Paridad Mov Ax, 1 Mov Bx, 0 ADD Ax,Bx PF=1
11
Bandera de Acarreo Auxiliar.
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.
12
Ejemplo acarreo auxiliar
Mov Al, 37H Mov Bl, 2H Div Al, Bl AF=1
13
Ejemplo acarreo auxiliar
Mov Al, 45H Mov Bl, 2H Div Al, Bl AF=1
14
Ejemplo acarreo auxiliar
Mov Al, 70H Mov Bl, 2H Div Al, Bl AF=0
15
Bandera de Zero. ZF (Zero Flag, bit 6): Si este indicador vale 1, el resultado de la operación es cero.
16
Zero Flag Ejemplo: un caso es cuando restamos dos números iguales, adjunto un ejemplo: EAX = 100 ECX = 200 SUB EAX,EAX ; Resultado = 0 ZF = 1 ADD EAX,ECX ; Resultado = 200 ZF = 0 Cambiar la bandera Z es distinto a invertir el salto, ya que la modificación de la bandera generará un cambio del comportamiento del ejecutable sólo en tiempo de ejecución, a diferencia de invertir un salto como por ejemplo: JE por JNE JB por JA etc al ser guardados los cambios del ejecutable generaremos un cambio permanente
17
Ejemplo bandera zero Mov AH, FF H Mov CL, FF H SUB AH, CL ZF=1
18
Ejemplo bandera zero Mov BH, 01 H DEC BH ZF=0
19
Ejemplo bandera zero Mov BL, 55 H Mov AL, 55 H SUB AL, BL ZF=1
20
Bandero de Asigno. SF (Sign Flag, bit 7): Refleja el bit más significativo del resultado. Como los números negativos se representan en la notación de complemento a dos, este bit representa el signo: 0 si es positivo, 1 si es negativo.
21
Ejemplo Sign Flag Mov Ax, 1H Mov Bx, 2H Sub Ax, Bx -1 SF=0
22
Ejemplo Sign Flag Mov Ax, 2H Mov Bx, 4H Sub Ax, Bx -2 SF=0
23
Ejemplo Sign Flag Mov Ax, 2H Mov Bx, 2H ADD Ax, Bx 4 SF=1
24
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.
25
Bandera de Interrupcion.
IF (Interrupt Flag, bit 9): Si vale 1, la CPU reconoce pedidos de interrupción externas. Si vale 0, no se reconocen tales interrupciones
26
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".
27
Bandera de Desbordamiento.
OF (Overflow flag, bit 11): Si vale 1, hubo un desborde en una operación aritmética con signo, esto es, un dígito significativo se perdió debido a que tamaño del resultado es mayor que el tamaño del destino.
28
Ejemplo Overflow mov al, 255/2 add al, 1 ;hay overflow, al= 128
29
Ejemplo Overflow mov al, 140/2 add al, 1 ;hay overflow, al= 71
30
Ejemplo Overflow mov al, 25/2 add al, 1 ;No hay overflow, al= 13
31
GRACIAS
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.