AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.12.2014, 12:31   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,875 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Thumbs up Assembler в 30 строк на Excel
Как интересно :

"Assembler в 30 строк на Excel"
http://habrahabr.ru/post/246975/

Живет в Венгрии юный программист Адам Кисс. Он участвует в чем-то типа онлайн-олимпиады KöMaL. Для решения заданий по информатике предлагается использовать несколько обычных языков программирования: С, С++, Python и некоторые другие. В одном из заданий требовалось написать Сапер и бота для игры в него. Такая задача очень легко решается средствами табличного процессора — того же Excel, например, и пачки макросов. Однако же, макросы использовать нельзя. Адам выкрутился необычным способом: реализовал в книге Excel простенький виртуальный компьютер, который программируется на Ассемблере — Excembler.

Формально, это подходит под требования олимпиады. Макросы не используются, только встроенные логические функции. Файл «компьютера» доступен для скачивания, но он на венгерском. Гугл транслейт плюс здравый смысл вроде позволили разобраться. Реализован некий простейший придуманный ассемблер. Возможно, кто-то из читателей укажет прототип. Вкратце опишу, что получилось. На первом листе собственно код программы и результат выполнения. В цветных столбцах состояние регистров перед выполнением соответствующей операции, слева код и аргументы. Смысл столбца OUT-assist до конца не ясен, похоже там отслеживаются изменения регистра результата. Лист Out — результаты, лист Data — входные данные. Их можно адресовать по номеру строки и столбца и загружать в регистр LD командой LOAD. Command set — справка по системе команд. Надеюсь, что перевел правильно. Examples — несколько примеров. Было не вполне понятно, откуда они загружают данные. Надо смотреть непосредственно по коду. Например, LOAD 2,3 — это запрос ячейки Data!B3, если ничего не напутал.

Вывод: интересная игрушка на поиграться вечерком

Библиография:
http://www.komal.hu/verseny/feladat....at&f=I358&l=en задание олимпиады
hackaday.io/project/3680-exembler собственно проект. Почти пустой, но там можно скачать экселевский файлик на венгерском
http://hackaday.com/2014/12/25/writi...hine-in-excel/ новость на Хакдее
http://www.dropbox.com/s/xjk5sqtarsg...v0.2.xlsx?dl=0 (возможно криво) переведенная таблица
-------------------------------------------

Чего только не придумают.

Последний раз редактировалось Logger; 29.12.2014 в 12:42.
За это сообщение автора поблагодарили: mazzy (2), demoded (2).
Старый 06.04.2015, 10:45   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,875 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Вот еще из той же серии
http://habrahabr.ru/post/254569/
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Встреча в Москве 1 июня 2012 года, в кафе Сандал, в 18-30 George Nordic Курилка 23 07.06.2013 18:51
RPG в Excel Player1 Курилка 6 27.03.2013 16:22
Массовое изменение года в ячейках Excel glavny Курилка 10 27.01.2010 13:05
05.07.06 с 9:30 до 12:00 на форуме были проблемы mazzy Информация для участников 2 05.07.2006 16:56
Получение в Excel полного списка пользователей AxForum Gustav Детская 2 20.06.2006 16:29

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:39.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.