Lunedì, 23 Ottobre 2017 16:25

Esempio 07: scambiare variabili con XCHG

Scritto da

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

Letto 302 volte
Prof. Alfredo Centinaro

Docente di "Scienze e tecnologie informatiche", "Tecnologie e progettazione di sistemi informatici", "Sistemi e Reti" presso IIS Alessandrini-Marino (Teramo), consulente e sviluppatore web. Ha collaborato per anni come sviluppatore presso MHT - Treviso, assistente Sistemi ed elaborazione dell'informazione in UniTE Corso di laurea in Scienze del turismo culturale, tutor presso Telecom Italia Learning Services (L'Aquila)

Joomla SEF URLs by Artio