Уровень I BASIC

редактировать
Уровень I BASIC
Разработан Steve Leininger
Впервые появился1977
Под влиянием
Tiny BASIC, Palo Alto Tiny BASIC
Под влиянием
TRS-80 Level II BASIC

Level I BASIC является диалектом Язык программирования BASIC, который поставлялся с первым TRS-80, TRS-80 Model I.

Содержание

  • 1 Предпосылки
  • 2 Дальнейшие разработки
  • 3 Возможности языка
  • 4 Ссылки
  • 5 Внешние ссылки

Предыстория

Сотрудник Tandy Стив Лейнингер написал первый черновик NIBL ​​(Национальный промышленный базовый язык) интерпретатор BASIC для SC / MP при работе в National Semiconductor. Не имея возможности взять с собой этот исходный код, он сначала нанял консультанта для написания интерпретатора . Когда этот подрядчик не смог выполнить поставку, он адаптировал общедоступную версию Tiny BASIC Ли-Чен Ван для первоначального прототипа TRS-80 Model I. Это потребовало всего 2 КБ. памяти для интерпретатора , оставляя в среднем еще 2 КБ свободными для пользовательских программ в обычных 4-килобайтных схемах памяти ранних машин.

Во время демонстрации руководству, тогдашний президент Tandy Corporation Чарльз Тэнди попытался указать свою зарплату, но не смог. Это произошло потому, что Tiny BASIC использовал 2-байтовые целые числа со знаком с максимальным значением 32 767. Результатом стал запрос математики с плавающей запятой для производственной версии.

Это привело к замене существующего 16-битного целочисленного кода версией, использующей 32-битный одинарной точности числа с плавающей запятой. Leininger дополнительно расширил язык для поддержки процедур ввода-вывода (клавиатура, CRT, а также чтение и запись с кассет). Язык умещается в пределах 4 КБ ROM.

В презентации, анонсирующей TRS-80, Лейнингер сказал: «То, что мы сделали, мы вернулись через Wang Basic и полностью удалили около 60 процентов его, целочисленные накладные расходы и все такое ".

Дальнейшее развитие

Когда был представлен TRS-80, были анонсированы три версии BASIC:

Язык уровня I не был доступен для TRS-80 Model II, но на короткое время вновь появился как базовый пакет для модели TRS-80 III в 1981 году по цене 699 долларов по сравнению с системой за 999 долларов с Model III BASIC (еще один продукт Microsoft). Язык был идентичен версии Model I, но с добавлением команд для вывода на принтер.

Функции языка

Уровень I BASIC поддерживал следующие ключевые слова:

  • Команды: NEW, RUN, LIST, CONT(для продолжения или возобновления программы с точки останова )
  • Операторы: ПЕЧАТЬ, ВВОД, ЧТЕНИЕ, ДАННЫЕ, ВОССТАНОВЛЕНИЕ, 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
  • Math: + - * /
  • Операторы отношения: <>= <= =><>
  • Логические операторы: * [AND] + [OR]

Как Palo Alto Tiny BASIC, на котором он был основан, Уровень I BASIC не токенизировал ключевые слова, такие как Microsoft BASIC, но использовал сокращения, чтобы уменьшить объем памяти, используемый ключевые слова, такие как F.для FOR, G.для GOTO, P.для PRINTи T.для THEN.

Язык поддерживает 26 переменных одинарной точности от A до Z, две строки A $ и B $ (каждая из которых ограничена 16 символами) и один предварительно определенный массив A (). В языке отсутствовал оператор DIM для измерения массива, размер которого определялся доступной памятью, не используемой листингом программы (4 байта на элемент). Поскольку в языке отсутствовало много общих математических функций, в руководстве были представлены списки подпрограмм для квадратного корня, возведения в степень, экспонент, логарифмов. Функции, арифметического знака и тригонометрии.

Графическая поддержка была минимально возможной: CLS, для экрана CLear ; SET (X, Y), который подсвечивает место на дисплее; RESET (X, Y), который выключил его; и POINT (X, Y), который вернул 1, если местоположение было освещено, и 0, если это не так. Координаты могут быть любым выражением в диапазоне от 0 до 127 для оси X и от 0 до 47 для оси Y. Поддерживалось только черно-белое отображение.

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-27 07:13:41
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте