O que é um registro de status?
O registro de status - também conhecido como registro de sinalizador, palavra de status do programa e registro de código de condição - é definido como um coletivo de bits de sinalizador dentro de um processador. Um registro é um circuito do processador e é muito parecido com um local de memória, o que significa que os dados podem ser gravados e lidos a partir dele. Diferentemente de um local de memória, o registro de status geralmente não tem um endereço porque o microprocessador o usa internamente. Em uma unidade central de processamento (CPU) de 8 bits, um bit de registro de status pode ser definido , igual ao número 1, ou limpo , igual ao número 0, pelos diversos resultados da operação do processador. Às vezes, o processador define ou limpa os bits em si, mas outras vezes uma instrução de programa específica define ou limpa os bits.
Os bits de registro de status também são chamados de sinalizadores ou bits de sinalizador e são usados pelo programador para determinados fins de programação. Cada sinalizador em um registro de status tem uma finalidade única. O sinalizador de transporte define se uma operação anterior fez o sétimo bit - ou sinalizador negativo - exceder o limite, ou fez o sinalizador de transbordamento ficar abaixo. É definido durante mudanças de lógica, comparação e aritmética. O sinalizador zero define se o resultado da operação mais recente foi 0.
Um sinalizador chamado “interrupção desativada” opera permitindo ou não a operação de interrupções, que são instruções que interrompem temporariamente determinadas operações para que outras operações possam ser executadas. Quando esse sinalizador específico é definido, as interrupções não podem operar, mas quando está claro, as interrupções são permitidas. Outro sinalizador chamado de sinal decimal permite que o processador siga um modo binário mais avançado para executar equações aritméticas perfeitas. Quando o sinalizador é definido, ele usa esse modo binário avançado. Outro bit de registro é o bit do sinalizador de interrupção, que define quando o comando Force Interrupt (BRK) é executado.
Um sinalizador de estouro é definido durante operações aritméticas se uma operação produzir um resultado inválido. O sinalizador negativo é definido se o resultado da operação mais recente tiver sido definido como 1. Um último sinalizador, chamado bit 5, é sem nome e sempre definido como 1. Os programadores não têm utilidade para esse bit específico.
O registro FLAGS é um exemplo de registro de status que foi usado em determinadas unidades centrais do processador e continha os estados atuais de um processador. Tinha 16 bits de largura e foi sucedido por EFLAGS e RFLAGS, um registro de 32 bits e um registro de 64 bits, respectivamente. O registro FLAGS, no entanto, tinha alguns sinalizadores diferentes do registro original de 8 bits, incluindo o sinalizador de paridade, sinalizador auxiliar e sinalizador de interceptação.