3

アセンブリの割り当てに取り組んでいますが、ほとんどの場合、アセンブリについてはよく理解しています。または、少なくともこの割り当てには十分です。しかし、このmovステートメントは私をつまずかせています。このmovステートメントがレジスタ値をどのように操作しているかを誰かが説明していただければ幸いです。

mov(%ebx、%eax、4)、%eax

PS基本的な検索では、この特定のタイプのmovステートメントを見つけることができなかったので、それを見逃して質問をしている場合は、お詫び申し上げます。

4

1 に答える 1

5

AT&Tアセンブリの完全なメモリアドレッシングモード形式は次のとおりです。

offset(base, index, width)

だからあなたの場合:

offset = 0
base = ebx
index = eax
width = 4

命令が次のようなものであることを意味します。

eax = *(uint32_t *)((uint8_t *)ebx + eax * 4 + 0)

Cのような擬似コード。

于 2013-02-15T17:48:12.063 に答える