1 / 31

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

Comunidad quetzalcoatl INTEGRANTES: JhONATHAN ( Itzmin ) HIRAM(EHECATL) RUBEN(t epiltzín ). . . . . . . . . OF DF IF SF ZF CF. 2.2 Registro de Banderas.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Comunidad quetzalcoatlINTEGRANTES:JhONATHAN(Itzmin)HIRAM(EHECATL)RUBEN(tepiltzín)

  2. . . . . . . . . OF DF IF SF ZF CF 2.2 Registro de Banderas • Conjunto de bits que nos daninformaciónsobre el estado del procesador y sobre el resultado de la últimaoperaciónefectuada. • Es el únicoregistroaccesible 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

  3. Bandera de Acarreo. • CF (CarryFlag, 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 (ParityFlag, 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 • MovAx, FFFFh • MovBx, 1h • ADD Ax,Bx • PF=1

  9. Ejemplo Paridad • MovAL, 4Fh • MovBL, 40h • ADD AL,BL • PF=0

  10. Ejemplo Paridad • MovAx, 1 • MovBx, 0 • ADD Ax,Bx • PF=1

  11. Bandera de Acarreo Auxiliar. • AF (AuxiliarycarryFlag, 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 • MovBl, 2H • Div Al, Bl • AF=1

  13. Ejemplo acarreo auxiliar • Mov Al, 45H • MovBl, 2H • Div Al, Bl • AF=1

  14. Ejemplo acarreo auxiliar • Mov Al, 70H • MovBl, 2H • Div Al, Bl • AF=0

  15. Bandera de Zero. • ZF (ZeroFlag, 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 = 100ECX = 200SUB EAX,EAX  ; Resultado = 0 ZF = 1ADD EAX,ECX ; Resultado = 200 ZF = 0Cambiar 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 JAetcal 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 (SignFlag, 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 SignFlag • MovAx, 1H • MovBx, 2H • Sub Ax, Bx • -1 • SF=0

  22. Ejemplo SignFlag • MovAx, 2H • MovBx, 4H • Sub Ax, Bx • -2 • SF=0

  23. Ejemplo SignFlag • MovAx, 2H • MovBx, 2H • ADD Ax, Bx • 4 • SF=1

  24. Bandera de Trampa. • TF (TrapFlag, 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 (InterruptFlag, 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 (DirectionFlag, 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 (Overflowflag, 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/2add al, 1;hay overflow, al= 128

  29. Ejemplo Overflow • mov al, 140/2add al, 1;hay overflow, al= 71

  30. Ejemplo Overflow • mov al, 25/2add al, 1;No hay overflow, al= 13

  31. GRACIAS

More Related