Я заметил, что обозначение для установки регистра 0 в x86 IA32 ISA обычно выражается как:Разница между двумя инструкциями ISA ISA x86?
xorl %eax, %eax
Я хотел бы знать, если есть разница между этими обозначениями и
movl $0, %eax
Поскольку оба кажутся по существу делающими то же самое. Это только вопрос эффективности?
'Это просто вопрос эффективности?' Да. Как правило, операционный код xor короче, в большинстве случаев он быстрее. Чтобы получить точный ответ, обратитесь к ссылке Assembly для конкретной платформы. –
В основном, но «xor» влияет на флаги. Поэтому, если вам нужно сохранить флаги (это редко случается), вы не можете использовать его. – harold