Esempio 07: scambiare variabili con XCHG

L’istruzione XCGH è molto utili per scambiare dati tra variabili. L’unica accortezza è che deve sempre passare da registri per effettuare l’operazione.

Un esercizio che spesso è svolto in C/C++ per prendere dimistichezza all’alunno con l’uso delle variabili. In effetti, i n C/C++, per scambiare due varibili ne occorrono tre, ovvero una di appoggio. In assembly, grazie all’approccio direttamente elettronico/fisico sui registri, lo scambio avviene direttamente con un semplice comando.

; esempio 07
; date due parole di 16 bit, scambiarne il valore
; Uso dell’istruzione xchg
; assembly non scambia tra variabili dichiarate in .data, ma si deve sempre passare per un registro

.STACK

.DATA
    opr1 db 15
    opr2 db 7     

.CODE
.STARTUP

mov     al, opr1
xchg    al, opr2
mov     opr1, al

.EXIT
END

Ultima modifica 21 Febbraio 2022