Clique sobre os objetivos listados abaixo para navegar até o conteúdo desejado.

  1. Visão geral dos registradores
  2. Registradores de Dados
  3. Registradores de Endereço
  4. Program Counter
  5. Stack Pointer
  6. Status Registrer - Flags - CCR
  7. wrap-around 8/16/32
  8. valores de reset

O 68K possui ao todo 16 registradores: D0-D7 e A0-A7, PC, SP e Flags que estão listados de forma resumida nas tabelas abaixo tendo suas descrições e uso explicados mais adiante.

Tab. 1: Registradores
Registrador Descrição Tamanho(bits)
D0-D7 Registradores de Dado 8/16/32-Bits
A0-A7 Registradores de Endereço 24-bits
PC Program Counter/Contador Programa 24-bits
SP/A7 Stack Pointer /Ponteiro da Pilha 24-Bits
SR/Flag/CCR Status Register/ Flags/ Condition Code Register 16-Bits
Tab.2: Status Register
Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
T - S - - I2 I1 I0 - - - X N Z V C

O registrador SP utiliza o registrador A7 por padrão. Esse valor inicial é definido no vetor de interrupções sendo carregado automaticamente pelo processador durante o reset.

O acesso a valores 16/32-bits em memória possui restrições em relação o endereço utilizado acarretando em erro. Ver memória.

Os registradores A0-A7 podem utilizar até 6 modos diferentes de endereçamento para acessar valores em memória.

Os registradores D0-D7 são é utilizado em operações aritméticas, lógicas, pilha, carregamento e armazenamento de dados. Não há o conceito de registrador acumulador no 68K, todos podem ser utilizados. Esses registradores podem armazenar valores sinalizados e não-sinalizados.

Os registradores D0-D7 podem ser acessados em suas partes 8(byte), 16(word) e 32-bits(longword). O efeito circular nas partes 8 e 16 não afetam os bytes restantes dos registradores.

O registradores A0-A7, que são usados para armazenar endereços de memória, tanto para acessar valores em memória quanto utilizados para armazenar valores. Podem ser utilizados em conjunto para em alguns modos de endereçamento. O registrador A7 tem uso específico.

Esses registradores aceitam apenas valores 16 ou 32-bits. Bytes devem ser extendidos para atribuição.

O PC é um registrador de 24-bits que armazena o endereço da próxima instrução que será executada pelo processador. Este registrador é incrementado automaticamente à medida que as instruções vão sendo executadas ou modificadas por algumas instruções de desvio de fluxo.

O SP é um registrador de 24-bits que armazena o endereço do topo da pilha(Stack) do 68K. Este registrador é incrementado explicitamente ou implícitamente por instruções de stack frame. Por padrão, o registrador A7 é configurado inicialmente como o SP podendo ser acesso tanto como SP ou A7.

O 68K possui um grupo de flags para que possamos entender seu status após a execuções de suas instruções e interrupções.

As flags de 0-7 são conhecidas flags do usuário ou CCR enquanto as flags 8-15 são conhecidas como flags do sistema. Juntas formam o Status Register(SR)

Tab. 3: Status Register
Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
T - S - - I2 I1 I0 - - - X N Z V C
Bit 0: Carry

A flag C(Carry), pode ser entendida como o "Vai-um ou Vem-um" em operações aritméticas de soma e subtração. Em instrução de deslocamento e rotação de bits armazena os bits mais e menos significativos.

Bit 1: Overflow

A flag O(Overflow) é utilizada em operações que envolvem aritmética sinalizada indicando um extravasamento no armazenamento. Por exemplo, se dois valores de mesmo sinal são somados e um valor de sinal contrário é gerado, há overflow. Havendo overflow, a flag recebe o valor 1, caso contrário recebe o valor 0.

Bit 2: Zero

A flag Z(Zero) indica que o valor carregado em um registrador ou memória é igual a zero. Se for igual a zero, a flag recebe o valor 1, caso contrário recebe o valor de 0.

Bit 3: Negative

A flag N(Negative) indica a sinalização de um valor armazenado em um registrador. Se um valor for positivo, a flag recebe valor 0, caso seja negativo recebe o valor 1. Um valor sinalizado é indicado pelo bit mais significativo.

Bit X : Extended

Flag que armazena uma cópia de Carry após a execução de algumas instruções. A flag X não é alterada por todas instruções e pode ser utilizada para realizar validações em cascata.

Bit 8-10: Interrupt Mask(IM) / Máscara de Interrupções

A flag composta do bits 8-10 armazenam a prioridade das interruções. Uma interrupção é executada ou ignorada de acordo com essa flag.

Tab. 4: Interrupt Mask
Nível I2 I1 I0 Prioridade
0 0 0 0 Todas Ignoras
1 0 0 1 1
2 0 1 0 2
3 0 1 1 3
4 1 0 0 4
5 1 0 1 5
6 1 1 0 6
7 1 1 1 MNI*

*MNI - Interrupção não-mascarável.

Bit 13: S - Supervisor Bit

Essa flag habilita o modo supervisor. Utilizada por kernels ou sistemas operacionais.

Bit 15: T - Trace bit

A flag T é utilizada para debug. Uma vez habilitada, uma interrupção é executada após cada instrução executada.

  1. 12/03/2026 - Revisão 2 - Ajustes: pontuais, descrição de registradores e adição: ícone 'chip'
  2. 05/09/2024 - Revisão 1 - Correção em erros gramaticais
  3. 01/04/2024 - versão inicial