←前ページへ :  INDEX :  次ページへ→


9-2.XCHG ( Exchange ) :データの交換

XCHG ( Exchange ) :データの交換

XCHG	DEST1,DEST2

   動作:DEST1とDEST2を交換する
  影響を受けるフラグ:なし
    DEST1:レジスタ、メモリー
    DEST2 :レジスタ、メモリー(ただしメモリー、メモリーの組み合わせは除く)
  上のニーモニックの通り、2つのオペランドを交換します。セグメントレジスタは使用できません。

データの交換 【86】
【書式】
 XCHG  dest,source
 dest   = reg/mem   source = reg/mem
【フラグ】
OF DF IF TF SF ZF ?? AF ?? PF ?? CF
【動作】
destsource の内容を交換します。
destsource
【備考】
  • destsource の記述順序は意味を持ちません。
  • dest またはsource の一方がメモリならば、LOCK命令(プレフィックス)が使用されていなくても、メモリ参照の間、常にバスのLOCK信号を有効にします。
【用例】
 
IN    AL,KPORT  ;
キーデータをポートから入力
XCHG  AL,[KDSV] ;
今回データ保存、前回データ取得
CMP   AL,[KDSV] ;
キーデータ変化の有無を検査
JZ    NONE      ;
変化無しで分岐

←前ページへ :  INDEX :  次ページへ→