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