2

Я не могу найти никаких источников, объясняющих, как tp пишет прямые коды операций для ISA для работы на CPU. Не сборка, напрямую коды операций или "машинный код".

1 ответ1

3

Вы можете, но не должны.

Вы можете взять любой двоичный файл, открыть его в текстовом редакторе и изменить байты. В зависимости от вашего редактора и ОС, некоторые байты могут быть сложнее, чем другие. Пока редактор не делает ничего лишнего, пытаясь прочитать или записать этот файл (потому что он пытается обработать файл как текст), результаты будут полностью зависеть от вас. Вы также можете создать новый файл таким образом. В Windows просто сохраните его с правильным расширением; в Unix установите исполняемый бит. ОС запустит его, и что-то случится.

Вам нужна ссылка на процессор, который говорит вам, как кодируются операции. Многие операции имеют несколько вариантов из-за типа операнда и режима адресации. Вы также должны рассчитать смещения прыжка и так далее. Все это чрезвычайно утомительно и подвержено ошибкам, поэтому люди изобрели ассемблеры.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .