TIS-100, Tessellated Intelligence System
Наткнулся недавно на игрушку (странно, что не нашёл её упоминания на реакторе) - паззл по программированию на ассемблере.
Суть такова: у нас есть задание, например, сложить два числа из узлов ввода, а результат записать в узел вывода, и есть определённый набор этих самых доступных узлов, каждый из которых имеет один регистр хранения данных (не считая дополнительного регистра сохранения). Узлы могут обмениваться данными с соседними узлами. Каждый узел можно запрограммировать индивидуально (набор инструкций весьма краток и прост) для обработки поступаемых данных. Игрушка выполнена в стилистике олдскульных терминалов. Задания варьируются по сложности, голову зачастую приходится изрядно поломать. Корованы грабить нельзя, зато можно профилировать производительность, улучшая/ухудшая показатели в зависимости от реализации алгоритма.
Суть такова: у нас есть задание, например, сложить два числа из узлов ввода, а результат записать в узел вывода, и есть определённый набор этих самых доступных узлов, каждый из которых имеет один регистр хранения данных (не считая дополнительного регистра сохранения). Узлы могут обмениваться данными с соседними узлами. Каждый узел можно запрограммировать индивидуально (набор инструкций весьма краток и прост) для обработки поступаемых данных. Игрушка выполнена в стилистике олдскульных терминалов. Задания варьируются по сложности, голову зачастую приходится изрядно поломать. Корованы грабить нельзя, зато можно профилировать производительность, улучшая/ухудшая показатели в зависимости от реализации алгоритма.