Assim como outras arquiteturas 32-bits, ARM trabalha com os tipos de dados Byte, Halfword e Word
com seus bits menos significativos residindo à direita.
Halfword e Word são conhecidos como Word e Doubleword na arquitetura x86, e na arquitetura Motorola(68K) como
Word e LongWord.
Tab. 1: Byte
| Byte |
| 7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Tab. 2: Halfword
| Halfword |
| 15 |
14 |
13 |
... |
3 |
2 |
1 |
0 |
Tab. 3: Word
| Word |
| 31 |
30 |
29 |
... |
3 |
2 |
1 |
0 |
Uma Halfword é composta de 2 bytes, uma word é composta de 2 Halfwords ou 4 bytes, como pode ser
notado acima. Porém, uma Word/Halfword não pode ser acessada diretamente por bytes.
Os 3 tamanhos de dados acima, utilizam seus bits mais significativos Bit 7, Bit 15 e Bit 31,
respectivamente, como indicadores de sinalização que modificam o intervalo de dados aceito por
cada tipo de dado conforme tabela abaixo:
Tab. 4: Sinalização
| Dado |
Não-sinalizado |
Sinalizado |
| Byte |
0...255 |
-128...127 |
| Halfword |
0...65536 |
-32.768...32.767 |
| Word |
0…4.294.967.295 |
-2.147.483.648...2.147.483.647 |
A arquitetura ARM fornece instruções para carregar dados sinalizados/não-sinalizados que estendem
um Byte ou Halfword para formação de um dado 32-bits, baseado no bit mais significativo, não
sendo possível acessar alterar um byte ou halfword menos significativos sem alterar os
mais significativos.
Tab. 5: Sinal Byte
| Sinal estendido |
Byte |
| FF |
FF |
FF |
F0 |
| 00 |
00 |
00 |
7F |
Tab. 6: Sinal Halfword
| Sinal estendido |
Halfword |
| FFFF |
FFF0 |
| 0000 |
7FFF |