1 / 24

Lenguaje Ensamblador

Lenguaje Ensamblador. integrantes: Esthela Vianey Vázquez Medina No.30 Yamileth Jannine Virgen osuna No. 33 Bautista Huerta Aldo Emmanuel No.5. Comunidad Chol. Winik. Símbolo. Registros Bandera. El Registro de banderas es el que informa al usuario el estado actual del

tamera
Télécharger la présentation

Lenguaje Ensamblador

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. Lenguaje Ensamblador integrantes: Esthela Vianey Vázquez Medina No.30 Yamileth Jannine Virgen osuna No. 33 Bautista Huerta Aldo Emmanuel No.5

  2. Comunidad Chol Winik

  3. Símbolo

  4. 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.

  5. BANDERAS 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.

  6. 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.

  7. 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.

  8. 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)

  9. BANDERAS 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.

  10. 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)

  11. BANDERAS 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.

  12. 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)

  13. BANDERAS 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.

  14. 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)

  15. BANDERAS 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.

  16. 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)

  17. BANDERAS 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

  18. 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)

  19. BANDERAS 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.

  20. 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)

  21. BANDERAS 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"

  22. 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)

  23. BANDERAS BANDERA DE SOBREFLUJO (OF)Overflow Flag Bit 11 • 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.

  24. 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)

More Related