att - Dereferencing syntax in IA-32 assembly () or *? -
this source of confusion: movl (%edx), %eax treats value of %eax address, goes , copies content %eax,
keeping in mind looking at: jmp *(%edx) since parenthesis used earlier (as dereferencing in mov instruction), asterisk form of double dereference ?
...and how instruction perform differently ? --> jmp (%edx)
...or jmp *%edx versus jmp %edx ?
the *
indicates absolute jump, in contrast absense of asterisk meaning relative jump. see http://sourceware.org/binutils/docs-2.17/as/i386_002dmemory.html#i386_002dmemory
however, don't know whether assembler infers absolute jump indirection if *
missing or barks on impossibility of indirect relative jump.
Comments
Post a Comment