VoltarFreqüentemente, durante a execução de programas, há necessidade de se manipular endereços de acesso a elementos de certos tipos especiais de dados. Esses endereços servem, na realidade, de ponteiros para os referidos elementos.
Por exemplo, o acesso aos elementos de um vetor (array) deve considerar que tais elementos são armazenados seqüencialmente na memória e que sua localização pode ser referenciada por um ponteiro (endereço), que é alterado para indicar o desejado elemento (o índice do elemento identifica univocamente cada um).
É portanto, importante que haja, no conjunto de instruções de maquina, algumas capazes de realizar essas manipulações de endereços, permitindo mais rápida e eficiente localização dos dados.
Nesse tipo de instrução, o endereço do dado é a soma do valor do campo operando (fixo para todos os elementos de um dado array) e de um valor armazenado em um dos registradores da CPU (normalmente denominado registrador índice). O valor armazenado nesse registrador varia para o acesso a cada elemento (“aponta” para o desejado elemento). Além disso, incrementar um registrador é mais rápido que incrementar uma posição de memória.