Украинец Андрей Брусник разработал игру Astra-256 Assembler, которая поможет студентам в изучении этого низкоуровневого языка программирования, а для “старой гвардии” программистов станет просто источником фана. На игру обратили внимание журналисты ITC.UA.

“В этой программе мы постарались совместить атмосферу и особый шарм первых вычислительных машин с учебным инструментом, благодаря которому вы можете получить навыки работы с языком Assembler. При этом вам предоставляется возможность работать в жестких условиях ограниченных ресурсов, в которых и приходилось работать “настоящим программистам”, – отмечает разработчик.

Внешне программа напоминает старый программируемый калькулятор, но здесь нет привычного табло с арабскими цифрами. Вместо этого – ряды индикаторов, которые отражают значения регистров (регистр результата, регистр входных данных и регистр счетчика адреса). Точно так же, как это было в первых компьютерах, на заре вычислительной техники.

Игрокам предстоит программировать вычислительные операции с использованием ограниченного набора команд и очень ограниченных ресурсов. В их распоряжении всего 256 байт памяти, 8-разрядный процессор и система из целых 102 команд. Чтобы усложнить задачу, можно не использовать дисплей и попробовать ориентироваться только на лампочки индикаторов – как это делали наши предки.

Игра пока не закончена, но уже доступна на Steam в предварительной версии для ПК. Вскоре она выйдет также для других устройств, в том числе смартфонов и планшетов.

Почему это интересно

Assembler до сих пор используется для программирования различных устройств на микроконтроллерах, поскольку позволяет максимально эффективно распоряжаться аппаратными ресурсами таких устройств.

Assembler также используется для оптимизации программ, написанных на языках более высокого уровня.

Опыт работы на Assembler дает понимание того, как железо превращается в интеллектуальное устройство, работая только с бинарными числами, нулями и единицами.