0
MOV EDX, [EBX + 8*EAX + 4] 

I've been unable to find the name in the documentation for the addressing mode that allows for the base pointer, counter, multiple and displacement. I'd like to find out exactly how this works and what are the limitations (e.g. what multipliers, offsets are allowed, 32 and 64 bits?).

What is the name of this addressing mode?

Ross Ridge
  • 38,414
  • 7
  • 81
  • 112
Listerone
  • 1,381
  • 1
  • 11
  • 25
  • 2
    Intel doesn't really name the x86 addressing modes. The Intel Software Development Manual just call this "Base + (Index ∗ Scale) + Displacement". See section 3.7.5 "Specifying an Offset" in volume 1 of this manual for more details. – Ross Ridge Nov 01 '19 at 16:16
  • The name is merely descriptive: *base plus scaled index plus displacement*. The available scale factors are 1, 2, 4, 8. Information on addressing modes can be found in the official documentation from Intel and AMD plus there are various internet summaries, e.g. [here](https://www-user.tu-chemnitz.de/~heha/viewchm.php/hs/x86.chm/x64.htm) . – njuffa Nov 01 '19 at 16:19
  • @RossRidge Thanks. The section gives me a place to go to for details. – Listerone Nov 01 '19 at 16:39
  • There's already an SO Q&A about names for x86 addressing modes. And I wrote another answer a while ago that covers what x86 addressing modes can do. – Peter Cordes Nov 02 '19 at 04:00

0 Answers0