Las instrucciones de bifurcación condicional son el conjunto de instrucciones que se utilizan para salir de un bucle. Discutiremos estas instrucciones para el microcontrolador AVR.
Para entender estas instrucciones, primero, necesitamos conocer los registros en el microcontrolador AVR.
- Registro de estado (SReg):
- Es el registro de bandera en el microcontrolador AVR.
- Es un registro de 8 bits. Solo 6 de estos 8 bits se denominan banderas condicionales. Son C, Z, N, V, S, H.
- El valor de estos bits indica algunas condiciones que resultan después de la ejecución de una instrucción.
- C – Llevar bandera:
- Esta bandera se establece cada vez que hay un acarreo del bit D7.
- Este bit indicador se ve afectado después de una suma o resta de 8 bits.
- Z – Bandera cero:
- La bandera cero refleja el resultado de una operación aritmética o lógica.
- Si el resultado es cero, entonces Z = 1. Por lo tanto, Z = 0 si el resultado no es cero.
- N – Bandera negativa:
- La representación binaria de números con signo utiliza D7 como bit de signo.
- La bandera negativa refleja el resultado de una operación aritmética. Si el bit D7 del resultado es cero.
- Entonces N = 0 y el resultado es positivo. Si el bit D7 es uno, entonces N = 1 y el resultado es negativo.
- V – Indicador de desbordamiento:
- Esta bandera se establece siempre que el resultado de una operación de número con signo es demasiado grande.
- Haciendo que el bit de orden superior se desborde en el bit de signo.
- S – Bandera de signo:
- Esta bandera es el resultado del OR exclusivo de las banderas N y V.
- H – Bandera de medio acarreo:
- Si hay un acarreo de D3 a D4 durante una operación ADD o SUB, este bit se establece; de lo contrario, se borra.
- Este bit indicador lo utilizan las instrucciones que realizan aritmética BCD (decimal codificado en binario).
La siguiente tabla muestra algunas instrucciones de bucle de bifurcación:
Instrucción | Explicación | Estado de la bandera |
---|---|---|
BREQ | Rama si es igual | Rama si Z = 1 |
BRNE | Rama si no es igual | Rama si Z = 0 |
BRSH | Sucursal si es igual o superior | Rama si C = 0 |
BRLO | Rama si es más baja | Rama si C = 1 |
BRLT | Sucursal si es menor que (firmado) | Rama si S = 1 |
BRGE | Rama si es mayor o igual (con signo) | Rama si S = 0 |
BRVS | Rama si se establece el indicador de desbordamiento | Rama si V = 1 |
BRVC | Rama si el indicador de desbordamiento está claro | Rama si V = 0 |
Publicación traducida automáticamente
Artículo escrito por kunalsg18elec y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA