80×86 Assembly – XCHG Komutu

XCHG Komutu

XCHG işlenenlerin değerlerinin değiş-tokuş (takas) edilmesini sağlayan bir komuttur. Aynı sonucu, biraz daha uzun sürede, ek bir yazmaç veya bellek alanı kullanarak ve daha fazla kod üreterek MOV komutları ile de elde etmek mümkündür. Ancak Assembly dili mevcut kaynakların sınırlı olduğu durumlarda çözümler üretebilen bir dil olup bu gibi durumlarda XCHG komutu kullanılmalıdır.

Yapılan işlem kısaca
opr1 değeri temp’e atanır, opr2 opr1’e atanır ve temp opr2’ye atanır.

XCHG-> Exchange

Olası XCHG işlenen kombinasyonları;

Komut İşlenen 1 İşlenen 2
XCHG reg reg
XCHG reg mem
XCHG mem reg

XCHG Komutu Örnekleri

AX ve BX yazmaçlarının değerlerinin birbirleriyle değiştirir. AX; 89ACH, BX: FDE0H olduğunu varsayarsak işlem sonucunda değerler tam tersi yani; BX; 89ACH, AX; FDE0H  olacaktır.

AX yazmacının değeri ile OrnekVeri isim bellek alanının SI’ıncı adresinden başlayan word yer değiştirmektedir. OrnekVeri word olmalıdır.

 

Leave a Reply

Your email address will not be published. Required fields are marked *