Разработчик написал виртуальный ARM-процессор на С++

Который способен принимать на вход полноценный 32-битный машинный код.

Пользователь GitHub под ником lucas-streanga опубликовал интересный проект. Он создал виртуальный ARM-процессор, используя для этого язык С++.

Каждый раз интересно наблюдать, как с помощью уже легендарных языков создаются всё новые интересные проекты / Источник: Unsplash

Автор проекта заявляет, что с помощью его разработки все желающие могут писать и тестировать собственный машинный код. Для этого программа считывает данные из внешнего файла, который и содержит в себе всё необходимое в 32-битном формате.

Пример программы для виртуального процессора

00001000000010000000001111111111 # перемещает 16384 в register 0
00001010000000000000000000000000 # печатает r0
00000000000001000000000000000000 # добавляет r0 и r0 и размещает в r0 +
                                 # устанавливает flags
00001010000000000000000000000000 # печатает r0
00001000010010111000000000001000 # зацикливает до тех пор, пока не случится перенос
*
!

По словам разработчика, его проект работает достаточно стабильно. Изучить саму программу, а также инструкции к ней можно на GitHub-аккаунте lucas-streanga, пройдя по ссылке.

Источник: GitHub / lucas-streanga