Команды Basic V4.10 Орион-128 Пушкова, основы программирования, уроки языка

Как научиться писать программы в Basic V4.10 для Ориона-128 и Ориона-ПРО.

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

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

Basic для Ориона 128 Пушкова v4.10 распределение памяти

Распределение памяти при работе в системе BASIC V4.10

Команды BASIC Орион V4.10

AUTO [номер][,шаг] - Автоматическое генерирование номеров строк программы. С помощью этой команды можно вводить и редактировать программу с автоматическим выбором очередного номера строки. Величина "номер" задает начальный номер строк (по умолчанию 10), а "шаг" - шаг изменения номеров (по умолчанию 10). Если строка с очередным номером уже существует, то она выводится для редактирования. Для выхода из команды AUTO необходимо нажать клавишу <F4>.

CONT - Продолжение выполнения программы, прерванной нажатием клавиши <F4>, оператором STOP или END.

DELETE [номер 1], - Удаление строк от "номера 1" (или с номер 2 начала программы) до "номера 2". Номера, задаваемые в команде DELETE, должны соответствовать существующим строкам программы. Вместо запятой допускается использовать знак "-".

EDIT номер - Редактирование заданной программной строки. При нажатии <F4> происходит прерывание команды без сохранения изменений, а при нажатии <ВК> (позиция курсора в строке безразлична) - ввод измененной строки в программу.

FILES ["диск:"] - Вывод на экран каталога заданного или текущего диска. Приостановить или прервать вывод можно клавишей <F4>. Команда задействует область ОЗУ с адреса 0B000H.

KILL "имя" - Удаление файла с текущего квазидиска. Имя файла должно быть указано полностью.

LIST [номер 1], - Вывод строк текущей программы на экран номер 2 с номерами от "номера 1" (или сначала) до "номера 2" (или до конца) включительно.
LIST номер 1, Вместо запятой можно использовать знак [номер 2] "-". Если указан только один номер, то выводится одна строка, а если номер строки опущен, то выводится вся программа.
Для приостановки или прекращения вывода можно использовать клавишу <F4>.

LLIST [номер 1], - Вывод указанных строк текущей программы номер 2 на печать (см. команду LIST). Команда выполняется только при наличии в системе LLIST номер 1, файла "LPT", содержащего драйвер печатающего устройства. Ширина печатаемого текста программы задается в ячейке с адресом LLIST [номер] 0007H.

LOAD "имя[.BS]" - Загрузка программы на Бейсике из файла с заданным именем типа ".BS" или ".TX". LOAD "имя.TX" По умолчанию принимается тип ".BS", если на диске не найден соответствующий файл без типа. Перед загрузкой файла ".BS" или ".TX" автоматически стираются программные строки, переменные и массивы, находившиеся в памяти до этого момента.

LOAD "имя" - Загрузка в ОЗУ программы в машинных кодах (блока данных) из файла без типа или с произвольным типом, и выполнение ее, если в имени файла имеется признак командного файла "$". Если программа не нарушает стек и заканчивается командой RET, то после ее выполнения управление будет передано обратно интерпретатору.

MERGE "имя[.BS]" - Загрузка программы на Бейсике из файла с типом ".BS" или ".TX" без стирания текущей программы (строки загружаемой программы вставляются в текущую). Переменные и массивы удаляются из памяти. По умолчанию принимается тип ".BS".

NEW - Удаление из памяти всех программных строк, переменных и массивов.

RENUM [номер][,шаг] - Перенумерация строк программы. Первой строке присваивается заданный начальный "номер" (по умолчанию 10), а последующие номера формируются с шагом "шаг" (по умолчанию 10). Перенумерация начинается только после проверки того, что во всех командах RUN, GOTO, GOSUB, ON, THEN, ELSE и RESTORE указаны номера существующих строк программы, а новый номер последней строки не будет превышать 65529.

Программу большого об'ема перед выполнением RENUM желательно предварительно сохранить на диске, так как в случае переполнения ОЗУ программа будет испорчена.

RUN [номер] - Запуск на выполнение программы, находящейся в памяти. Если задан "номер" строки, то программа выполняется, начиная с заданного номера.

RUN "имя.[BS]" - Загрузка и запуск программы на Бейсике из файла с заданным именем. По умолчанию предполагается тип ".BS". Перед загрузкой автоматически выполняется команда NEW SAVE "имя.[BS]" - Сохранение программы, находящейся в памяти, на диске под заданным именем. По SAVE "имя.TX" умолчанию принимается тип ".BS".

SYSTEM - Передача управления операционной системе.

TRON - Переключение в режим трассировки с построчным выполнением программы. В этом режиме перед обработкой очередной строки в заданном месте экрана выводится ее номер, и появляется курсор. После нажатия любой клавиши происходит выполнение строки и переход к следующей. Для выхода в непосредственный режим можно нажать <F4>.
Режим построчного выполнения отключается командами TROFF и NEW.

TROFF - Отмена построчной трассировки, заданной командой TRON. Команды TRON и TROFF используются при отладке.

Операторы

BOX [(координата X, - Окраска прямоугольника на экране ширикоордината Y)] ной "ширина"*8 точек и высотой, заданной ширина,высота параметром "высота", расположенного вправо и вверх от точки, где было закончено цвет переднего последнее графическое построение (если плана] отсутствуют необязательные параметры в первых квадратных скобках), либо от точки, координаты которой заданы значениями "координата X" и "координата Y". Окрашивание производится фоном и цветом переднего плана, заданным последним оператором COLOR, либо значениями, заданными во вторых квадратных скобках.

CLS - Очистка экрана дисплея.

COLOR цвет фона, - Установка цвета фона и цвета переднего цвет переднего плана для последующих операторов CLS, плана PSET, LINE, BOX, PAINT, PRINT, GET. В режиме SCREEN 1 значения цветов должны лежать в пределах 0..3, в режиме SCREEN 2 - в пределах 0..15. В режиме SCREEN 0 оператор не выполняется.

CLEAR [числовое - Обнуление всех строковых, числовых пезначение] ременных и массивов. Если задан необязательный параметр, то происходит резервирование буфера для строковых переменных длиной "числовое значение".

CLOSE - Закрытие последовательного файла данных.
CUR столбец, строка - Установить курсор в позицию, заданную относительно левого нижнего угла экрана (0,0) параметрами "столбец" (0..63) и "строка" (0..24).

DATA список констант - Добавление строковых и числовых констант к программному списку значений для оператора READ.

DEF FNимя (параметр) - Определение функции FNимя в виде выра=выражение жения с переменной "параметр".

DIM имя массива - Распределение памяти для массивов; (индекс,[индекс]) "индекс" определяет максимальное значение [,имя массива...] индекса (размер массива), а количество индексов - размерность массива. В одном операторе DIM может об'являться несколько массивов.

DPL [(координата X0, - Построение линии из точки, в которой координата Y0)] было закончено последнее графическое посприращение dX, троение, либо из точки с графическими коприращение dY ординатами X0,Y0, до точки с координатами [,цвет] (X0+dX),(Y0+dY), цветом "цвет", либо цветом последнего оператора COLOR.

END - Прекращение выполнения программы и переход в непосредственный режим.

FOR переменная = - Начало цикла FOR/NEXT. Цикл всегда выначальное значение полняется хотя бы один раз, так как проверка условия его окончания производится конечное значение в операторе NEXT. Значение приращения в [STEP приращение] STEP по умолчанию равно 1.

GET "имя[.PC]" - Загрузка с квазидиска на экран графи[(координата X, ческого массива (спрайта) с заданным координата Y)] именем, представленного в формате графи-
[режим изобра- ческого редактора PENX. По умолчанию жения предполагается тип ".PC" . Если указаны [,режим цвета]] необязательные параметры "координата X" и "координата Y", то левый нижний угол загружаемой картинки будет установлен в заданную точку (или в точку последнего графического построения, если они не указаны). Диапазон значений X = 0..383, Y = 0..255. Режим SCREEN 1 не поддерживается.
Необязательный параметр "режим изображения" (по умолчанию 1) определяет, какую операцию необходимо выполнить над байтами изображения спрайта и экрана при загрузке:

0 - изображение не загружается,
1 - замена изображением спрайта,
2 - операция "исключающее ИЛИ",
3 - операция "об'единительное ИЛИ",
4 - операция "логическое И",
5 - инверсия изображения спрайта.

Действие операции не распространяется на область цветовых атрибутов. Если загружаемый фрагмент не умещается на экране, будет выведена только его часть.
Необязательный параметр "режим цвета" (по умолчанию 1) может принимать следующие значения:

0 - цвет не загружается,
1 - загружается цвет спрайта,
2 - устанавливается цвет последнего оператора COLOR.

При работе операторов GET и PUT используется промежуточный буфер спрайтов с конечным адресом 7FFFH. В ячейке 7FFCH хранится высота загруженного спрайта, в
ячейке 7FFDH - его ширина, в ячейках 7FFEH, 7FFFH - начальный адрес буфера (стандарт PENX).

GOSUB номер строки - Вызов подпрограммы с указанного "номера строки" (см. RETURN).

GOTO номер строки - Передача управления строке с заданным номером.

IF условие THEN - Выполнение "оператора" ("операторов"), оператор(ы) следующих за THEN, если условие истинно. [:ELSE оператор(ы)] Если условие ложно, то выполняется "оператор" ("операторы"), следующие за ELSE. Если же ELSE отсутствует, выполняется следующая строка. Сразу после THEN и ELSE вместо операторов может стоять "номер строки" перехода (без слова GOTO).

INPUT ["запрос";] [,переменная...] - Присваивание вводимых с клавиатуры переменная значений "переменной" (или нескольким пе ременным). Если после текстового сообщеили ния "запрос" стоит ";", то на экран вывоINPUT ["запрос",] дится знак вопроса, если же стоит знак переменная "," , то знак вопроса не выводится.
[,переменная...] Если в операторе указано несколько переменных, то соответствующие им значения во вводимой строке должны разделяться запятыми. Ввод значений строковых переменных, содержащих запятые, кавычки (") и двоеточия, с помощью данного оператора невозможен (необходимо использовать LINE INPUT).

INPUT# переменная [,переменная...]  - Чтение данных из последовательного файла. Считываемые данные должны быть разделены в файле запятыми или символами ВК.
Если интерпретатор считывает строку символов, и ее первым символом являются кавычки (") , то в состав строки входят все символы до следующих кавычек. Если первый символ строки отличен от кавычек, то строка будет заканчиваться с появлением запятой, двоеточия, символа ВК или признака конца файла 0FFH, а также если будет прочитано 253 символа.
Файл должен быть открыт на чтение с помощью оператора OPEN.

LINE INPUT - Предназначен для ввода произвольной ["запрос";] строки символов с клавиатуры. В результа переменная те выполнения этого оператора вся после или довательность символов, введенная после LINE INPUT выдачи подсказки и до нажатия клавиши ВК, ["запрос",] становится значением указанной переменной. переменная

LINE INPUT# - Чтение строки символов из последоватепеременная льного файла. Каждая считываемая строка [,переменная...] должна заканчиваться в файле символом ВК.
Файл должен быть открыт на чтение с помощью оператора OPEN.

LINE [(координата X0 - Построение линии от точки, где было ,координата Y0)] закончено последнее графическое построение  координата X, (или от точки с графическими коордикоордината Y натами X0,Y0) до точки с координатами [,цвет] X,Y цветом "цвет" либо цветом последнего оператора COLOR.

LPRINT [список - Вывод на печать значений, перечислензначений][;] ных в списке (см. PRINT). Оператор выполили [,] няется только при наличии в системе файла с именем LPT, содержащего драйвер печатающего устройства. Ширина печати задается в ячейке 0007H с помощью оператора POKE.

NEXT [переменная] [,переменная...]- Завершение цикла FOR/NEXT. Если переменная цикла, указанная в соответствующем операторе FOR, достигла заданного конечного значения, то цикл заканчивается, и управление передается следующему за NEXT оператору. Один NEXT может завершать несколько циклов.

ON выражение GOTO - Переход к строке с одним из указанных номер строки номеров в зависимости от конкретного зна[,номер строки...] чения "выражения". Если это значение меньше 1 или больше числа заданных номеров строк, то управление передается следующей строке.

ON выражение GOSUB - Вызов подпрограммы в строке с одним из номер строки указанных номеров в зависимости от конк[,номер строки...] ретного значения выражения.

OPEN "имя",I - Открытие последовательного файла на или чтение;
OPEN "имя",O - Открытие последовательного файла на запись.

PAINT координата X, - Закраска ограниченной фигуры произвокоордината Y, льных очертаний заданным цветом до границы того же цвета, начиная из точки с гра-
фическими координатами X,Y (только для режима SCREEN 1).

POKE адрес,значение - Запись "значения" (0..255) в ячейку с указанным "адресом". Если значение адреса превышает 32767 (7FFFH), то предварительно его надо представить в отрицательном виде, отняв число 65536. Это требование должно быть выполнено также для аргументов функций PEEK и USR. При использовании шестнадцатиричных констант их значения преобразовывать не нужно.

PRINT [список - Вывод перечисленных значений на экран. значений][;] Если в конце оператора не стоит знак ";" или [,] или "," , то после вывода значений осуществляется переход в начало следующей строки. Если значения в списке разделяются знаком ";" , то они будут выводиться друг за другом, если "," , то вывод очередного значения будет производиться в начале следующей зоны (14 позиций). В режиме SCREEN 2 оператор PRINT выводит информацию в том цветовом решении, которое уже было задано в этом месте экрана, независимо от того, какой оператор COLOR ему предшествует (цвет не меняется). В режиме SCREEN 1 оператор PRINT выводит каждый символ в виде матрицы 6х10 точек, окрашивая фон и передний план матрицы теми цветами, которые заданы последним оператором COLOR.

PRINT# [список - Вывод перечисленных значений в послезначений][;] довательный файл. Файл должен быть открыт или [,] на запись с помощью оператора OPEN.

PSET координата X, - Вывод на экран дисплея отдельной точки координата Y с графическими координатами X,Y и цветом [,цвет] "цвет". В режиме SCREEN 2 вывод на экран точки в некоторую позицию вызовет перекрашивание соседних 7-ми горизонтальных точек переднего плана в тот же цвет; фон при этом не затрагивается.

PUT "имя[.PC]" - Запись в квазидиск под заданным именем [(координата X, графического фрагмента экрана размерами координата Y)] "ширина"*8 и "высота" точек в формате ширина, высота графического редактора PENX. По умолчанию принимается тип ".PC". Необязательные параметры "координата X" и "координата Y" аналогичны соответствующим параметрам в операторе GET. Значение ширины лежит в диапазоне 1..48, высоты 1..256 (для высоты 256 необходимо задать 0). Режим SCREEN 1 не поддерживается. Сохраняемый спрайт должен весь помещаться на экране. READ переменная - Присваивание "переменным" с указанными [,переменная...] именами очередных значений из списка DATA

REM [комментарий] - Задание комментария. Все символы, стоящие за словом REM в данной строке, воспринимаются как комментарий.

RESTORE [номер -строки] Установка положения указателя списка  значений DATA на первое значение в указанной строке. Если "номер строки" не задан, указатель устанавливается на первое значение DATA в программе.

RETURN - Возврат управления из подпрограммы оператору, стоящему непосредственно за оператором GOSUB, вызвавшим эту подпрограмму.

SCREEN режим - Выбор режима работы экрана: 0 - монохромный, 1 - 4-цветный, 2 - 16-цветный. В режиме SCREEN 1, в отличие от режимов 0 и 2, блокируется скроллинг экрана при переводе строки, если курсор находится в нижней строке экрана.

SOUND частота,  [,частота, (Гц) Формирование - Формирование звукового сигнала (серии длительность сигналов) с заданной средней "частотой"и "длительностью" (мС).
длительность звука с частотами выше 4000 Гц не обеспечивается из-за ограниченной тактовой частоты процессора. Дробная часть параметров отбрасывается.

STOP - Прекращение выполнения программы и переход в непосредственный режим с выдачей сообщения "СТОП". Оператор STOP может быть использован при отладке.

Функции

ABS(число) - Вычисление абсолютной величины числового значения.

ASC(строка) - Определение кода первого символа заданного строкового значения.

ATN(число) - Вычисление арктангенса заданного числового значения.

CHR$(число) - Определение символа с указанным кодом.

EOF(1) - Проверка достижения конца файла. Возвращает значение (-1) (истина), если в файле, открытом на чтение, достигнут конец файла, и 0 - в противном случае.

EXIST("имя") - Проверка наличия файла с заданным именем на текущем или указанном квазидиске.
Если файл найден, выдается значение (-1), в противном случае - 0.

EXP(число) - Вычисление экспоненты заданного числового значения.

COS(число) - Вычисление косинуса заданного числового значения.

FNимя(значение) - Вызов функции, предварительно определенной оператором DEF FN.

FRE(значение) - Вычисление об'ема свободной памяти в байтах, если фиктивный параметр "значение" является числовым, либо об'ема буфера символьных переменных, если "значение" является строковым.

INP(0) - Ввод символа с клавиатуры (0F803H).

INP(1) - Опрос кода нажатой клавиши. Сначала вызывается подпрограмма 0F812H для определения факта нажатия клавиши, а затем, если клавиша нажата - подпрограмма 0F81BH. Если клавиша не нажата, возвращается значение 255 (0FFH).

INP(-1) - Опрос готовности принтера (0 - не готов, -1 - готов). Если в системе нет файла LPT, выдается 0.

INP("имя") - Аналог функции EXIST (использовалась в BASIC V4.00).

INT(число) - Определение ближайшего меньшего целого для "числа".

LEFT$(строка,длина) - Выделение подстроки заданной "длины" из "строки", начиная с крайнего левого символа.

LEN(строка) - Вычисление длины "строки".

LOF("диск:") - Определение границы файлов квазидиска;
или LOF("имя") - Определение длины указанного файла. Значения функции, превышающие 32767, представляются в дополнительном коде. Для получения действительной длины в этом случае к значению функции необходимо прибавить 65536.

LOG(число) - Вычисление натурального логарифма для заданного "числа".

MID$(строка, - Выделение подстроки заданной "длины" начало, длина) из "строки", начиная с символа с номером начало".

PEEK(адрес) - Содержимое ячейки с заданным "адресом"

POS(0) - Номер позиции курсора в текущей строке экрана (0..63).

POS(-1) - Позиция печатающей головки в пределах (0..ширина печати - 1). Ширина печати задается в ячейке с адресом 0007H.

RIGHT$(строка,длина) - Выделение подстроки заданной "длины" из строки, начиная с крайнего правого символа.

RND(число) - Псевдослучайное число, равномерно распределенное в интервале [0,1]. Действие RND зависит от аргумента:

"число" = 0 - повтор последнего ПСЧ,
"число" = 1 - выдача нового ПСЧ,
"число" < 0 - инициализация датчика
ПСЧ в соответствии с "числом".

SGN(число) - Определение знака заданного числового значения:

-1, если "число" < 0,
0, если "число" = 0,
1, если "число" > 0.

SIN(число) - Вычисление синуса заданного числового значения.

SPC(число) - Пропуск заданного числа позиций в выводимой строке. Используется только в операторах PRINT и LPRINT.

SQR(число) - Вычисление квадратного корня заданного числового значения.

STR$(число) - Преобразование заданного числового значения в строку символов.

TAN(число) - Вычисление тангенса заданного числового значения.

TAB(число) - Установка курсора (печатающей головки) в указанную позицию строки. Используется только в операторах PRINT и LPRINT.

USR(адрес) - Вызов подпрограммы пользователя в машинных кодах, находящейся по указанному "адресу". В качестве значения функции выдается содержимое регистра (A), вычисленное в подпрограмме.
Для размещения подпрограмм в машинных кодах можно использовать адреса 0B000H... 0B9FFH, при этом следует помнить, что при назначении команды FILES и после выхода в ORDOS данные, находящиеся в этой области, будут потеряны.

VAL(строка) - Преобразование строкового значения в число.

VARPTR(переменная) - Определение адреса размещения переменной в памяти.

 

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

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

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

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

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

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

 

 

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

 

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

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