> For the complete documentation index, see [llms.txt](https://mentebinaria.gitbook.io/assembly/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mentebinaria.gitbook.io/assembly/apendices/codigo-de-maquina/displacement.md).

# Displacement

O *displacement* (deslocamento) é um valor numérico de 1, 2 ou 4 bytes de tamanho que também faz parte da instrução assim como o valor imediato.

{% hint style="info" %}
Em modo de 32-bit ou 64-bit, o *displacement* pode ser de 1 ou 4 bytes de tamanho. Em modo de 16-bit pode ser de 1 ou 2 bytes de tamanho.
{% endhint %}

Ele é um valor numérico que é somado ao [endereçamento](/assembly/a-base/enderecamento.md) definido pelo byte ModR/M. Se esse campo está presente ou não na instrução, bem como seu tamanho, é definido no byte ModR/M.

Exemplo:

![Print do x86-visualizer.](/files/x3giztSHoHzeL6Li2LSu)

Onde o valor `0x11223344` na instrução `mov eax, [ebx + 0x11223344]` é o *displacement* da instrução.
