私はアセンブリの次の行は何をすべきかを理解悩み抱えている:私は、デバッグ後に理解repz cmpsbの後に、アセンブリ命令 'seta'と 'setb'は何をしますか?
0x401810: repz cmps BYTE PTR ds:[rsi],BYTE PTR es:[rdi]
0x401812: seta dl
0x401815: setb al
を、最初の命令は、レジスタrsi
とrdi
、バイト単位でのバイトを比較します。
次に、その命令に基づいて、rdx
とrax
の下位バイトを設定します。
この命令をオンラインで調べると、seta
は、その下位のバイトを0x01に設定します。それ以外の場合は0x00に設定します。 setb
と同様、バイトを0x01に設定します。
私の質問はどのような価値であり、それは上記の命令にどのように関係していますか?
は 'setCC'は、フラグビットを調べ= CF、それは彼らが設定されてしまったか気にしません。'cmps'はフラグビットを設定します。それがつながりです。 – Jester