> 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

Campo displacement na instrução do código de máquina.

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.](https://2466397120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lif0YmrEB3G3dh1VxSC%2Fuploads%2F3XViFatx8RsMUCSuTxys%2FCaptura%20de%20tela%20de%202022-04-16%2012-51-02.png?alt=media\&token=5870b1c6-ebae-4d81-a88e-9f949be24b3c)

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