AtH's blog

Коренное ускорение компиляции программ на входных языках ПМК

МК-161 бросил серьёзный вызов тем, кто считает себя хорошими программистами на языке советских ПМК. Классическая клавиатура, улучшенный индикатор — но быстродействия едва-едва хватает на улучшенный входной язык. Который запрограммировать вполне реально, как показал опыт Каллисто Классик.

Наткнулся на мартовское видео, как мужик собирает планшет на основе Raspberry Pi. Видео не только про закупку комплектухи, но и разработка-сборка печатных плат, печать корпуса на 3D-принтере и т.п.

К сожалению, видео доступно только на Фейсбук и вряд ли получится сюда встроить фрэймом:
https://www.facebook.com/watch/?v=576441379501953

Вполне возможно, что их нет. Но почему бы не проверить? Давайте посмотрим, какие номера регистров отсутствуют в документации.

Область 1: Графический экран
R9017
R9018
R9019

Область 2: Функции реального времени
R9054

Область 3: Электронный блокнот
R9066
R9067
R9068
R9069

Область 4: Параллельный порт
R9096
R9097
R9098
R9099

Область 5: Работа с двоичными числами
R9104
R9105
R9106
R9107
R9108
R9109

Метки публикаций: 

eForth 5.2

Исходный eForth 5.2, который я портировал на МК-161, теперь доступен для скачивания всем. Работает он под Windows, документация на английском языке:
http://forth.org/OffeteStore/2171-86eforth502.zip

Страничка по eForth с ссылками — реализации и документация:
http://forth.org/OffeteStore/OffeteStore.html

Ссылка на новость 2012 года, статья на английском языке:
https://hackaday.com/2012/01/19/doom-for-your-calculator-gets-a-color-up...

Программируя «Электронику МК-61» и «Электронику Б3-34», мы использовали ряд трюков, позволяющих «ужимать» программы, втискивая их в крошечную память советских ПМК. Одним из них было использование косвенной адресации для увеличения или уменьшения содержимого регистра. Это очень удобно, как ++ и -- в Си и подобных Си языках.

Новые ПМК

В 1822 году Бэббидж опубликовал статью с описанием такой машины, а вскоре приступил к её практическому созданию. Как математику, Бэббиджу был известен метод аппроксимации функций многочленами и вычислением конечных разностей. С целью автоматизации этого процесса он начал проектировать машину, которая так и называлась — ра́зностная. Эта машина должна была уметь вычислять значения многочленов до шестой степени с точностью до 18-го знака.

Баг в компиляторе СЕМИКО

Update. На сайте написали, что «ошибка .NUMT» исправлена в MKL2MKP v0.34 (23.03.19). Подтверждаю. MK.EXE пока без изменений.

Потратил сутки на выслеживание бага и отлов «чудовища» в его первозданном виде. Баг оказался не в моём творчестве, а в фирменном компиляторе, выложенном на официальном сайте НПП «СЕМИКО». Он присутствует как в MK.EXE 1.28 (последняя версия), так и MKL2MKP 0.32 (версию 0.33 не компилировал и не проверял).

Метки публикаций: 

Иностранная литература

Оказывается, на Амазоне выложена неплохая англоязычная полочка книг по Форту (англ.). На русском литература по Форту давно не издавались (что было, скупил и использую), а здесь издания 2014-18 годов. Среди них, конечно, есть очень древние тексты (что-то из них можно нагуглить бесплатно) — но в последней версии, обновлённые и отредактированные. Автор, кстати, увлекается дзэн-буддизмом и неплохо о нём пишет.

IU9ForthDebugger
https://github.com/bmstu-iu9/utp2017-3-forth

Семь студентов Бауманки кафедры ИУ-9 «Теоретическая информатика и компьютерные технологии» разработали «видоизменённое ограниченное подмножество языка Forth». Их язык был опубликован, когда Каллисто уже больше года существовала в виде «кандидата в релиз», но до выпуска Каллисто 1.0

Интереснее всего, что разработка московского технического университета также использует основной стек данных с «плавучкой», а не целочисленный, как это принято в Форте.

Pages