Add/Sub

No add, um dos parâmetros tem que ser um registrador de dados. As figuras ao lado mostram os dois casos possíveis.

O destino não pode ser um registrador de endereço. Para isso existe a instrução “adda”.

Não é permitido somar memória com memória. Portanto é necessário mover o dado para um registrador antes da soma.

Suporta os 3 tipos de tamanho.

Não permite somar imediado com memória. Para isso existe o “addi”.

Adda/Suba

Não opera em bytes, e quando tamanho word é usado, o resultado tem extensão de sinal para 32 bits.

O destino sempre tem que ser um registrador de endereço.

Usada para calcular o endereço de um item em uma estrutura de dados complexa.

As flags não são afetadas.

Addi/Subi

Permite somar imediato com memória, ao contrário do “add” normal.

Addq/Subq

Permite somar números de 1 a 8. A razão é a velocidade, pois não precisa de extension word.

Suporta registrador de endereço no destino.

s