У заголовку порядок слів не переплутаний.
Живе в Угорщині юний програміст Адам Кішш. Він бере участь у чомусь типу онлайн-олімпіади KöMaL. Для вирішення завдань з інформатики пропонується використовувати кілька звичайних мов програмування: C, С++, Python і деякі інші. В одному із завдань потрібно було написати Сапер і бота для гри в нього. Таке завдання дуже легко вирішується засобами табличного процесора - того ж Excel, наприклад, і пачки макросів. Однак же, макроси використовувати не можна. Адам викрутився незвичайним способом: реалізував у книзі Excel простенький віртуальний комп'ютер, який програмується на Ассемблері - Excembler.
Формально, це підходить під вимоги олімпіади. Макроси не використовуються, тільки вбудовані логічні функції. Файл «комп'ютера» доступний для скачування, але він угорською. Гугл транслейт плюс здоровий глузд начебто дозволили розібратися. Реалізовано якийсь найпростіший придуманий асемблер. Можливо, хтось із читачів вкаже прототип. Коротко опишу, що вийшло. На першому аркуші власне код програми і результат виконання. У кольорових стовпчиках стан регістрів перед виконанням відповідної операції, зліва код та аргументи. Зміст стовпчика OUT-assist до кінця не зрозумілий, схоже там відстежуються зміни регістру результату. Аркуш Out - результати, аркуш Data - вхідні дані. Їх можна адресувати за номером рядка і стовпчика і завантажувати в регістр LD командою LOAD. Command set - довідка по системі команд. Сподіваюся, що перевів правильно. Examples - кілька прикладів. Було не цілком зрозуміло, звідки вони завантажують дані. Треба дивитися безпосередньо за кодом. Наприклад, LOAD 2,3 - це запит комірки Data! B3, якщо нічого не наплутав.
Вивід: цікава іграшка на погратися вечірком
Бібліографія:
www.komal.hu/verseny/feladat.cgi?a=feladat&f=I358&l=en завдання олімпіади
hackaday.io/project/3680-exembler власне проект. Майже порожній, але там можна завантажити ексселівський файлик угорською
hackaday.com/2014/12/25/writing-a-virtual-machine-in-excel новина на Хакдеї
www.dropbox.com/s/xjk5sqtarsgvnex/exembler_v0.2.xlsx?dl=0 (можливо криво) перекладена таблиця