+ All Categories
Home > Documents > Comunidad quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Comunidad quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Date post: 01-Jan-2016
Category:
Upload: melvin-lester
View: 34 times
Download: 0 times
Share this document with a friend
Description:
Comunidad quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín ). . . . . . . . . OF DF IF SF ZF CF. 2.2 Registro de Banderas. - PowerPoint PPT Presentation
Popular Tags:
31
COMUNIDAD QUETZALCOATL INTEGRANTES: JHONATHAN(ITZMIN) HIRAM(EHECATL) RUBEN(TEPILTZÍN)
Transcript
Page 1: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

COMUNIDAD QUETZALCOATLINTEGRANTES:JHONATHAN(ITZMIN)HIRAM(EHECATL)RUBEN(TEPILTZÍN)

Page 2: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

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

Page 3: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

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.

Page 4: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo Acarreo

MOV AL,FF H MOV BL,55 H ADD AL,BL

CF=1

Page 5: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo Acarreo

MOV CL,99 H MOV AH,AC H ADD CL,AH

CF=1

Page 6: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo Acarreo

MOV BH,011 H MOV BL,42 H ADD BH,BL

CF=0

Page 7: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

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.

Page 8: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo Paridad

Mov Ax, FFFFh Mov Bx, 1h ADD Ax,Bx PF=1

Page 9: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo Paridad

Mov AL, 4Fh Mov BL, 40h ADD AL,BL PF=0

Page 10: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo Paridad

Mov Ax, 1 Mov Bx, 0 ADD Ax,Bx PF=1

Page 11: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

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.

Page 12: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo acarreo auxiliar

Mov Al, 37H Mov Bl, 2H Div Al, Bl

AF=1

Page 13: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo acarreo auxiliar

Mov Al, 45H Mov Bl, 2H Div Al, Bl

AF=1

Page 14: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo acarreo auxiliar

Mov Al, 70H Mov Bl, 2H Div Al, Bl

AF=0

Page 15: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Bandera de Zero.

ZF (Zero Flag, bit 6): Si este indicador vale 1, el resultado de la operación es cero.

Page 16: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Zero Flag Ejemplo: un caso es cuando restamos dos números iguales, adjunto un ejemplo:

EAX = 100ECX = 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 JNEJB por JAetc

al ser guardados los cambios del ejecutable generaremos un cambio permanente

Page 17: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo bandera zero

Mov AH, FF H Mov CL, FF H SUB AH, CL

ZF=1

Page 18: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo bandera zero

Mov BH, 01 H DEC BH

ZF=0

Page 19: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo bandera zero

Mov BL, 55 H Mov AL, 55 H SUB AL, BL

ZF=1

Page 20: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

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.

Page 21: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo Sign Flag

Mov Ax, 1H Mov Bx, 2H Sub Ax, Bx -1 SF=0

Page 22: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo Sign Flag

Mov Ax, 2H Mov Bx, 4H Sub Ax, Bx -2 SF=0

Page 23: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo Sign Flag

Mov Ax, 2H Mov Bx, 2H ADD Ax, Bx 4 SF=1

Page 24: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

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.

Page 25: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

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

Page 26: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzí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".

Page 27: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

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.

Page 28: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo Overflow

mov al, 255/2add al, 1;hay overflow, al= 128

Page 29: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo Overflow

mov al, 140/2add al, 1;hay overflow, al= 71

Page 30: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

Ejemplo Overflow

mov al, 25/2add al, 1;No hay overflow, al= 13

Page 31: Comunidad  quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín )

GRACIAS


Recommended