Skip to main content

¿Qué es un registro de estado?

El registro de estado, también conocido como registro de bandera, palabra de estado del programa y registro de código de condición, se define como un conjunto de bits de bandera dentro de un procesador. Un registro es un circuito procesador y es muy parecido a una ubicación de memoria, lo que significa que los datos podrían escribirse y leerse. A diferencia de una ubicación de memoria, el registro de estado a menudo no tiene una dirección porque el microprocesador la usa internamente. En una unidad central de procesamiento (CPU) de 8 bits, se puede establecer un bit de registro de estado, igual al número 1, o borrar , igual al número 0, mediante una variedad de resultados de operación del procesador. El procesador a veces establece o borra los bits, pero otras veces, una instrucción de programa particular establece o borra los bits.

Los bits de registro de estado también se denominan banderas o bits de bandera, y el programador los utiliza para ciertos fines de programación. Cada bandera en un registro de estado tiene un propósito único. El indicador de acarreo se establece si una operación anterior hizo que el séptimo bit - o indicador negativo - se desbordara, o hiciera que el indicador de transporte se desbordara. Se establece durante los cambios de lógica, comparación y aritmética. El indicador de cero se establece si el resultado de la operación más reciente fue 0.

Un indicador llamado "deshabilitar interrupción" funciona permitiendo o deshabilitando la operación de interrupciones, que son instrucciones que detienen temporalmente ciertas operaciones para que se puedan realizar otras operaciones. Cuando se establece este indicador en particular, no se permite que funcionen las interrupciones, pero cuando está claro, se permiten las interrupciones. Otra bandera llamada bandera decimal permite al procesador seguir un modo binario más avanzado para realizar ecuaciones aritméticas impecables. Cuando se establece la bandera, utiliza este modo binario avanzado. Otro bit de registro es el bit de interrupción, que se establece cuando se ejecuta el comando Force Interrupt (BRK).

Se establece un indicador de desbordamiento durante las operaciones de aritmética si una operación produce un resultado no válido. El indicador negativo se establece si el resultado de la operación más reciente lo estableció en 1. Un último indicador, llamado bit 5, no tiene nombre y siempre se establece en 1. Los programadores esencialmente no tienen uso para este bit en particular.

El registro FLAGS es un ejemplo de un registro de estado que se utilizó en ciertas unidades de procesador central y contenía estados actuales de un procesador. Tenía 16 bits de ancho y fue sucedido por EFLAGS y RFLAGS, un registro de 32 bits y un registro de 64 bits, respectivamente. Sin embargo, el registro FLAGS tenía algunas banderas que eran diferentes del registro original de 8 bits, incluidas la bandera de paridad, la bandera auxiliar y la bandera trampa.