Разработано | Стив Лейнингер |
---|---|
Впервые появился | 1977 г. |
Под влиянием | |
Tiny BASIC , Пало-Альто Tiny BASIC | |
Под влиянием | |
TRS-80 Уровень II BASIC |
Уровень I BASIC - это диалект языка программирования BASIC, который поставлялся с первым TRS-80 , TRS-80 Model I.
Фон [ править ]
Сотрудник Tandy Стив Лейнингер написал первый проект интерпретатора BASIC NIBL (National Industrial Basic Language) для SC / MP , работая в National Semiconductor . [1] Не имея возможности взять с собой этот исходный код, он сначала нанял консультанта для написания интерпретатора . Когда этот подрядчик не смог выполнить поставку, [2] он адаптировал общедоступную версию Tiny BASIC Ли-Чен Вана для первоначального прототипа TRS-80 Model I. Это потребовало всего 2 КБ памяти для интерпретатора., оставляя в среднем еще 2 КБ для пользовательских программ в общих схемах памяти 4 КБ на ранних машинах.
Во время демонстрации руководству тогдашний президент Tandy Corporation Чарльз Тэнди попытался указать свою зарплату, но не смог. Это произошло потому, что Tiny BASIC использовал 2-байтовые целые числа со знаком с максимальным значением 32 767. Результатом стал запрос на вычисления с плавающей запятой для производственной версии. [3]
Это привело к замене существующего 16-разрядного целочисленного кода версией, использующей 32-разрядные числа с плавающей запятой одинарной точности . Leininger дополнительно расширил язык для поддержки процедур ввода-вывода (клавиатура, CRT, а также чтение и запись с кассет). Язык умещается в пределах 4 КБ ПЗУ . [4]
В презентации, анонсирующей TRS-80, Лейнингер сказал: «То, что мы сделали, мы прошли через Wang Basic и полностью удалили около 60 процентов его, целочисленные накладные расходы и все такое». [5]
Дальнейшее развитие [ править ]
Когда был представлен TRS-80, были анонсированы три версии BASIC:
- Уровень I BASIC
- Уровень II BASIC - разработанный Microsoft и с помощью 12Кб ПЗУ для добавления обработки строк , обработки ошибок , тригонометрические и другие специальные функции
- Уровень III BASIC - также разработан Microsoft, предлагает дисковые команды [6]
Язык уровня I не был доступен для TRS-80 Model II, но на короткое время вновь появился в качестве базового пакета для TRS-80 Model III в 1981 году, продав его за 699 долларов по сравнению с системой за 999 долларов с Model III BASIC (еще один продукт Microsoft). . Язык был идентичен версии Model I, но с добавлением команд для вывода на принтер. [7]
Особенности языка [ править ]
Уровень I BASIC поддерживает следующие ключевые слова: [8]
- Команды:
NEW
,RUN
,LIST
,CONT
(продолжить или возобновить программу с точки останова ) - Заявления:
PRINT
,INPUT
,READ
,DATA
,RESTORE
,LET
- Состав:
GOTO
,GOSUB
,ON-GOTO
,ON-GOSUB
,RETURN
,IF-THEN
(но неELSE
),FOR-TO-STEP/NEXT
,STOP
,END
- Графика:
CLS
,SET
,RESET
,POINT()
- Функции:
ABS()
,INT()
,RND()
,MEM
- Математика: + - * /
- Операторы отношения: <> = <= => <>
- Логические операторы: * [И] + [ИЛИ]
Как и Palo Alto Tiny BASIC, на котором он был основан, Level I BASIC не токенизировал ключевые слова, такие как Microsoft BASIC, но использовал сокращения для уменьшения объема памяти, используемой ключевыми словами, такими как F.
for FOR
, G.
for GOTO
, P.
for PRINT
и T.
for THEN
.
Язык поддерживает 26 переменных одинарной точности от A до Z, две строки A $ и B $ (каждая из которых ограничена 16 символами) и один заранее определенный массив A (). В языке отсутствовал оператор DIM для измерения массива, размер которого определялся доступной памятью, не используемой листингом программы (4 байта на элемент). [9] Так как в языке отсутствовало много общих математических функций, в руководстве были представлены списки подпрограмм для вычисления квадратного корня , возведения в степень , экспонент , логарифмов , арифметических знаков и функций тригонометрии . [10]
Поддержка графики была максимально минимальной:, CLS
для CLear Screen; SET(X,Y)
, который высветил место на дисплее; RESET(X,Y)
, который выключил его; и POINT(X,Y)
, который возвратил 1, если место было освещено, 0, если это не было. Координаты может быть любое выражение , и в диапазоне от 0 до 127 для X-оси и от 0 до 47 для Y-оси . Поддерживался только черно-белый дисплей. [11]
Ссылки [ править ]
- ^ "НИБЛ". Журнал доктора Добба по компьютерной гимнастике и ортодонтии, «Бегущий свет без избыточного байта» . 1 (10). Ноябрь 1976 г.
- ^ Лоренцо, Марк (2017). Бесконечный цикл: история языка программирования BASIC . Филадельфия: SE Books. п. 80. ISBN 978-1974-27707-0.
- ↑ Валлийский, Дэвид; Валлийский, Тереза (2007). Заправка насоса: как энтузиасты TRS-80 помогли спровоцировать революцию в области ПК . п. 7.
- ^ Рид, Мэтью. «Уровень I БАЗОВЫЙ» . TRS-80.org . Проверено 27 августа 2017 года .
- ^ "Интервью со Стивеном В. Лейнингером" . TRS-80.com . Проверено 28 августа 2017 года .
- ↑ Томас, Уэс (сентябрь – октябрь 1977 г.). "Домашний компьютер Radio Shack за 600 долларов" . Творческие вычисления . 3 (5): 94–95.
- ^ Рид, Мэтью. "Была ли модель III уровня I?" . TRS-80.org . Проверено 27 августа 2017 года .
- ^ Льен, Дэвид (1977). Руководство пользователя для Уровня I (Первое изд.). Форт-Уэрт, Техас: Корпорация Тэнди. С. 232–233 . Дата обращения 2 ноября 2017 .
- ^ Льен, Дэвид (1977). Руководство пользователя для Уровня I (Первое изд.). Форт-Уэрт, Техас: Корпорация Тэнди. С. 123–132 . Дата обращения 2 ноября 2017 .
- ^ Льен, Дэвид (1977). Руководство пользователя для Уровня I (Первое изд.). Форт-Уэрт, Техас: Корпорация Тэнди. С. 216–220 . Дата обращения 2 ноября 2017 .
- ^ Льен, Дэвид (1977). Руководство пользователя для Уровня I (Первое изд.). Форт-Уэрт, Техас: Корпорация Тэнди. С. 105–108, 137 . Дата обращения 9 августа 2020 .
Внешние ссылки [ править ]
- Базовый симулятор TRS-80 Level I
- Conklin Systems - Он изменил наш мир - дань уважения к персонализации компьютера в руководстве пользователя Level I BASIC