Esempio 04: differenza con SUB

In questo post, vediamo l’uso del comando SUB per effettuare la differenza in assembly su architetture x86 a16 bit.

L’idea è quella di crearci due variabili ed eseguire il conto in una terza. La procedura è simile a quella che abbiamo visto con la somma ADD. L’utilizzo delle variabili in questo caso non è strettamente necessario perché i registri basterebbero per eseguire l’operazione ma è propedeutico per altri esercizi più complessi.

Inizializziamo una variabile SOTT1 a 10, qui con numero esadecimale e SOTT2 a 1. Le operazioni, come sempre, non possono essere svolte tra variabili, ma devono sempre passare per i registri. Il risultato ottenuto dal registro AX lo reinseriamo in una variabile di appoggio DIFF.

; esempio 04
; sottrazione

.STACK

.DATA
    SOTT1    dw 0Ah
    SOTT2    dw 1
    DIFF       dw ?         

.CODE
.STARTUP

MOV AX, SOTT1    ; sposto il primo numero in Ax parte bassa
SUB AX, SOTT2    ; ci sottraggo il secondo numero
MOV DIFF, AX       ; sposto nella variabile

.EXIT
END

Ultima modifica 5 Giugno 2022