Интернет магазин китайских планшетных компьютеров |
||||
Компьютеры - Malbolge - Hello world09 мая 2011Оглавление: 1. Malbolge 2. Hello world 3. Примеры Эта программа на Malbolge отображает «Hello, world.»: M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< Виртуальная машинаMalbolge это машинный язык для виртуальной машины, работающей в троичной системе счисления. РегистрыВ виртуальной машине Malbolge есть три регистра: a, c и d. Регистр c – регистр кода, используемый в качестве указателя на текущую команду. Регистр d – регистр данных, используемый для управления данными. Регистр a – аккумулятор, также используемый некоторыми командами для манипуляции данными. При запуске программы все регистры равны нулю. ПамятьРазмер памяти виртуальной машины 59049 ячеек с числами из 10 троичных цифр. Все ячейки с адресами от 0 до 59048 имеют значения от 0 до 59048. Все изменения происходят по модулю 59049. При запуске программы начало памяти заполняется ASCII-кодами символов её исходного текста. Символы пустого пространства игнорируются, а остальные символы должны быть командами Malbolge. Остаток памяти заполняется с использованием операции crazy: = crz,. КомандыВ Malbolge есть 8 команд. Виртуальная машина определяет, какую команду выполнять, следующим образом: к значению ячейки с адресом c прибавляется значение c, а в качестве команды выступает остаток от деления этого числа на 94. Таблица действий интерпретатора:
После выполнения каждой инструкции она шифруется операцией Crazy. После этого значения c и d увеличиваются на 1 и выполнение продолжается со следующей инструкции. Операция crazyОперация является аналогом побитовых операций она применяется к двум соответствующим цифрам.
ШифрованиеПосле того, как очередная инструкция выполнена, инструкция шифруется с помощью следующей таблицы перевода: !"#$%&'*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~ 5z]&gqtyfr$H-Zn,[%\3dL+Q;>U!pJS72FhOA1CB6v^=I_0/8|jsb9m<.TVac`uY*MK'X~xDl}REokN:#?G"i@ то есть ! становится 5 и т. д. Просмотров: 2758
|