Jump to content

Бентон-Харбор БЕЙСИК

Бентон-Харбор БЕЙСИК
Семья БАЗОВЫЙ
Разработано Гордон Летвин
Разработчик Винтек, Хиткит
Впервые появился 1978 год ; 46 лет назад ( 1978 )
Платформа Хиткит H8
ТЫ HDOS
Лицензия Коммерческое проприетарное программное обеспечение
Под влиянием
Дартмут БЕЙСИК

Benton Harbour BASIC и Extended Benton Harbour BASIC — две версии языка программирования BASIC, написанные Heathkit для своих H8 микрокомпьютеров . BASIC были созданы по образцу Dartmouth BASIC и, таким образом, в некоторых отношениях отличаются от многих клонов Microsoft BASIC конца 1970-х годов. Они отличаются друг от друга тем, что первый мог работать на машинах с объемом основной памяти всего 8 КБ и поддерживал только строковые константы, тогда как расширенный требовал 12 КБ и добавлял строковые переменные и дополнительные функции. Он назван в честь города, где находился Хиткит. [1]

Heathkit следил за развивающейся областью микрокомпьютеров с 1974 года, но в то время они не могли понять, для чего какой-либо из традиционных клиентов Heath будет использовать их. Отношение изменилось, когда в январе 1975 года MITS представила комплект Altair 8800 , который стал бестселлером. Heathkit начал программу по разработке собственного комплекта, который намного превосходил бы Altair. [2] который, как известно, имел низкую надежность из-за ряда конструктивных решений. [а] Идея создания компьютера оставалась горячей темой в компании, но начала развиваться после того, как один инженер заявил: «Хорошо, мы создадим компьютер. Но мы не собираемся заниматься программным обеспечением!» [2]

Идея не заниматься программным обеспечением быстро оказалась плохой. Хотя новая конструкция в значительной степени представляла собой переработанную конструкцию «Альтаира» или конструкции автобуса S-100 , как они были известны к тому времени, она отличалась настолько, что программное обеспечение для «Альтаира» не могло работать без преобразования. В результате потенциальному владельцу будет мало или вообще нечего делать со своим компьютером. [3] Было принято решение продавать системы хотя бы с некоторыми фундаментальными программами, но ни у кого в компании не было опыта работы с программным обеспечением. [3]

Компания связалась с Wintek из Лафайета, штат Индиана, с просьбой написать набор программ для системы. Wintek отправила одного из своих программистов, Гордона Летвина , в штаб-квартиру Heath в Бентон-Харборе, штат Мичиган, для встречи с ними. Руководитель проекта в Хите Луи Френцель рассказал, что однажды Летвин приехал на деловую встречу с длинными волосами, в высоких кроссовках и бархатном пальто. Несмотря на свое удивление появлением Летвина, Френцель быстро понял, что Летвин знает, что делает, и решил нанять его напрямую. [3]

Первым проектом Летвина была HDOS , операционная система для платформы. Завершив это, он начал работу над BASIC. Первые версии были чрезвычайно простыми, поддерживали только самые базовые функции, имели точность до 6 цифр, не имели манипуляций со строками. [3] и позволяет использовать только один оператор в строке. [4] Эта версия поставляется со всеми системами H8. За 10 долларов пользователь также мог приобрести Extended BASIC, начиная с версии 10, в которой были добавлены строковые переменные и различные дополнительные функции. [5]

Система не получила особенно хороших обзоров. В одном обзоре он был назван «средним качеством» и выразил обеспокоенность по поводу того, насколько он медленный: примерно в 10 раз медленнее, чем North Star BASIC . [6] Кроме того, несмотря на заявления Хита о том, что Extended обеспечивает улучшенную производительность, тестирование, проведенное одним пользователем, показало, что большинство операций были либо идентичными по скорости, либо немного медленнее, за исключением некоторых математических функций, таких как квадратный корень. [7]

Описание

[ редактировать ]

Редактирование программы

[ редактировать ]

Как и большинство BASICов той эпохи, систему можно было использовать либо в интерактивном, либо в программном режиме, или, как это было известно в то время, в немедленном режиме и в отложенном режиме. Хит называет их командным режимом и программным режимом. Операторы, введенные без номера строки в командном режиме, выполнялись немедленно. Те, у которых номер был впереди, помещались в соответствующее место в памяти программы, возможно, заменяя существующую строку тем же номером. В отличие от более поздних версий домашнего компьютера , H8 не предполагал какого-либо дисплея с адресацией курсора, поэтому редактирование кода приходилось выполнять путем повторного ввода всей строки с места. * быстрый. [8] Номера строк могут находиться в диапазоне от 1 до 65 535. [9] и любая отдельная строка может содержать до 80 символов в базовой версии и 100 в расширенной. [8]

Одной из продвинутых особенностей системы было то, что она предлагала систему автозаполнения . При вводе исходной команды, как только она будет однозначно идентифицирована, система немедленно вставит все слово. [10] Хотя некоторые другие диалекты, такие как Sinclair BASIC, предлагали аналогичные функции, они делали это с использованием специальных нажатий клавиш или символов, которые выполняли замену.

Заявления и команды

[ редактировать ]

Операторы были разделены на группы: те, которые можно было использовать только в командном режиме и, следовательно, известные как команды, и те, которые можно было использовать в командном или программном режиме. Среди тех, которые можно было использовать только в командном режиме, были: RUN, CONTINUE если оно было приостановлено, и SCRATCH а не более распространенный NEW стереть программу — (SCRATCH использовался в ряде современных BASICов). Программы были сохранены с помощью DUMP вместо SAVE, но загружен с использованием LOAD. Файлы имели длинные имена и могли быть VERIFY после ДАМПА. [11]

Операторы, которые можно было использовать в командном или программном режиме, составляли большую часть языка. Среди них были общие IF...THEN и эквивалент IF...GOTO видел в нескольких других системах, FOR...NEXT...STEP, DIM для 1 или 2 измерений, GOSUB...RETURN, GOTO с возможностью использования переменных, а также констант номеров строк, необязательный LET, LIST который может перечислять только одну строку или всю программу, ON...GOTO и ON...GOSUB вычисляемые ветки , PEEK и POKE, PRINT, READ...DATA и RESTORE. Отсутствовал ряд утверждений, встречавшихся на большинстве диалектов той эпохи, в том числе STOP, END, DEF FN и REM. INPUT поддерживался с одним дополнительным приглашением, и если приглашение присутствовало, то вопросительный знак, который обычно появлялся, был подавлен. Это также может быть вызвано, если не вводить строку подсказки, а просто использовать точку с запятой. [12] Дополнением стало PAUSE команда, встречающаяся на некоторых диалектах, которая останавливает выполнение до тех пор, пока не будет нажата клавиша. [13]

Математические операторы были стандартными; +, -, *, / и ^. Логические операторы также были стандартными; =, <, >, <=, >= и <>. [14] Включены логические операторы NOT, AND и OR. [15]

Функции также были в основном стандартными, в том числе ABS, ATN, ABS, COS, EXP, INT это было усечение, а не пол, как в большинстве версий, LOG, POS который вернул позицию курсора, RND, SGN, SIN, SQR, SPC которые выводят несколько пробельных символов и TAB перейти к определенному столбцу, FRE распечатать объем свободной памяти и USR для вызова подпрограмм языка ассемблера . [16] Случайные числа основывались на сериях; RND(0) вернет последнее число без перехода вперед в серии, RND(-1) повторно заполняется, и любое положительное значение параметра возвращает следующее значение в серии. [17]

Также существовал ряд дополнительных функций и команд специального назначения, в том числе PAD который возвращает значение клавиши, удерживаемой на клавиатуре передней панели , и SEG который преобразовывал значение ключа из PAD в цифру, которую затем можно было вывести на 7-сегментный дисплей. [18] [19] Как и Altair BASIC , Benton Harbour также включал в себя OUT оператор для записи значения в номер порта, поскольку Intel 8080 использовал пронумерованные порты ввода-вывода. [19]

Переменные могли иметь один символ или один символ и одну цифру — имена с двумя буквами не допускались. [20]

Расширенный БЕЙСИК

[ редактировать ]

Самым заметным дополнением расширенного BASIC стали строковые переменные и ряд функций для работы со строками. Строковые переменные обозначались знаком $, как и в большинстве диалектов, и могли содержать до 256 символов. [20] Строковые функции включены в стандарт CHR$, STR$, LEFT$, RIGHT$, MID$, ASC и VAL. [21] Конкатенация была выполнена с помощью +. [15] Расширенный также поддерживается LINE INPUT которые читают всю строку как одну строку вместо того, чтобы интерпретировать пробелы как разделители между значениями. [22]

Еще одно изменение заключалось в том, что FRE функция заменена командой FREE, который распечатал подробную таблицу, показывающую использование памяти. PAUSE был изменен, чтобы принять необязательное значение, которое позволит выйти из состояния паузы по истечении этого времени. Внутренние часы обновлялись каждую миллисекунду, поэтому это значение измерялось с шагом 2 мс. Новый PORT оператор позволил направить вывод PRINT на другое устройство, что значительно упростило вывод текста, чем использование OUT и циклическое перебор строки. [13]

В Extended также добавлен ряд функций, призванных упростить программирование. Примечательным было добавление второго поля ввода, разделенного запятыми, позволяющего перечислять диапазон строк, например LIST 10,500, также встречается на некоторых других диалектах, таких как Atari BASIC . Другие включены BUILD, который на большинстве диалектов назывался бы AUTO, который включил автоматическую нумерацию строк. Например, BUILD 100,10 приведет к автоматической печати числа «100» после ввода строки, а затем каждая введенная строка будет увеличивать число на 10; 100, 110, 120 и т. д. Это отключалось нажатием control-C. [23] DELETE разрешено удаление диапазона строк, используя тот же формат диапазона, что и LIST. [24]

Еще одним дополнением стало CNTRL команда, которая имела множество настроек, основанных на списке пронумерованных записей. CNTRL 0,500, для «установки нуля» настроит систему так, чтобы она реагировала на нажатия клавиш Control-B, выполняя GOSUB для строки, в данном случае 500. Настройка 1 устанавливает количество цифр, прежде чем она переключится на экспоненциальный формат, 2 управляет обновляет светодиодный дисплей на передней панели, 3 устанавливает ширину «зон печати», которые используются при печати списка, разделенного запятыми (обычно 14 символов), а 4 включает или выключает аппаратные часы. [25] Выключение часов может ускорить работу программ на целых 15%. [26]

Наконец, было добавлено небольшое количество новых математических функций, в том числе MAX и MIN которым был предоставлен список значений, разделенных запятыми, и TAN. [27]

Примечания

[ редактировать ]
  1. ^ Подробное обсуждение некоторых из этих вопросов первоначальными разработчиками см. на странице терминирования шины S-100 и устаревшей поддержки .

Библиография

[ редактировать ]
  • «Бентон-Харбор BASIC и расширенный BASIC» (PDF) . Справочное руководство по программному обеспечению операционной системы Heath Disk (PDF) . Хит. 1980.
  • Подушка, Пол (март 1979 г.). «Сборка компьютера Heath H8» (PDF) . Байт . стр. 12–13, 124–140.
  • Мур, Мартин (апрель 1981 г.). «Строительство H-89. Часть 2» . Килободные микрокомпьютеры . стр. 116–125.
  • Циммерман, Фредрик (осень 1982 г.). «Пятая годовщина H8: истоки и перспективы» . Секстант .
  • Сурден, Эстер (4 июля 1977 г.). «Хит видит будущие доходы от DP» . Компьютерный мир .

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5b53152695de9464ebe0e7e49ddfbeda__1699499040
URL1:https://arc.ask3.ru/arc/aa/5b/da/5b53152695de9464ebe0e7e49ddfbeda.html
Заголовок, (Title) документа по адресу, URL1:
Benton Harbor BASIC - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)