←На заглавную страницу проекта Д
§ 1. Введение
Когда я извещал остальных о новом выпуске языка Д (это была модификация LS-Д), то в глазах некоторых я увидел горечь и упрек. “Оказывается”, — говорили мне — “ты написал его на языке ассемблера, а ведь он не портируем”. Я подумал и решил, что они не одиноки в своих заблуждениях, поэтому и решил написать эту статью. Ведь если заблуждения не раскрывать и не показывать правильных ход мысли, они будут расти, на их основе создадутся новые и так далее. А такой исход — плохо.
§ 2. Возможно ли портировать
Ключевой момент: выяснить базис. Теоретическое обоснование данного тезиса очень пространно да и не нужно, порэтому ограничимся простыми, проясняющими суть, эмпирическими примерами.
Базис языка ассемблера — арифметические инструкции и работа с памятью. Поэтому он поритруем на любые машины, где сть эти два аппарата.
А вот базис языка Д например, вообще русский язык, поэтому программы на Д можно портировать не только на персноальные ПК, но и в саму реальную жизнь (например на армейский язык программирования).
§ 3. Как портировать
Есть несколько способов:
mov eax, [value_a] mov ebx, [value_b] xor eax, ebx mov [value_c], eaxПреобразуем её код на русский язык
Выполнить с переменными value_a и value_b операцию исключающее-или и поместить результат в переменную value_c.Получившийся код нерудно реализовать на чем угодно.
§ 4. Вывод
Высказывания о непортируемости не соответствуют действительности, впрочем как и любые другие абсолютистские.
)c( 23:05 05.08.2006, okante