Registro de bandera en microprocesador 8085

Requisito previo: registros del microprocesador 8085 El registro Flag es un registro de propósito especial. Según el valor del resultado después de cualquier operación aritmética y lógica, los bits de bandera se establecen (1) o se restablecen (0). En el microprocesador 8085, el registro de bandera consta de 8 bits y solo 5 de ellos son útiles. Las 5 banderas son: 

  1. Indicador de signo (S): después de cualquier operación, si el MSB (B (7)) del resultado es 1, indica que el número es negativo y el indicador de signo se establece, es decir, 1. Si el MSB es 0, indica el número es positivo y el indicador de signo se restablece, es decir, 0. de 00H a 7F, el indicador de signo es 0 de 80H a FF, el indicador de signo es 1 1- MSB es 1 (negativo) 0- MSB es 0 (positivo) Ejemplo: MVI A 30 (cargar 30H en el registro A) MVI B 40 (cargar 40H en el registro B) SUB B (A = A – B) Este conjunto de instrucciones establecerá la bandera de signo en 1 ya que 30 – 40 es un número negativo. MVI A 40 (cargar 40H en el registro A) MVI B 30 (cargar 30H en el registro B) SUB B (A = A – B) Este conjunto de instrucciones restablecerá la bandera de signo a 0 ya que 40 – 30 es un número positivo.
  2. Indicador cero (Z): después de cualquier operación aritmética o lógica, si el resultado es 0 (00)H, el indicador cero se establece, es decir, 1; de lo contrario, se restablece, es decir, 0. 00H El indicador cero es 1. De 01H a FFH El indicador cero es 0 1- resultado cero 0- resultado distinto de cero Ejemplo: MVI A 10 (cargar 10H en el registro A) SUB A (A = A – A) Este conjunto de instrucciones establecerá el indicador cero en 1 como 10H – 10H es 00H
  3. Bandera de acarreo auxiliar (AC): esta bandera se utiliza en el sistema numérico BCD (0-9). Si después de cualquier operación aritmética o lógica, D(3) genera un acarreo y lo pasa a D(4), esta bandera se establece, es decir, 1; de lo contrario, se restablece, es decir, 0. Este es el único registro de bandera al que no puede acceder el programador 1-realiza desde el bit 3 en la suma o toma prestado en el bit 3 en la resta 0-de lo contrario Ejemplo: MVI A 2BH (carga 2BH en el registro A) MVI 39H (carga 39H en el registro B) ADD B (A = A + B) Este conjunto de instrucciones establecerá la bandera de acarreo auxiliar en 1, ya que al sumar 2B y 39, la suma de los nibbles de orden inferior B y 9 generará un acarreo.
  4. Bandera de paridad (P): si después de cualquier operación aritmética o lógica el resultado tiene paridad par, un número par de 1 bit, el registro de paridad se establece, es decir, 1; de lo contrario, se reinicia, es decir, 0. El acumulador 1 tiene un número par de 1 el acumulador de bits 0 tiene paridad impar Ejemplo: MVI A 05 (cargar 05H en el registro A) Esta instrucción establecerá el indicador de paridad en 1 ya que el código BCD de 05H es 00000101, que contiene un número par de unos, es decir, 2.
  5. Indicador de acarreo (CY): el acarreo se genera cuando se realizan operaciones de n bits y el resultado es más de n bits, entonces este indicador se establece, es decir, 1; de lo contrario, se restablece, es decir, 0. Durante la resta (AB), si A>B se reinicia, y si (A<B) se establece. La bandera de acarreo también se llama bandera de préstamo. 1-realizar desde el bit MSB en la suma o tomar prestado en el bit MSB en la resta 0-no realizar ni tomar prestado en el bit MSB. Ejemplo: MVI A 30 (cargar 30H en el registro A) MVI B 40 (cargar 40H en el registro B) SUB B (A = A – B) Este conjunto de instrucciones establecerá la bandera de acarreo en 1 cuando 30 – 40 genera un acarreo/ tomar prestado. MVI A 40 (cargar 40H en el registro A) MVI B 30 (cargar 30H en el registro B) SUB B (A = A – B) Este conjunto de instrucciones restablecerá la bandera de signo a 0 ya que 40 – 30 no genera ningún acarreo/ tomar prestado.

Publicación traducida automáticamente

Artículo escrito por Yash_R y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *