2017-05-16 11 views
-3

アセンブリコードは次のとおりです。次のアセンブリコードスニペットを実行した結果はどうなりますか?

LAHF 
AND AH,10H 
JZ 50H 

結果になりますか?

+1

「LAHF」のドキュメントを読んだことがありますか? –

+0

2番目のGoogleの結果(正確に説明するとhttp://www.felixcloutier.com/x86/LAHF.html)... "ロード:AH←EFLAGS(SF:ZF:0:AF:0:PF :1:CF)。 FLAGSレジスタのステータスをahレジスタにコピーするだけです。上記の文書はどのビットがどのフラグに対応しているかを説明しています。 –

答えて

1

lahfahレジスタの中にフラグレジスタをロードします。

and ah, 10hは、and10hで実行し、フラグレジスタからadjust flagである5番目を除くすべてのビットをマスクします。 andは、続く命令で使用されるフラグも設定します。

jz 50h上記のandの結果が0の場合、50hにジャンプします。

"adjust flag"が設定されていない場合は、すべて50hにジャンプし、それ以外の場合はまっすぐに進みます(処理中にahが壊れます)。

関連する問題