¿Qué significan los símbolos de fórmula de bandera en las documentaciones del ensamblador AVR?

2

Estaba leyendo sobre algo en las documentaciones del ensamblador del microcontrolador AVR y generalmente me encuentro con una línea que se utiliza para describir cómo afectaría una instrucción a un indicador específico en el registro de estado.

Tomemos un ejemplo de AGREGAR página de instrucciones

  

H:
Rd3 • Rr3 + Rr3 • R3 ¯ + R3 ¯ • Rd3
  establecer si había un carry   desde el bit 3; borrado de lo contrario

En esta línea
Rd3 • Rr3 + Rr3 • R3 ¯ + R3 ¯ • Rd3
¿Cómo puedo leer esta línea, qué significan esos símbolos?

    
pregunta Muhammad Nour

1 respuesta

3

Para comenzar, las fórmulas sufren un error tipográfico en la versión HTML de los documentos ( pdf no lo hace). La fórmula que usted cita debe leer:

$$ \ mathrm {Rd3} \ cdot \ mathrm {Rr3} + \ mathrm {Rr3} \ cdot \ overline {\ mathrm {R3}} + \ overline {\ mathrm {R3}} \ cdot \ mathrm {Rd3 } $$

En esa fórmula hay tres valores. \ $ \ mathrm {Rd} \ $ es el valor actual del registro de destino, \ $ \ mathrm {Rr} \ $ es el valor actual del registro de origen, y \ $ \ mathrm {R} \ $ es el resultado de la instrucción (por ejemplo, para ADD sería \ $ \ mathrm {R} = \ mathrm {Rd} + \ mathrm {Rr} \ $).

El número al lado del valor representa qué bit del valor que se usa en el cálculo. En este caso, sería bit \ $ 3 \ $ para cada uno de los registros.

Los operadores son los operadores booleanos estándar para AND (\ $ \ cdot \ $) y OR (\ $ + \ $).

Si agrega los corchetes inferidos (AND tiene prioridad sobre OR en las ecuaciones booleanas), obtendrá:

$$ (\ mathrm {Rd3} \ cdot \ mathrm {Rr3}) + (\ mathrm {Rr3} \ cdot \ overline {\ mathrm {R3}}) + (\ overline {\ mathrm {R3}} \ cdot \ mathrm {Rd3}) $$

Esperemos que en esa forma sea muy fácil de seguir.

    
respondido por el Tom Carpenter

Lea otras preguntas en las etiquetas