sahf
読み:エスエイエイチエフ
外語:SAHF: Store AH Register into Flags
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ビットでも使用できる。
再検索