Com a instrução SUB podemos realizar a operação aritmética de subtração com os registradores de dados
e endereço. Quando trabalhamos com registradores de endereço, a operação com byte não é aceita.
Operação
destino <- destino - origem
Endereçamento Origem
Dx, Ax, (Ax), (Ax)+, ‑(Ax), n(Ax), n(Ax,Dx[.W|.L]|Ax[.W|.L]), absoluto.W, absoluto.L, n(PC), n(PC,Dx[.W|.L]|Ax[.W|.L]) e #imediato
Endereçamento Destino
Dx, (Ax), (Ax)+, ‑(Ax), n(Ax), n(Ax,Dx[.W|.L]|Ax[.W|.L]), absoluto.W, absoluto.L
Tamanho do dado
Byte(Dx apenas), Word e Longword
CCR
X: C
N: a
Z: a
V: a
C: a; 0 se houver "vai um", 1 caso contrário
Sintaxe
SUB.B Dx,Dy ;
SUB.L (Ax),Dx
SUB.W -(Ax),Dx
SUB.B (Ax)+,Dx
SUB.L $absoluto.L,Dx
Exemplo:
; D0 = 00000001 D1 = 00000001
SUB.B D0,D1;
; D0 = 00000001 D1 = 00000000
SUB.L (A0),D2
SUB.W -(A1),D3
SUB.B (A3)+,D4
SUB.W $FFFF,D5