0

I have got a problem with addressing in x86. Can someone tell me what this does:

mov 4000(%ecx, %ebx, 4), %eax
Bo Persson
  • 90,663
  • 31
  • 146
  • 203

1 Answers1

1

An address is computed as 4000 plus the value in the %ecx register plus 4 times the value in the %ebx register. A 32-bit value is loaded from that address and put into the %eax register.

Alan Curry
  • 14,255
  • 3
  • 32
  • 33
  • 2
    I find Intel syntax more intuitive that AT&T regards to addressing. In Intel syntax `mov 4000(%ecx, %ebx, 4), %eax` would be `mov eax,[ecx+4*ebx+4000]`. – nrz Aug 26 '12 at 06:17