Я отлаживаю кусок кода, который имеет следующую инструкцию.
mov %esi,0x0(%r13)
Затем в другом месте я вижу такую инструкцию:
mov %esi,(%r13)
Я думал, что первая перемещает содержимое регистра esi
в адрес, заданный содержимым r13 + 0x0
.При такой логике последнее также должно давать тот же эффект.
Есть ли разница между этими инструкциями?
Почему gcc пишет одно и то же по-разному?
РЕДАКТИРОВАТЬ: Разборка была создана с помощью objdump -S
.