x86系プロセッサーの命令の一つで、AHレジスターをフラグレジスターの下位8ビットに代入する命令。
- オペコード: 9E
- ニーモニック: sahf
- クロック数: 3
- 動作: フラグ [SF ZF xx AF xx PF xx CF] ← AH
もともとは、8080のプログラムを8086に移植しやすくするために作られた命令だった。
8080(とZ80)は、各々8ビットのAレジスターとフラグレジスターを合わせてAFレジスターという16ビットレジスターとして扱うことができた。
8086ではフラグレジスターは完全に別の扱いだが、移植性を高めるため、AXレジスターからフラグに簡単に複写するための命令を用意した。
フラグレジスターの下位8ビットにAHレジスターを複写する。
16ビットモード(IA-16)、32ビットモード(IA-32)ともに利用可能。
64ビットモードでは、初期には使用できないものがあったため、cpuidで対応するかどうかを判断する必要がある。EAX=80000001HでCPUID命令を実行し、ECXのビット0が1なら64ビットでも使用できる。
用語の所属

x86
関連する用語

lahf