Почему gcc испускает 0x0 (% r13) в одной инструкции, а (% r13) в другой? - PullRequest
0 голосов
/ 31 мая 2018

Я отлаживаю кусок кода, который имеет следующую инструкцию.

mov    %esi,0x0(%r13)

Затем в другом месте я вижу такую ​​инструкцию:

mov    %esi,(%r13)

Я думал, что первая перемещает содержимое регистра esi в адрес, заданный содержимым r13 + 0x0.При такой логике последнее также должно давать тот же эффект.

  1. Есть ли разница между этими инструкциями?

  2. Почему gcc пишет одно и то же по-разному?

РЕДАКТИРОВАТЬ: Разборка была создана с помощью objdump -S.

...