Уровень I БАЗОВЫЙ
Разработано | Стив Лейнингер |
---|---|
Впервые появился | 1977 |
Под влиянием | |
Крошечный БЕЙСИК , Пало-Альто Крошечный БЕЙСИК | |
Под влиянием | |
TRS-80 Уровень II БАЗОВЫЙ |
BASIC уровня I — это диалект языка программирования BASIC , который поставлялся с первым TRS-80 , TRS-80 Model I.
Фон
[ редактировать ]Сотрудник Tandy Стив Лейнингер написал первый проект NIBL (National Industrial Basic Language) интерпретатора BASIC для 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-битные одинарной точности числа с плавающей запятой . Лейнингер дополнительно расширил язык, включив в него поддержку процедур ввода/вывода (клавиатура, ЭЛТ, а также чтение и запись с кассет). Язык умещался в пределах 4 КБ ПЗУ . [4]
В презентации, анонсирующей TRS-80, Лейнингер сказал: «Что мы сделали, мы вернулись к Wang Basic и полностью удалили около 60 процентов его, целочисленные накладные расходы и все такое». [5]
Дальнейшее развитие
[ редактировать ]Когда был представлен TRS-80, были анонсированы три версии BASIC:
- Уровень I БАЗОВЫЙ
- Уровень 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, но с добавлением двух команд, LLIST и LPRINT, для вывода на принтер. [7]
Особенности языка
[ редактировать ]Уровень I BASIC поддерживал следующие ключевые слова: [8]
- Команды:
NEW
,RUN
,LIST
,CONT
(чтобы продолжить или возобновить программу с точки останова ) - Заявления:
PRINT
,INPUT
,READ
,DATA
,RESTORE
,LET
- Модификаторы печати:
AT
,TAB
- Структура:
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, на котором он был основан, BASIC уровня I не маркировал ключевые слова, как Microsoft BASIC, но использовал сокращения для уменьшения объема памяти, используемой ключевыми словами, например: F.
для FOR
, G.
для GOTO
, P.
для PRINT
, и T.
для THEN
.
Язык поддерживал 26 переменных одинарной точности от A до Z, две строки A$ и B$ (каждая из которых ограничена 16 символами) и один предопределенный массив A(). В языке отсутствовал оператор DIM для определения размеров массива, размер которого определялся доступной памятью, не используемой листингом программы (4 байта на элемент). [9] Поскольку в языке отсутствовало множество общих математических функций, в руководстве были представлены подпрограмм списки для функций квадратного корня , возведения в степень , экспоненты , логарифмов , арифметических знаков и тригонометрических функций. [10]
Графическая поддержка была максимально минимальной: CLS
, для четкого экрана; SET(X,Y)
, который подсветил место на дисплее; RESET(X,Y)
, который отключил его; и POINT(X,Y)
, который возвращал 1, если локация была освещена, и 0, если нет. Координаты могут быть любым выражением и находиться в диапазоне от 0 до 127 для оси X и от 0 до 47 для Y. оси Поддерживался только черно-белый дисплей. [11]
Ссылки
[ редактировать ]- ^ «НИБЛ». Журнал доктора Добба по компьютерной гимнастике и ортодонтии, Бегущий свет без лишнего байта . 1 (10). Ноябрь 1976 года.
- ^ Лоренцо, Марк (2017). Бесконечный цикл: история языка программирования BASIC . Филадельфия: Книги SE. п. 80. ИСБН 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 (Первое изд.). Форт-Уэрт, Техас: Tandy Corporation. стр. 232–233 . Проверено 2 ноября 2017 г.
- ^ Лиен, Дэвид (1977). Руководство пользователя для уровня I (Первое изд.). Форт-Уэрт, Техас: Tandy Corporation. стр. 123–132 . Проверено 2 ноября 2017 г.
- ^ Лиен, Дэвид (1977). Руководство пользователя для уровня I (Первое изд.). Форт-Уэрт, Техас: Tandy Corporation. стр. 216–220 . Проверено 2 ноября 2017 г.
- ^ Лиен, Дэвид (1977). Руководство пользователя для уровня I (Первое изд.). Форт-Уэрт, Техас: Tandy Corporation. стр. 105–108, 137 . Проверено 9 августа 2020 г.
Внешние ссылки
[ редактировать ]- Базовый симулятор TRS-80 уровня I
- Conklin Systems - He Changed Our World - дань уважения персонификации компьютера в руководстве пользователя Level I BASIC.