「-0x1(%のEDX、ECX%のは、1)」objdumpの出力には何を意味するのでしょうか?

StackOverflow https://stackoverflow.com/questions/1876815

  •  18-09-2019
  •  | 
  •  

質問

のバイナリを理解するためにobjdumpを使うと私はASMの構文で十分堪能ではないよ実現。以下の概念は何を意味するのでしょうか?

xor    %al,-0x1(%edx,%ecx,1)

そして、あなたはそれでいる間 - どのような私は、このような概念についてのドキュメントを見つけるためにのために検索する必要があります。

役に立ちましたか?

解決

括弧は、メモリオフセットがあります:

-0x1(%edx,%ecx,1)(AT&T構文)[edx+ecx*1-1]に等しい(インテル構文)

(あなたの要求ごとなど) AT&Tアセンブリ構文のクイックガイドます。

他のヒント

これは、排他的または下位バイト(%のAl)の含有量との 'レジスタと32ビット幅のレジスタ「D」の和であるアドレスのメモリの内容(%のEDX) 、1(%のECX、1)を乗じ-1 'C'。結果は%のAlに書き戻されます。 Cにおける

al ^= (char*)(edx+ecx*1 - 1);

あなたは砂山するまたはIntel / AMDのドキュメントにでこのようなものを検索することができます。

scroll top