Приветствую! Кто-нибудь игрался с сабжем? Интересная штука. Давно косился на него, но как-то не хватало времени сесть вплотную. Думаю, может понравиться тем, кто любит кодить и на асме, и на перле Для тех, кто не в курсе, что за зверь: PASM — Parrot assembly language, язык для низкоуровневого доступа к виртуальной машине попугая. Из аналогов есть jasmin, который для Java VM, но тот, я бы сказал, слишком примитивен. Что мы имеем:<ul type=disc> <li>приятный синтаксис <li>мощную VM (a virtual super CISC machine) <li>полное распоряжение 4мя типами наборов регистров по 32 в каждом: для манипуляций с натуральными числами, числами с плавающей запятой, строками и объектами <li>семь (!) стеков для использования регистрами и для других функций <li>более 1300 инструкций для "процессора" попугая (но мнемоник, конечно, меньше, т.к. они по-разному кодируются в зависимости от типа операндов) <li>возможность работы с объектами, их методами, свойствами и т.п. и самое приятное: <li>возможность работы с динамически загружаемыми библиотеками. </ul> Ну и многое другое, а по сути всё то, что может parrot и даже больше. Вот для примера код программы, работающей по типу echo: Код (Text): getstdin P0 # получаем STDIN getstdout P1 # получаем STDOUT REDO: readline S0, P0 # читаем строку в регистр S0, используя "высокоуровневую" функцию readline print S0 # печатаем строку if S0, REDO # если регистр не пуст, топаем на REDO end Вот, синтаксис может отдавать излишней высокоуровневостью, но никто не запрещает спуститься "пониже": использовать бранчи и т.п. В аттаче моя "проба пера": программа, выводящая MessageBox, используя функции Win32. 1561619871__win32demo.pasm