Втиснуть Бейсик в 768 байт

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!


Тем, кому посчастливилось написать свою первую программу на Бейсике в конце восьмидесятых, объём интерпретатора в 16 килобайт кажется вполне естественным. Так было не всегда, известны интерпретаторы объёмом в 8 и 4 килобайта, конечно, с более скромным набором функций. Но в этот раз сделано, казалось бы, невозможное — интерпретатор ужат до 722 байт. Это меньше, чем 768, а значит, его получится поместить не в четыре, а в три микросхемы ПЗУ по 256 байт. Да, были и такие!

А 768 байт — это, между прочим, в 21,(3) раза меньше, чем 16384.

Интерпретатор написан для малопопулярного среди ретрокомпьютерщиков процессора 8008. Для него уже есть интерпретатор Бейсика — SCELBAL, но он 8-килобайтный. Система команд 8008 напоминает систему команд 8080 без половины инструкций. Или систему команд Z80 без 90% инструкций.

Первая версия интерпретатора, в которой уже имелись слова GOTO, INPUT, PRINT, а также был предусмотрен стандартный для интерпретаторов Бейсика способ редактирования программы, заняла 570 байт. Затем список слов был расширен до следующего: FETCH, GOTO, IF, LET, NEW, OUT, PRINT, STOP, VIEW и XECUTE.

Некоторые из них покажутся вам странными. А всё дело в том, что данный интерпретатор распознаёт слова по первой букве. Поэтому INPUT пришлось превратить в FETCH, LIST — в VIEW, а RUN — в XECUTE. А GOSUB и RETURN не предусматривать вообще — тогда бы пришлось выйти за пределы запланированного объёма.

Автор понимает пользователей портативного компьютера MCM/70, также выполненного на 8008, оборудованного двухкассетником и программируемого на языке APL с его однобуквенными командами.

Проект вместе с эмулятором доступен здесь под лицензией MIT. Реального железа на 8008 у автора нет. Также можно скачать ассемблерный исходник и результат компиляции с комментариями отдельно.

Самый простой способ собрать весь проект с GitHub — воспользоваться NETBEANS 8.2, также потребуется SDL2. Для сборки ассемблера необходим макроассемблер AS.
Источник: https://habr.com/ru/post/450632/


Интересные статьи

Интересные статьи

VUE.JS - это javascript фрэймворк, с версии 18.5 его добавили в ядро битрикса, поэтому можно его использовать из коробки.
Очень приятно осуществлять свои желания, особенно из далёкого прошлого, такого далёкого что уже и забыл что этого когда-то хотел. Я мало знаю о демосцене и уж точно никогда не следил ни за автора...
Довольно часто владельцы сайтов просят поставить на свои проекты индикаторы курсов валют и их динамику. Можно воспользоваться готовыми информерами, но они не всегда позволяют должным образом настроить...
Автокэширование в 1с-Битрикс — хорошо развитая и довольно сложная система, позволяющая в разы уменьшить число обращений к базе данных и ускорить выполнение страниц.
В «1С-Битрикс» считают: современный интернет-магазин должен быть визуально привлекательным, адаптированным для просмотра с мобильных устройств и максимально персонализированным с помощью технологии Бо...