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

  1. Tipos de dados
  2. Sinalização

Como mencionado anteriormente, 68K possui 8 registradores de dados sendo esses D0-D7. Cada um desses registradores podem armazenar os tipos de dados 8,16, 32-Bits que são nomeados como Byte, Word e Longword respectivamente.

Os valores 0-F utilizados nas tabelas abaixo representam dígitos hexadecimal.

Tab.1: Tamanho de dado em D0-D7
Tamanho Byte 3 Byte 2 Byte 1 Byte 0
Longword (32-bits) 01 AB CD EF
Word (16-bits) -- -- 01 23
Byte (8-bits) -- -- -- 01

Quando um byte de um registrador é acessado, os valores restantes nos bytes 2, 3 e 4 não são afetados. Quando uma word de registrador é acessado os bytes 3 e 4 não são afetados.

O 68K possui a instrução EXT que extende ou converte dados que afeta os bytes posteriores ao tamanho do dado são utilizado.

Muitas instruções do 68K utilizam os prefixos .B, .W e .L de forma a definir o tamanho do dado que será trabalhado pela instrução.

Como o barramento de endereços para acessar dados na memória do 68K é de 24-bits, os registradores de endereço A0-A7 armazenam apenas valores até essa quantidade de bits.

Tab.2: Registrado de endereço
Tamanho Byte 0 Byte 1 Byte 2
24-bits 01 23 45

Os registradores A0-A7 são utilizados com conjunto para acessar dados em mémoria ou para desvio de fluxo do programa.

Assim como em vários processadores, existe a necessidade de manipular dados sinalizados. O bit mais significativo(msb) é o local que indica que um valor possui a sinalização.

Tab. 3: Byte
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
1 - - - - - - -
Tab. 4: Word
Bit 15 Bit 14 Bit 13 ... Bit 3 Bit 2 Bit 1 Bit 0
1 - - ... - - - -
Tab. 5: Longword
Bit 31 Bit 30 Bit 19 ... Bit 3 Bit 2 Bit 1 Bit 0
1 - - .. - - - -
Ex:
$80 / -128 / 10000000b
$7F / 127 / 01111111b
Onde:
b: binário
$: hexadecimal
-: operador unário

Um valor armazenado nos registradoros D0-D7 que possui o msb com valor 1 será visto pelo processador como um valor negativo. Quando isso acontece pela flag N(Negative) é setada para 1.

Os valores sinalizados são utilizados para recuperar valores de memória ou desvio de fluxo de execução por intermédio dos modos de endereçamento.

As instruções de rotação e deslocamento manipulam o bit mais significativo de bytes, words e longwords.

  1. 05/09/2024 - Revisão 1 - Correção ordem tamanhos word e byte invertidos em Tab. 1
  2. 01/04/2024 - versão inicial