Basic CP/M-80 от Orion Soft 1996 г. Орион-128,  основы программирования, уроки языка

Как научиться владеть языком Basic V2.0 в Орион-128 и Орион-ПРО.

Продаю платы и наборы микросхем, куплю микросхемы Платы и комплектующие на ПК Орион-128

01.04.2023 обновление информации

Е:01.11.96 (С) 1996г. Орионсофт

БЕЙСИК страница 1

Образы диска являются загрузочными работают под CP/M-80 V3.61,  V3.62, V3.63 и выше

Скачать образ диска для Готека в формате *.hfe

Скачать образ в формате *.odi

Это описание BAS1.TXT скачать

Содержание

1. Введение ..
2. Вызов интерпретатора языка бейсик .....
3. Режимы работы интерпретатора языка бейсик.....
4. Компиляция программ на языке бейсик....
4.1 Старт компилятора языка бейсик..
4.2 Старт редактора связей языка бейсик...
5. Директивы языка бейсик...
5.1. Директива NEW ..
5.2 Директива RESET...
5.3 Директива AUTо....
5.4 Директива CLEAR...
5.5 Директива CONT....
5.6 Директива SYSTEM..
5.7 Директива EDIT....
5.8 Директива LIST и LLIST...
5.9 Директива DELETE..
5.10 Директива RENUM...
5.11 Директива SAVE....
5.12 Директива LOAD....
5.13 Директива RUN.....
5.14 Директива MERGE...
5.15 Директива FILES...
5.16 Директива KILL....
5.17 Директива NAME....
5.18 Директивы TRON и TROFF...
6. Константы в языке бейсик.
7. Переменные в языке бейсик
7.1 Обозначения переменных и явные декларации типов......
7.2 Операторы описания DEFINT, DEFSNG, DEFDBL и DEFSTR для имплицитной декларации типа.
7.3 Оператор описания DEFFN для функций....
7.4 Преобразование типов данных.....
7.5 Функции CINT, CDBL и CSNG для вынужденных преобразований типов данных......
8. Символы операций в языке бейсик.
9. Массивы (ARRAY) в языке бейсик..
9.1 Оператор описания DIM для массивов.....
9.2 Оператор OPTION BASE для произвольного задания нижней границы индекса при описании массива...
9.3 Оператор ERASE для стирания областей памяти, занятых массивами.....
10. Операторы цикла в языке бейсик..
10.1 Операторы FOR, TO, STEP и NEXT для образования цикла с фиксированным числом прохождений.....
10.2 Операторы WHILE и WEND для образования цикла с переменным числом прохождений (итерационные циклы) ......
11. Безусловные и условные программные разветвления в языке бейсик.....
11.1 Оператор GOTO для реализации программных переходов (безусловные программные переходы).....
11.2 Операторы IF, THEN и ELSE для реализации ысловных переходов.
11.3 Оператор ON для формулирования перехода на номер из списка..
12. Работа с подпрограммами в языке бейсик.
12.1 Операторы GOSUB и RETURN для обеспечения работы в подпрограммами...
12.2 Оператор CALL для вызова программ в машинном коде с организацией передачи параметров.....
12.3 Функция VARPTR для подготовки адресов памяти..
12.4 Оператор описания DEF USR для условного перехода в пользовательскую машинную программу..
12.5 Оператор CHAIN для построения оверлейных структур в программах на языке бейсик....
12.6 Оператор описания COMMON.
12.7 Оператор %INCLUDE для вставки исходного текста во время компиляции (может использоваться только в бейсик-компиляторе)...
13. Операторы для ввода и вывода на дисплей и печатающее устройство, в канал ввода/вывода или по адресу памяти в языке бейсик....
13.1 Оператор INPUT для загрузки переменных во время выполнения программы...
13.2 Оператор LINE INPUT для ввода любых последовательностей знаков  во время выполнения программы...
13.3 Оператор PRINT для неформатированного вывода информации дисплея....
13.4 Оператор PRINT USING для форматированного вывода информации на дисплей....
13.5 Опрераторы LPRINT и LPRINT USING для неформатированного или  форматированного вывода на печатающее устройство.....
13.6 Оператор WRITE для вывода на дисплей...
13.7 Оператор WIDTH для задания длины выводимой строки ..
13.8 Оператор OUT для физического вывода некоторой величины в канал вывода....
13.9 Оператор POKE для записи заданного байта по заданному адресу памяти......
13.10 Оператор WATE для синхронизации с внешними устройствами....
13.11 Оператор SWAP для перестановки величин двух любых переменных  одинакового типа..
14. Функции для обеспечения ввода/вывода в языке бейсик..
14.1 Функция INKEY$....
14.2 Функция INPUT$....
14.3 Функция INP для физического ввода некоторой величины из канала ввода...
14.4 Функция PEEK для чтения байта из адреса памяти
14.5 Функция SPC
14.6 Функция TAB
14.7 Функция LPOS......
14.8 Функция POS
15. Работа с файлами в языке бейсик.
15.1 Оператор DATA для задания программных констант и данных во внутрипрограммном файле......
15.2 Оператор READ для чтения из внутрипрограммного файла
15.3 Оператор RESTORE для установки индекса внутрипрограммного файла....
15.4 Оператор OPEN для открывания файлов....
15.5 Оператор INPUT# для ввода из последовательных файлов.
15.6 Оператор LINE INPUT# для ввода любых последовательностей знаков из последовательного файла..
15.7 Операторы PRINT# и PRINT# USING для неформатированного и форматированного вывода в последовательный файл ....
15.8 Оператор WRITE для вывода в последовательный файл....
15.9 Оператор GET для передачи блока файла прямого доступа в буферную область
15.10 Оператор PUT для передачи блока из буферной области в файл прямого доступа....
15.11 Оператор FIELD для выделения областей для переменных в буфере файла с прямым доступом..
15.12 Операторы LSET и RSET для записи строк, выровненных по правому или левому краю (в блок текстового файла с прямым доступом).
15.13 Оператор CLOSE для закрытия файлов, открытых с помощью OPEN.
16. Функции для обеспечения работы с файлами в языке бейсик.....
16.1 Функция EOF
16.2 Функция LOF
16.3 Функция LOC
16.4 Функции MKI$, MKS$, и MKD$......
16.5 Функции CVI, CVS и CVD...
17. Работа с последовательностями знаков в языке бейсик..
17.1 Функция CHR$......
17.2 Функция ASC
17.3 Функция STR$......
17.4 Функция VAL
17.5 Функция HEX$......
17.6 Функция OCT$......
17.7 Функция RIGHT$....
17.8 Функция LEFT$.....
17.9 Функция SPACE$....
17.10 Функция STRING$...
17.11 Функция INSTR.....
17.12 Функция MID$ для образования фрагмента последовательности знаков..
17.13 Оператор MID$ для замены фрагмента в последовательности знаков.....
17.14 Функция LEN
18. Числовые стандартные функции в языке бейсик...
18.1 Функция ABS
18.2 Функция FIX
18.3 Функция INT
18.4 Функция SGN
18.5 Функция SQP
18.6 Функция EXP
18.7 Функция LOG
18.8 Функция SIN
18.9 Функция COS
18.10 Функция TAN
18.11 Функция ATN
18.12 Функция RND
18.13 Оператор RANDOMIZE для задания точки старта генератора случайных чисел......
19. Простые управляющие операторы и функции в языке бейсик......
19.1 Оператор LET для идентификации операторов присваивания......
19.2 Оператор REM для идентификации текстов примечаний....
19.3 Оператор END для завершения бейсик-программы..
19.4 Оператор STOP для выработки программного прерывания..
19.5 Функция FRE
20. Реакция на ошибки и обработка ошибок в языке бейсик..
20.1 Оператор ERROR для определения пользовательского кода ошибки и для симуляции ошибки в рамках программного текста....
20.2 Оператор ON ERROR GOTO для успешного перехода в стандартную программу реакции на ошибку.....
20.3 Оператор RESUME для завершения стандартной программы обработки ошибок..
20.4 Переменные ERR и ERL.....

Приложение A: возможности вызова программ в машинных кодах языкA бейсик..
Приложение B: сообщения об ошибках бейсик-интерпретатора.
Приложение C: сообщение об ошибках бейсик-компилятора......
Приложение D: таблица знаков в коде ASCII....
Приложение E: различия между подлежащим интерпретации и подлежащим компиляции диалектами языка бейсик....
Приложение F: контрольные знаки, которые могут быть использованы при обрAботKE бейсик-программ..
Приложение G: зарезервированные идентификаторы в языке бейсик.....

I. Введение

Название языка Бейсик является аббревиатурой от английского BEGINNERS ALL PURPOSE SYMBOLIC INSTRUCTION CODE, что уже само по себе говорит о том,  что этот язык программирования был специально создан для новичков в области программирования. Язык был разработан в 1964 году как диалоговый  язык для обучения студентов основам программирования. Бейсик справился с этой задачей и через 10 лет после создания, не получив особого  международного значения. Лишь развитие микроэлектроники и ее применение в области вычислительной техники и при обработке информации привело к тому,  что язык бейсик получил широкое международное признание и в настоящее время относится к наиболее распространенным языкам программирования во всем мире.

Для такого развития есть в основном три причины:

1. Технология микроэлектроники привела к значительному снижению расходов на производство ЭВМ. Сегодня так называемые персональные ЭВМ, состоящие из клавиатуры (которая в общем входит в состав ЭВМ), дисплея, внешней памяти (накопитель на гибком диске и/или на кассете) и устройства печати могут  стоять практически на каждом письменном столе. Устройства этого типа имеют однако такую же производительность, как традиционные средние эвм . Широкое распространение этих технических вспомогательных средств в области обработки информации делает возможным, прежде всего для самого широкого круга пользователей, личный контакт с ЭВМ. Одновременно возникает необходимость предложить этому кругу пользователей простой язык для начинающих, а именно бейсик, пригодный для введения в программирование.

2. Бейсик является диалоговым языком программирования, пригодным с точки зрения интерпретатора для машинной обработки. Это означает, что отдельный оператор , фрагмент программы или программа полностью сразу пригодны для выполнения. Тем самым возможна разработка программы в режиме диалога с ЭВМ. В ЭВМ вводят один или несколько операторов и можно сразу проверить, правильно ли они записаны и дают ли ожидаемый результат.

3. Бейсик является не только языком программирования, он содержит также все необходимые функции диалогово-ориентированной операционной системы. Для этого Бейсик различает программные операторы и директивы программиста (макрокоманды). В то время как первые служат для формулирования программы,  т.е. для образования последовательности операций, необходимых для решения задачи, директивы программиста обеспечивают весь процесс программирования. С  их помощью можно нумеровать строки программы (директива AUTO), модифицировать операторы (директива EDIT), переписывать программы из ОЗУ на внешнее зу (директива SAVE), или загружать с внешнего ЗУв ОЗУ (директива LOAD), и наконец, запускать программу (директива RUN). Для разных типов вычислительной техники, которые существенно отличаются друг от друга, были разработаны соответствующие версии языка, наиболее подходящие для данной области использования (например, графические задачи, процессы ON-LINE, коммерческое использование, научно-технические расчеты, проблемы обработки  больших массивов и т.д.).

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

Компилятор осуществляет трансляцию программы. Написанная на Бейсике так называемая "исходная программа" один раз переводится в машинную программу, так называемую "об'ектную программу". Эта программа может быть затем выполнена ЭВМ любое число раз. Интерпретатор переводит отдельные операторы "исходной программы" при каждом выполнении программы заново, и сразу выполняет каждый оператор.

Оба процесса имеют свое преимущества и недостатки: интерпретированная  программа работает медленнее, т.к. при выполнении каждого оператора дополнительно необходимо время на его перевод. Однако, при этом легко делать изменения в программе: измененные операторы обрабатываются соответствующим  образом при следующем прогоне программы. Компилированная программа работает быстрее, т.к. предварительно была проведена трансляция. При изменениях необходимо вновь транслировать всю программу.

Интерпретатор обладает решающим преимуществом особенно при разработке программы, когда часто могут происходить изменения, или для новичка, т.к. в этих случаях скорость обработки не столь важна. Если программы не имеют ошибок, и длительное время используются без внесения изменений, то более  предпочтителен компилятор. В этом случае можно смириться с разовой необходимостью расхода времени на трансляцию ради преимущества более высокой  скорости обработки при последующих прогонах программы.

В данной документации используются следующие стандартные обозначения: <идентификатор> Использование метапеременных. На этом месте может быть поставлена последовательность знаков, идентифицированная с помощью идентификатора. Угловые скобки являются метасимволом, который не используется в программах, написанных на Бейсике.
[строка символов]  Строка символов, заключенная в квадратные скобки, считается необязательной и может отсутствовать. Квадратные скобки являются метасимволом и не используются в программах, написанных на Бейсике.

Например /F: Отдельные буквы, специальные знаки и т.д. следует использовать так, как они заданы.
... Элемент, стоящий перед тремя точками может быть неоднократно повторен.

Если при описании директивы или операторы нет особых указаний по использованию их только в интерпретаторе или только в компиляторе языка Бейсик, то данная синтаксическая единица может быть использована в обеих компонентах.

2. Вызов интерпретатора языка Бейсик

После загрузки и запуска операционной системы CPM, она выводит сообщение в виде последовательности символов А>. После этого она ожидает ввода директив. Интерпретатор языка Бейсик вызывается следующими директивами:

Формат: BASI [<название файла>] [/F:<максимальное число файлов, которые должны быть одновременно открыты>] [/M:<адрес байта, следующего непосредственно за разделом памяти, отведенным интерпретатору и его рабочей области>] [/S:<максимальная длина буфера для файла>]

С помощью названия файла указывается файл, который содержит программу на языке Бейсик в коде ASCII, подлежащую интерпретации. Эта программа автоматически загружается и обрабатывается. Перед названием файла может стоять логическая единица, отделенная двоеточием. Для названия файла в  операционной системе SCPX имеются определенные правила. Интерпретатор языка бейсик принимает только файлы с меткой ".BAS".

Параметр /F может иметь максимальное значение 15. Если параметр не задается, по умолчанию устанавливается значение, равное 3.
Параметр /M может использоваться для резервирования определенной области памяти, которая предназначена для загрузки и обработки новых модулей  Бейсика. Если параметр м не задан, интерпретатору предоставляется для этого вся свободная память. Область памяти, стоящая после адреса, указанного в  /M:, Бейсиком не используется. Если не задан параметр /S, то все буферные области, предназначенные для подлежащих открыванию файлов, резервируются со стандартной длиной 128 байтов, более длинные блоки должны быть учтены с помощью параметра /S.

Примеры:

А>BASI Вызов интерпретатора языка бейсик в стандартном режиме.

B>BASI FILE1.BAS Вызов бейсик-интерпретатора в стандартном режиме и обработка программы FILE1, которая  находится в том же накопителе.

B>BASI /F:5/S:200 Вызов бейсик-интерпретатора для одновременной работы с максимум 5 открытыми файлами, причем длина блоков равна 200 байтам.

A>BASI C:FILE2.BAS/M:&H8000 вызов бейсик-интерпретатора в стандартном режиме: загрузка и обработка программы FILE2, находящейся на накопителе С.

 Интерпретатору предоставляется память до адреса &H8000.

3. Режимы работы интерпретатора языка BASIC

Бейсик от Орион СОФТ для Ориона 128 под CP/M-80

интерпретатор языка байсик

Интерпретатор языка бейсик может использоваться в двух различных режимах:
-в режиме настольной ЭВМ или в режиме прямых директив
-в программном режиме

Интерпретатор языка Бейсик сообщает о своей готовности к приему операторов от пользователя с помощью выражения ок на дисплее. Прямые директивы заставляют интерпретатор возвращаться в состояние готовности после выполнения оператора. Прямые директивы набираются построчно с помощью клавиатуры, в соответствии с синтаксическими правилами, описанными ниже;
строка заканчивается нажатием кнопки "ВК".
Пример: пользователь: А=SQR(3^2+4^2)+5*2 <кнопка "ВК">
интерпретатор: ОК
пользователь: PRINT A <кнопка "ВК">
интерпретатор: 15
ОК

в режиме прямых директив строки не нумеруются.
В программном режиме отдельные строки программы вводятся с номером строки. Обработка отдельных строк программы осуществляется с помощью директивы RUN.
Пример: пользователь: 10 а=SQR(3^2+4^2)+5*2 <кнопка "ВК">
20 PRINT A <кнопка "ВК">
RUN
интерпретатор: 15
ОК

Строка программы в Бейсике имеет следующую структуру:
Формат: (номер строки) <оператор>
(:<оператор>)...('Комментарий)
Строка завершается нажатием кнопки "ВК". <Номер строки> должен всегда указываться в программе и всегда отсутствовать в режиме прямых директив. Он может принимать значения от 0 до 65529. Строка может содержать максимум 255 знаков и занимать несколько строк на экране дисплея.

4. Компиляция программ на языке Basic

4.1. Старт компилятора языка Бейсик

Компилятор языка бейсик вызывается следующей директивой:
Формат:
BASC (<об'ектный файл>) (,(<файл списка>)) = <исходный файл> (<варианты>) <Об'ектный файл> -это имя файла, в который записывается перемещаемый код. Он автоматически получает буквенную метку "REL".

<Файл списка> -это имя файла, в котором записаны текст исходной программы в формате аSCII, и, в соответствии с выбранными вариантами, выработанные машинные команды в мнемоническом коде, а также сообщения об ошибках. Этот файл позже может быть выведен на дисплей или печатающее устройство. Если информация должна выводиться только на дисплей или только на печатающее устройство , вместо <файла списка> могут использоваться идентификаторы:
LST: -для вывода на печатающее устройство;
ТТY: -для вывода на дисплей.
<Исходный файл> -это имя файла, в который записывается исходная программа в формате ASCII. Если исходный текст должен вводиться прямо с клавиатуры, вместо исходного файла может использоваться идентификатор-ТТY:

Особенно интересным является вызов:
BASC, TTY:=TTY:

В этом режиме работы имеется возможность проверить синтаксис отдельных операторов в то время, когда они вводятся с клавиатуры.
<Варианты> управляют условностями языка, обработкой ошибок и формированием специального машинного кода. Отдельные варианты  идентифицируются с помощью косой черты "/". Несколько вариантов также отделяются друг от друга с помощью косой черты. Могут быть использованы следующие варианты:

/С Номера строк не имеют значения, за исключением оператора перехода
/E В бейсик-программе содержатся операторы ON ERROR GOTO и RESUME <номер строки>. Компилятор формирует дополнительные коды, чтобы правильно обработать эти операторы.
/X В бейсик-программе содержатся один или несколько операторов RESUME, RESUME NEXT или RESUME O. Этот вариант включает вариант /E.
/N Заблокирован вывод сформированных машинных кодов в мнемоническом представлении в файле списка.
/D Формирование дополнительного кода для обработки ошибок. За счет этого могут использоваться операторы TRON и TROFF, которые в других случаях  игнорируются. При этом опознаются следующие ошибки:
- арифметическое переполнение
- превышение границ индексов полей
- ошибочные операторы RETURN
/S Строка констант, имеющая длину более 4-х знаков, записывается при компиляции в файл REL, однако не запоминается в рабочей памяти (это имеет смысл только при выполнении больших программ).

Продолжение дальше....

Описание BAS1.TXT скачать, или смотреть на этой странице сверху в низ

Описание BAS2.TXT скачать, или смотреть на странице 002

Описание BAS3.TXT скачать, или смотреть на странице 003

Описание BAS4.TXT скачать, или смотреть на странице 004

Описание BAS5.TXT скачать, или смотреть на странице 005

Описание BAS6.TXT скачать, или смотреть на странице 006

Описание BAS7.TXT скачать, или смотреть на странице 007

Описание BAS8.TXT скачать, или смотреть на странице 008

Описание BAS9.TXT скачать, или смотреть на странице 009

Описание BAS10.TXT скачать, или смотреть на странице 010

Описание BAS11.TXT скачать, или смотреть на странице  011

 

4. Версия Пушкова V4.10 под ОР ДОС  работает с процессором ВМ80 и Z80

5. Версия для CP/M-80

6. BASIC MSX, работает на Z80 под Ор Дос, смотреть описание, и скачать

Осваиваем микрокомпьютер интересная книга в 2-х томах по программированию на бэйсике от А до Я

Осваиваем микрокомпьютер К-1 Б.Р.Смит 1989 скачать часть 1-я

Осваиваем микрокомпьютер К-1 Б.Р.Смит 1989 скачать часть 2-я

Программирование микропроцессорных комплектов i8080, 580вм80, z80, i8085, 1810, 1824

Орион-128 описание команд микропроцессора к580вм80 (Орион-Софт)

Язык Ассемблера для Ориона

Язык Си для Ориона

Язык Паскаль для Ориона

Язык Форт для Ориона

 

 

Купить платы, наборы микросхем на Орион-128, КР565РУ5В, КР565ру7В, к565ру5г AU, к565ру7г Au в позолоте, куплю микросхемы

 

Полезные и интересные статьи

На предыдущую страницу  На главную страницу  На следующую страницу