Может ли собранный код ASM привести к нескольким возможным путям (кроме значений смещения)?

Я не очень хорошо знаю x86 ASM, но мне довольно хорошо с SHARP-z80, и я знаю по опыту, что каждая инструкция (мнемоника) имеет соответствующее значение байта / слова и, глядя на шестнадцатеричный дамп собранного двоичный файл, который я могу «прочитать обратно» тот же код, который я написал, используя мнемонику.

В другойТАК вопроскто-то утверждал, чтоthere are some situations where ASM instructions are not translated to their corresponding binary value, but instead are rearranged in a different way by the assembler.

Я особенно ищу случаи, когда разборка двоичного файла привела бы к другому коду ASM, чем исходный.

Другими словами,are there any cases where assembly code is not 1:1 ratio with assembled code?

MikeKwan связан с другим вопросом, где GCC будет изменять встроенный код ASM (в проекте C), но, хотя это и является интересной темой, он не отвечает на этот вопрос, поскольку GCC является компилятором и всегда пытается оптимизировать код и на внутреннюю связь ASM влияет окружающий C-код.

Ответы на вопрос(1)

Ваш ответ на вопрос