Обновить

Комментарии 10

В устройствах Commodore PET этот вариант был известен как BASIC V2. Код содержит 6 955 строк на ассемблере. Именно он опубликован на GitHub

...
REALIO=4
...
IFE	REALIO-4,<DT"APPLE BASIC V1.1">
...

А вообще, любопытная штука, в том плане, что в одном ассемблерном исходнике прошиты условия для того, чтобы он работал на пяти разных физических машинах и на одном эмуляторе.

А ещё там полный набор операторов BASIC, поддержка массивов, работа со строками, арифметика с плавающей запятой, ввод-вывод и многое другое.

А ещё там полный набор операторов BASIC

Ну, в исходниках интерпретатора BASIC это хотя бы не сюрприз :)

Трюк, применённый в макросах SKIP1 и SKIP2, в своё время произвёл на меня очень глубокое впечатление. Это коды двухбайтовой и трёхбайтовой команд соответственно, которые предназначены для того, чтобы проигнорировать следующие за ними однобайтовую или двухбайтовую команду, которая в таком случае становится адресной частью некой фиктивной инструкции. Это позволяет сэкономить 1 байт по сравнению с использованием команды перехода.

Вообще-то этот код Бейсика (дизассемблированный) в то время программисты учили чуть ли не наизусть, так как он был прошит в ПЗУ и его части можно было использовать в своих программах, экономя память. Памяти было в 8-разрядных компьютерах очень мало, а код коммерческого качества можно было писать только на ассемблере.

У меня до сих пор лежат распечатки дизассемблера этого кода, исписанные моими примечаниями.

Тогда Майкрософт (в лице очень конкретных персоналий) умел писать код, причем не брезговал его не только продавать, но и - улучшать!

А что опубликовали - молодцы! Лучше поздно (потому что желающие, как правильно было замечено, уже изучили его вдоль и поперёк), но хотя бы официально открыли, так что его спокойно в образовательных целях можно использовать.

Иногда задумываюсь, во что бы превратился ит-ланшафт сегодня, умудрить тогдашние инженеры в крохотные килобайты ПЗУ запихнуть какой-нибудь Пайтон. Или, наоборот, останься мы все тогда на Форте, который шёл в одну из версий БК-0010 )

Ландшафт остался бы примерно таким же. Компаниям нужен готовый продукт, как можно быстрее и, как можно дешевле. Так что, в конечном итоге, появились бы языки аналогичные Pascal, Python, Java etc...

Форт на БК встречал только в виде подключаемого картриджа.

Дата коммитов -- 27 июля 1978.

The source code includes detailed revision history showing active development:

  • July 27, 1978: Fixed critical bugs in FOR loop variable handling and statement parsing

  • July 1, 1978: Memory optimization and garbage collection improvements

  • March 9, 1978: Enhanced string function capabilities

  • February 25, 1978: Input flag corrections and numeric precision improvements

  • February 11, 1978: Reserved word parsing enhancements

  • January 24, 1978: User-defined function improvements

Тоже удивлён. GW-BASIC ранний для x86 выложили, теперь и Бейсик для 6502 выложили, а с Altair Basic - тянут и тянут.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости