Каков минимальный набор инструкций, необходимый для того, чтобы любой язык ассемблера считался полезным?

Я изучаю программирование на ассемблере в целом, поэтому я решил попробовать реализовать «виртуальный микропроцессор» в программном обеспечении, у которого есть регистры, флаги и ОЗУ для работа с переменными и массивами. Но поскольку я хочу смоделировать только самое основное поведение любого микропроцессора , я хочу создать язык ассемблера, который имеет только основные инструкции, только те инструкции, без которых он не может быть полезен. Я имею в виду, что есть языки ассемблера, которые могут выполнять умножение и замену значений регистров и т. Д., Но эти операции не являются базовыми, потому что вы можете реализовать их с помощью более простых инструкций. Я не хочу выполнять подобные инструкции.

Я могу представить себе пару инструкций, которые (я считаю) всегда должны присутствовать на любом ассемблере, например MOV для перемещения байтов и JP для отправки указателя инструкции. по другому адресу.

Не могли бы вы предложить набор самых простых и необходимых инструкций по сборке? Спасибо!

23
задан Seki 11 June 2015 в 12:15
поделиться