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