Registro não volátil

Definição - o que significa registro não volátil?

Um registro não volátil é um tipo de registro com conteúdo que deve ser preservado nas chamadas de sub-rotina. Sempre que o valor de um registro não volátil é alterado pela rotina, o valor antigo deve ser salvo na pilha antes de alterar o registro e esse valor deve ser restaurado antes de retornar. Um registro é semelhante a uma variável, exceto que há um número fixo de registros. Cada registro é um local único na CPU em que um único valor é salvo. Um registro é o único lugar onde as funções matemáticas, como adição, multiplicação, subtração, etc., podem ser realizadas. Os registros geralmente contêm ponteiros que se referem à memória. Mover valores entre a memória e os registros é um fenômeno comum.

Definirtec explica o registro não volátil

A seguir estão alguns exemplos de registros não voláteis:

  • ebx: Um registro não volátil usado para propósitos gerais. Geralmente é definido com um valor comum em toda uma função para acelerar os cálculos.
  • esi: Um registro não volátil usado para propósitos gerais. É comumente usado como um ponteiro, especialmente para instruções da classe "rep-" que requerem uma origem e um destino para os dados. Aqui, o esi aponta para a fonte. Um esi geralmente contém dados que são usados ​​em toda uma função, pois não estão sujeitos a alterações.
  • edi: Outro registro não volátil usado para propósitos gerais. Isso é comumente usado como um ponteiro. Um edi é idêntico a um esi, exceto que geralmente aponta para o destino.
  • diminuir: Outro registro não volátil usado como registro de propósito geral. Ele tem dois usos distintos com base nas configurações de compilação. É um registro de propósito geral ou um ponteiro de quadro. Se a compilação não foi otimizada ou se o código foi escrito à mão, o ebp monitora a localização da pilha quando uma função começa. Como a pilha é alterada por meio de uma função, quando ebp é definido com o valor original, as variáveis ​​salvas na pilha podem ser referenciadas facilmente. Se a compilação foi otimizada, o ebp será usado como um registro de propósito geral para armazenar qualquer tipo de dados, enquanto os cálculos para o ponteiro da pilha são realizados dependendo de seu movimento.