Vamos descrever agora o modelo do Z80, conforme mostrado na Figura 2. Este modelo inclui o Acumulador, o Flag, registradores de uso geral, o apontador de memória e os registradores de uso especial.
Registradores de Uso Geral
O Z80 possui 6 registradores de uso geral, chamados B, C, D, E, H e L. Todos são de 8 bits e são utilizados para armazenamento de dados durante a execução do programa. Eles podem ser combinados aos pares (BC, DE, HL) para constituirem registradores de 16 bits. O programador tem acesso a estes registradores para escrita e leitura.
Acumulador
O Acumulador, identificado com registrador “A”, faz parte da ULA. É utilizado para armazenar dados de 8 bits e para fazer operações lógicas e aritméticas. O resultado das operações feitas pela ULA sempre é armazenado no Acumulador.
Registrador de Flags
A ULA possui 6 flip-flops que são setados e resetados de acordo com as condições após uma operação da ULA, e o estados destes flip-flops, também conhecidos como FLAGS (bandeiras), são armazenados no registrador de 8 bits chamado “regostrador de Flags”. Por exemplo: após uma soma em que o resultado gera um “carry”, o flip-flop de carry será setado e o bit D0 do registrador de flags mostrará nível lógico ‘1’. A figura 3 mostra a posição de cada bit dentro do registrador de flags.
Figura 3
Registradores de 16 bits
O Z80 possui 4 registradores de 16 bits, que são classificados como “apontadores de memória”.
Index Registers (IX and IY) – Registradores de Índice: são registradores de 16 bits utilizados para endereçamento indireto de memória.
Stack Pointer (SP) – Apontador de pilha: utilizado para guardar endereços de memópria durante a execução de uma instrução de “salto”.
Program Counter (PC) – Contador de Programa: Sua função é apontar o endereço de memória em que a próxima instrução a ser executada está armazenada.
Nenhum comentário:
Postar um comentário