1

私はいくつかのジャンプコマンドを理解しようとしています

edx は -126、eax は +127

cmp edx, eax
ja short <offset>

それはジャンプが行われたと述べていますが、フラグが設定されていることに基づいていることがわかりました。たとえば、JZコマンドがあり、結果が等しい場合、明らかにジャンプが行われます。私が理解していることから、cmpコマンドはソースから宛先を減算します。この場合、-126に127が追加され、結果は1になります。どのMATH結果がフラグをトリガーするかわかりませんか? 私が知りたいのはそれだけです

4

1 に答える 1

2

ja符号なしの上 (CF=0および) の場合はジャンプを意味しZF=0ます。符号付き値に対応する命令は ですjg

32 ビット値 -126 は 0xFFFFFF82 であり、符号なしの値として見ると明らかに 127 (0x7F) より大きくなります。

于 2013-08-27T16:33:31.293 に答える