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. O tipo ponteiro tem tamanho de 24-bits(Triplebyte).
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 |
O 68K possui a instrução EXT que extende ou converte dados que afeta os bytes
posteriores ao tamanho do dado são utilizado: byte -> word e word -> longword.
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.
Tab. 2: D~7 - Parte Byte
| Byte3 |
Byte2 |
Byte1 |
Byte0 |
| - |
- |
- |
FFh |
Os byte mais altos 1,2 e 3 não podem ser acessador individualmente sendo manipulados atráves de
instruções. O carregamento de um byte no registrador menos significativo 0 não afeta os
byte restantes.
Tab. 3: D0~7 - Parte Word
| Word1 |
Word0 |
| - |
FF-FFh |
A word mais alta 1 não pode ser acessador individualmente sendo manipulados atráves de
instruções. O carregamento da word menos significativa 0 não afeta o word mais alta.
O carregamento da uma longword afeta todos os bytes do registrador.
Tab. 4: D0~7 - Longword
| Longword0 |
| AA-BB-CC-DDh |
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.5: 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.