MEGA-BASIC
S. Клавиатура.
Как только программа будет загружена, вы увидите короткое сообщение и инверс-
ный квадрат в левом нижнем углу экрана. Это новый, курсор который будет показы
вать где будет появляться входная информация. При использовании "MEGA BASIC"
весь экран используется для входной Информации в отличии от обычного бейсика.
где весь экран разбивается на 2 части.
При записи операторов необходимо набирать все символы, например, если в бей-
сике оператор PRINT мог быть записан за одно нажатие клавиши *Р", го теперь
нербходим? будет писать "Р" "R" "I" "N" "Т".Однако "Мега-бейсик" позволяет не-
которые операторы записывать в виде аббревиатуры. Список таких операторов приве-
ден ниже. При этом аббревиатура должна заканчиваться точкой.
A.TTR |
ER.ASE |
ME.RGE |
RES.TORE |
BE. Ер |
E.Xp |
M.OVE |
RET.URN |
В. IN |
FL.ASH |
NE. XT |
R. ND |
BO.RDER |
F.ORMAT |
N.OT |
SA. VE |
BR.IGHT |
GOS.UB |
OP.EN« |
SCREENS |
CH.R* |
G. 0 TO |
0V. ER |
ST. RS |
CI.RCLE |
I.NKEYS |
PA. PER |
Т.Ав |
CLE.AR |
1NP.UT |
PAH.SE |
TH.EN |
CL.OSE» |
INV.ERSE |
PE. EK |
U.SR |
C. ODE |
L . EN |
PL. ОТ |
У. AL$ |
CON.tlNUE |
LI.NE |
P.01 NT |
VE.RIFY |
DA. ТА |
LL.1ST |
PR.INT |
|
D,EFFN |
LP.RINT |
RA.NDOMIZE |
|
DR. AW |
LO.AD |
RE . AD |
|
Нижняя строка на экране используется для индикации режима курсора.ниже в таб-
лице показаны обычные режимы SPECTRUMA. а рядом сообщение на экране которое вы
получаете в нижней строке.
Таблица 1.
режим курсора
L
G
С
Е
нижняя строка экрана
цасзааагзааааагаахахаз
CAPS OFF
CAPS OFF GRAPHICS
CAPS ON
CAPS OFF EXTENDED
Режим курсора изменяется обычным путем - нажатием клавиш CAPS LOCK, GRAPH ICS,
CAPS SHI Ft. SIMBOL SHIFT.
2. Редактор.
Возможности у "MEGA-BASIC" намного больше чем у обычного беженка (по редакти-
рованию строк).
Таблица 2.
команда |
содер'жание^ |
EDIT |
копировка очередной программной строки во входную строку, готовую для редакции. |
INVERSE VIDEO
CURSOR LEFT 1
CURSOR RIGHT I
CURSOR DOWN |
удаление символа правее курсора I
перемещение курсора влево на один символ
" —-------------------------------------------------------—1
перемещение курсора вправо на один снмроол
перемещение курсора вниз на одну строку |
CURSOR UP |
перемещение курсора вверх на одну строку |
DELETE |
удаление символа слева от курсора4 |
<» |
перемещение курсора на начало входной строки |
О |
удаление всех символов от начала курсора до конца входной строки |
|
перемещение курсора в конец входной строки. |
SCREEN! |
автоматический листинг, (выход на окно 1) верхней строкой лис- тинга является текущая строка |
OR |
перемещение очередной строки вииз на одну и листинг |
AND |
перемещение очередной строки ВВЕРХ на одну и листинг j |
STOP |
перемещение COPY-курсора влево на один символ |
STEP |
перемещение COPY-курсора вверх на одну строку. |
NOT |
перемещение COPY-курсора вниз на одну строку |
TO |
перемещение COPY-курсора вправо на один символ |
AT |
копировка символа от COPY курсора к входному курсору. Этот опе- ратор используется для копировки символов, имеющих стандартный размер и не может применяться для символов при 64 рабочих столб- цах экрана,символов с двойной шириной и высотой |
OVER |
перемещение COPY-курсора на следующее окно |
INVERSE |
удаление COPY-курсора в верхний угол очередного окна. |
Заметим, что экран разделен на 4 различные секции или окна и каждое использу-
ется для специфических задач.
Таблица 3.
Заметим, что экран разделен на 4 различные секции или окна и каждое использу-
ется для специфических задач.
Таблица 3.
секция |
содержание |
|
окнос |
0 |
для индикации поступающей от пользователя информации ошибках |
и сообщений об |
ОКНО I |
индикация листинга программы начиная с редактируемой |
строки |
ОКНО |
2 |
выходная информация по командам бейсика |
окно |
3 |
используется как фронт-панель |
|
При размещении на экране окна перекрывают друг друга.
Заметим также, что 2-ой курсор может быть использован как COPY. Этот курсор
появляется как мигающий квадрат на экране и может перемещаться внутри очередно-
При размещении на экране окна перекрывают друг друга.
Заметим также, что 2-ой курсор может быть использован как COPY. Этот курсор
появляется как мигающий квадрат на экране и может перемещаться внутри очередно-
го окна с помощью запрограммированных управляющих клавиш. COPY-курсор функцио-
нирует только в окнах 0, 1. 2.
Также, как использование CAPS SHIFT 1 для редакции очередной строки, возможна
редакция любой строки в программе, используя команду EDIT. За этой командой сле-
дует числовое выражение, указывающее какая строка будет редактироваться. Если
требуемая строка не существует, то происходит переход к следующей строке для
ее редакции. Если же нет и следующей строки, то на экране появляется сообщение:
LINE NOT FOUND
(строка не найдена)
3. Клавиши определяемые пользователем ( U D К )
Имеется возможность запрограммировать верхний ряд клавиш и создать тем самым
более 255 символов. Для программирования используйте команду KEY, за которой
должно следовать числовое и символьное выражение, разделенные запятой. Числовое
выражение определяет, какая из клавиш программируется, символьное выражение -
содержание этой клавиши. Записывая ENTER символ CHRt13 в конце определяемого
вами символьного выражения, вы получите автоматическое его выполнение после на-
жатия UDK. "MEGA-BAS1 С" уже включает в себя следующие UDK#
Таблиц*
U D К |
Содержание |
VERIFY |
В символьном выражении запиС&но RUN+CHRI13. при иажатин на э^у клавишу выполняется очередНЗЯ программа в памяти. |
VALt |
В символьном выражении запкбфМо LOAD "". RUN+CHR13 при нажатии этой клавиши загружается, а Затем выполняется очередная программе на кассете. |
Во время выполнения программы SPACE-клавиша может быть использована как
SHIFT-клавиша. Поэтому, чтобы получить пропуска между символами,, обе эти клави-
ши должны быть нажаты одновременно. SPACE-"-клавиш! теперь, в сочетании с другими
клавишами, будет представлять собой управляяАуш клавишу. Ниже приведены во.: >ож-
ные клавиши управления во время выполнения программы (RUN-T1ME).
Таблица 5.
Клавиша |
содержание |
CONTROL F |
Вызов фронт-панели |
CONTROL |
Е |
Останов выполнения программы печать сообщения ESCAPE и переход к строке редактора. |
CONTROL |
Е |
Останов выполнения программы установка начальных значений PAPER. BORDER и INK. Переход к строке редактора. Эта функция не уничто- жает программы на бейсике в памяти компьютера |
4. Команды экрана.
Размер н форма символов, а также способ по которому они могут быть выведены -
факторы облегчающие работу с "MEGA-BASIC. Площадь экрана для выходной информа-
ции может быть любого размера. Отдельные участки площади экрана называются "ок-
нами". Их всего 10. Каждое окно имеет свой номер от 0 до 9 Все они могут быть
использованы в вашей программе.
CURRENT - N - переход на другое окно. N - номер окна ( 0 ... 9 ).
WINDOW - Y. X, D, W - определение размера н положения окна на экране.
Y - строковая позиция верхнего левого угла (может изме-
няться от 0 до 23).
X - столбцовая позиция верхнего левого угла (может изме-
няться от 0 до 63).
D - глубина окна (в строках).
W - ширина окна 'в столбцах).
"MEGA-BASIC разбивает экран на 24 строки н 64 столбца. Функции ATTR и
SCREENS используют старую координатную систему, а оператор PRINT AT новую сис-
тему. Координаты для PRINT AT задаются относительно верхнего левого угла оче-
редного экрана, в то время как ATTR SCREENS используют абсолютные координаты
экрана. Если Y+D больше 24 или X+W больше 64 . то вы получите сообщение об
ошибке WINDOW ТОО LARGE (окно слишком большое). Если же значение меньше 0. то
вы увидите WINDOW ТОО SMALL (окно слишком маленькое). После выполнения коман-
ды WINDOW позиция устанавливается (для печати» в верхнем левом углу окна.
CLS - очистка всего экрана.
CLW-N.(А) - очистка одного окно или его части.
N - номер окна
А - номер очищаемой записи
Существует 4 различных типа команды CLW
Таблица 6.
Таблица 6.
С L W |
сод
Затушувывается окно. |
е р ж а и и е |
CLWN.0 |
используя цвет PAPER |
CLW-N. |
Затушевывается окно. |
используя цвет INK |
CLW-N,2 |
Инвертируется содержимое экрана. Цвет PAPER меняется на цвет INK |
CLW-N.3 |
Очистка только от атрибутов. Эта опция позволяет пользо- вателю изменить цвет окна, не разрушая его содержимое
itjastaasas«issesn:»ssxassixsBxxs*x»xn«Taxxxtxsxasesr=sii: |
Во всех случаях позиция для печати устанавливается в верхнем левом углу окна.
Команда CLW всегда использует текущие атрибуты. Так, например, если текущее ок-
но 3, то после записи Команды CLW 0.0 и ее выполнения окно 0 будет затушевы-
ваться, используя атрибуты окна 3.
PAN-B.Z - перемещение окна влево, вправо.
SCROOL-B,Z - перемещение окна вверх, вниз.
В - цвет кромки экрана.
Z - количество пикселей, направление переноса (положительное
число - вправо, вверх; отрицательное число - влево, вниз).
PAN1K-Z - поворот ркна влево, вправо.
SCROOLW-/. - поворот окна вниз, вверх. >
Все эти команды действуют только на дисплейный файл.
FX-M.N - выбор окна. М - число, указывающее назначение окна,
N - номер окна
Таблица 7.
F X | содержание
гзжяжввх I ажажжхжжвгвжжжжжжжжжжжжажжжжжя'жжжажжхжж'ажажаггаакж:вжаэеаз:а = жжж»-жж8.а j
FX-O.N j Окно N назначается для входной информации и сообщений об ошибках |
F X | содержание
гзжяжввх I ажажжхжжвгвжжжжжжжжжжжжажжжжжя'жжжажжхжж'ажажаггаакж:вжаэеаз:а = жжж»-жж8.а j
FX-O.N j Окно N назначается для входной информации и сообщений об ошибках |
FX-1, |
N |
Окно |
N |
назначается |
для |
автоматического листинга. |
FX-2, |
N |
Окно |
N |
назначается |
для |
выходной информации |
FX-3. |
N |
Окно |
N |
назначается |
для |
фронт-панели. |
MODE-N.(D) - выбор размера символов, выводимых иа экран. D - размер символа.
Таблица 8.
ssssi*ix*c*>saa>asssi3a>saasxssi:azszKssasisssa«xixzszazsrs>s:ss*33szs3:3z3zts:
|М О D Е I содержание
MODE-N.(D) - выбор размера символов, выводимых иа экран. D - размер символа.
Таблица 8.
ssssi*ix*c*>saa>asssi3a>saasxssi:azszKssasisssa«xixzszazsrs>s:ss*33szs3:3z3zts:
|М О D Е I содержание
Для каждого окна могут быть заданы свои размеры символов. При использовании
команды MODE-N.4 возможно получение символов с оттенками, поскольку в этом слу-
чае каждый пиксель занимает 4 пикселя экрана, т.е.. установив один образ для
4-х точек, можно получать теневые эффекты.
STRIPPLE-W - запись образа (задает интенсивность тени)
W - номер образа ( 0 ... 15 )
FONT-L - выбор набора символов.
L - номер набора символов
Таблица 9.
Таблица 9.
FONT F0NT-0 |
содержание
sassssss3s3Bsssss3sstssacsa>3maB3ss«3Baasi
Обычные символы SPECTRUMA |
|
F0N Г-1 |
Символы |
подобные применяемым в |
ВС MIKRO AK0RN
_ _ ____ __ ___ _ _ j |
F0NT-2 |
Символы |
подобные применяемым в |
AMSTRAp CPC 464 j |
Новые символьные наборы хранятся в ОЗУ и могут быть использованы с помощью
описанных команд. Каждый снмЪол занимает 8 байт и имеет определенную форму. В
псевдо ВС MIKRO символы находятся в памяти, начиная с адреса 48000. а в псевдо
AMSTRAD - с адреса 45000.
Если А - определенный символ, то адрес, по которому он находится определяется
по формуле: S +8 * ( CODE А - 32). где S - начальный адрес.
SHRf символьный набор SPECTRUMa содержит печатаемые символы и управляющие
символы. Несколько новых управляющих сиИЮлов. входит в "MEGA-BAS1С".
Таблица 10.
SHRt |
содержание |
SHRt1-4 |
Выбор режима очередного окна |
SHRS7 |
Перестановка символа к курсору |
SHR 24-3J |
Выбор окна для выходной информации. SHRt 24 соответствует окну 0. SHRt 31 окну 7 |
Команда VDU эквивалентна PRINT CHRS. К примеру: VDU-7 обеспечивает одинако-
вый размер всех последующих символов, a VDU 65.66 печатает "АВ".
D0WN-Y.X.A* - вывод строк символов внизу экрана.
Y.X - соответственно начальная строка и столбец на которые выво-
дится информация.
А$ - выводимая информация. Если она занимает больше 1 строки, то
продолжение появится уже наверху.
SPRINT-X,Y.A.B.At- вывод на экран символов любого размера.
X.Y - позиция первого курсора на экране.
А.в - коэффициент увеличения символа в направлении соответственно.
AS - строка выводимых символов. Если символы достигли правой
кромки экрана, то запись появляется с левой стороны экрана.
PRINTER
Обеспечивает вывод информации на периферийные устройства такие, например.
как принтер. Вслед за командой следует числовое выражение. Если результат его
равен 0. то информация будет выводится только на экран. Если результат отличен
о.т 0. то при каждом появлении символа на экране, будет вызываться подпрограмма
вывода в машинных кодах. Адрес ее хранения находится в ячейках 53934 и 59935.
Примечание : команды CLEARt, OPEN#2. CLOSE#2 йе выполнимы в "MEGA-BASIC".
5. Графика.
CHANGE и SWAP предназначении для манипулирования файлом атрибутов.
CHANGE-M,А изменение определенной части каждого атрибута байта.
М - маска, указывает, какой из битов каждого атрибутного байта должен быть
изменен.
А - данные, показывают в чем должно состоять это изменение.
Таблица I 1.
жжажж»жжхажхххжзЕЗЕж = гхжага = хажз;важххфжжажхгаз:жа5:жххаза«:г:=г' = =г:= = х:с=: = ж гг = ssss =г = = =: - --
Таблица I 1.
жжажж»жжхажхххжзЕЗЕж = гхжага = хажз;важххфжжажхгаз:жа5:жххаза«:г:=г' = =г:= = х:с=: = ж гг = ssss =г = = =: - --
CHANGE CHANGE-1 |
«ххжххжхагхггясвхггз:
Логическое NOT, |
содержание
все 1 превращаются в 0. а все 0 в 1. |
CHANGE-2 j CHANGE** |
| Логическое
Каждый aipi ним байтом. |
AND |бути |
для байта файла атрибутов и отрицательной маски,
-----------------------------------------------------|
1ЫЙ байт через логическое OR соеди?$яется с дан- 1 |
SWAP-W, S - замена одних атрибутов на другие.
SWAP-W, S - замена одних атрибутов на другие.
1 - новые атрибуты, S - старые атрибуты.
FADE - производит некоторые специальные эффекты.
Введите следующую короткую программу:
10 FOR А-О ТО 703
20 РОКЕ 22528+А, РЕЕК А
30 NEXT А
40 FADE-0
Первые 3 строки заполняют файл атрибутов случайными символами. По команде FA-
DE файл атрибутов исследуется. Каждый байт, который равен численному выражению,
после команды FADE остается неизменным, другие уменьшаются. Этот процесс про-
должается до тех пор. пока каждый байт в файле атрибутов не будет равен число-
вому выражению, стоящему после команды FADE.
INVERT - Инвертирование всего экрана. Цвет INK меняется на цает
PAPER и наоборот.
DEFG-&,4...... - Создание новых графических элементов
& - Любой символ от А до I!. определяет местонахождение нового
графического элемента
~ 8 чисел, разделенных запятыми, определяют фэрму графичес-
кого элемента (первое число определяет верхний ряд, пос-
леднее - нижний)
GET-0,A,Y,X,D.W - Перенос содержимого экрана в память.
А - Адрес начиная с которого хранится информация экрана.
Y.X - Соответственно номер строки и столбца верхнего угла запи-
санной п ьщади экрана.
D,W - Соответственно глубина и ширина этой площади.
PUT-F,A,Y,X,W,D - Перенос содержимого памяти на экран.
F -Способ востановления экрана из памяти (F=0.....6).
A,Y,X,W,D - Аналогично GET.
PUT и GET используют ту же координатную систему, что и ATTR и SCREENS. Их
координаты абсолютны и не зависят от положения верхнего левого угла окна на эк-
ране.
Команда GET обеспечивает сохранение дисплейного файла в памяти с информацией
и об атрибутах. Использование команды CLEAR позволяет резервировать участок па-
мяти для сохранения информации экрана. Можно определить число байтов, зани-
маемых информацией экрана, с помощью уравнения Y. W. D.
SPUT-A.X,Y.В,С,W.D - перенос содержимого памяти иа экран, но с увеличением
выводимого изображения.
В.С - коэффициенты увеличения.
6. Управление выполнением программ.
"MEGA-BASIС" обеспечивает работу с процедурами, которые могут быть вызваны по
их имени на выполнение, как будто это новые команды. И точно также . как и пос-
ле команды, эти выражения могут быть назначены как переменные, готовые для ма-
нипуляции внутри программы. Недостатком процедур "MEGA-BASIC" является то. что
они не могут манипулировать с локальными переменными, а их переменные являются
общими для всей программы. Используя процедуры, можно разделить программу на
ряд задач. Для каждой частной задачи составляется своя процедура. Каждая проце-
дура может быть проверена отдельно и затем они все обьединяются вместе для
окончательной программы. Выбирайте внимател имена для ваших процедур и тогда
будет намного легче находить их в программ- потоке.
Начало процедуры определяется символом i следом - имя процедуры. Оператор,
определяющий процедуру должен быть первые в • троке. После имени процедуры долж-
ны следовать ее параметры. Конец процедуры определяется оператором ENDPROG. Как
только встретится этот оператор, компьютер перейдет к оператору, следующему за
оператором вызова процедуры. В конце оператора можно записать нмя процедуры.
Пример:
9000 DISPLAY А.А*
9010 PAPER A: INK 9
9020 MODE -4 : STRIPPLE-6
9030 PRINT At
9040 ENDPR0G-DI SPLAY
Строка 9000 определяет процедуру. DISPLAY A,AS, показывает, что для него
необходимы числовое выражение (А) и символьное выражение (AS). Строка 9010 ус-
танавливает цвет, а строка 9020-правильный размер символов. Строка 9030 выводит
на печать символьное выражение AS и. наконец, строка 9040 определяет -конец про-
цедуры. Для активизации этой подпрограммы вы будете использовать в своих прог-
раммах строку подобную этой: DISPLAY-2. "MEGA SPECTRUM".
REPEAT-UNTIL
Так же хорошо, как и с процедурами, "MEGA-BASIC" обеспечивает работу с цикла-
ми типа REPEAT-UNTIL. REPEAT команда начинает цикл, после команды UNTIL следует
числовое выражение. Если этому числовому выражению присваивается нулевое значе-
ние, то выполнение программы возвращается назад, к оператору записанного после
последнего REPEAT. Если выражение является положительным числом, то выполняется
следующий оператор программы. Допускается до 10 циклов вложения типа REPEAT-
UNTIL.
Для сохранения номеров строки операторов процедур и циклов REPEAT-UNTIL ис-
пользуется стек. Когда вызывается процедура, номер строки, следующий за опера-
тором вызова, размещается в стеке - это позволяет программе знать, куда возвра-
щаться после выполнения оператора процедуры. Когда будет выполнена команда RE-
PEAT, номер строки с оператором после команды REPEAT заталкивается в стек. Это
необходимо чтобы после выполнения команды.UNTIL было известно где последняя ко-
манда REPEAT. После выпонення команды ENDPROG. н перехода к строке номер кото-
рой хранится в стеке, последний убирается оттуда. Также и после выполнения ко-
манды UNTIL верхнее значение выталкивается из стека. Если стек пустой и будет
попытка вытолкнуть из него, то на экране появится сообщение об ошибке:
" PROG STACK UNDERFLOW"
Любая попытка записать в стек более 10 значений заканчивается сообщением об
ошибке, и на экране появится: " PROG STACK OVERFLOW ".
POP - извлечение значения из стека.
PUSH M.S - запись значения в стек.
М - номер оператора
S - номер строки
PCLEAR - очистка стека.
BRANCH - переход к подпрограмме после окончания каждой программной
строки.
~ Числовое выражение, указывающее на начало подпрограммы.
При »0 "MEGA BASIC" действует как обычно в конце строки.
Конец подпрограммы определяется оператором EN0PR0C.
MTASK R - выполнение программы с двух различных мест.
R - числовое выражение, указывающее на начало второй части
программы. Считается, что программа разделена как бы на
две части. Первая начинается после оператора MTASK. а
вторая со строки указанной в R. "MEGA BASIC" выполняет
поочередно строки из каждой программы. При R=0 такой
многопрограмный режим невозможен.
7. Отладка и редактирование программ.
Команды BRANCH. TRON. TROFF. SPEED.
BRANCH - Описана выше. С ее помОщЫо можно вызывать подпрограмму печати
после любой программной строки для распечатки значений интере-
сующих вас переменных.
TRON S - Печать на экране номера очередной выполняемой строки.
S - Номер строки, расположен в нижнем углу экрана.
TROFF - Отмена режима, задаваемого командой TRON.
SPEED V - Изменение скорости выполнения программы.
V - Число, определяющее скорость выполнения программы. При V=0
обычная скорость выполнения программы. Прн V=255 - самая мед-
ленная. При этом компьютер останавливается после выполнения
каждого оператора и ждет, пока пользователь не нажмет клавишу.
AUTO S,Р - Ввод номера очередной строки при нажатии клавиши ENTER. Исполь-
зуется при вводе больших программ.
S - номер первой строки программы.
Р - шаг нарастания номеров.
Остановить режим автоматической нумерации строк можно, используя EXTEND SYM-
BOL SHIFT 'L'.
DELETE Sl.SN - Удаление большого блока программных строк
SI - Номер первой строки удаляемого блока.
SN - Номер последней строки удаляемого блока.
BROFF - Программное аннулирование клавиши BREAK. Используется для
защиты своих программ от несанкционированного>доступа.
BRON - Возвращение клавише BREAK ее возмоностей.
RESTART S - Обход строки с ошибкой прн выполнении программы.
S - Номер строки, к которой осуществляется переход при воз-
никновении ошибки.
RESTART OFF - Отмена вышеприведенного режима.
Команда RESTART не действует с INTERFASE I и по отношению к ошибкам "MEGA-BA-
SIC". После обработки ошибки с помощью команды RESTART, некоторая полезная ин-
формация сохраняется в ячейках памяти:
Таблица 12.
Адрес содержание
■ ■ssaxaissnax жасжшг:жжхжгасжжжшасасасжасжажеава = авг:зз:в = жас = з:асз:з: = ж = г = зг:з: = = ж=:аасас = ас = = = ,
69873,69874 Номер строки в которой обнаружена ошибка.
69875 Оператор внутри строки в котором обнаружена ошибка
59862 Код обнаруженной ошибки
8. Звук.
"MEGA-BAS1C" открывает для вас 2 новых путн создания звука на вашем SPECTRU-
Ме. Это применение оператора PLAY и использование генератора звуковых прерыва-
ний (ISG).
PLAY - N,L.S,D,F - создание звука.
N■0 - звук.
N=1 - шум.
L - длительность шага,
О - число шагов.
F - изменение частоты после каждого шага.
I S G
Команда PLAY является расширением команды ВЕЕР, но при использовании "MEGA-
BASIC" имеется другая возможность производить звук даже при выполнении другой
программы. Эта возможность имеется благодаря использованию ISG. При выполнении
обычных программ SPECTRUM через каждую 1/50 секунды останавливает выполнение
программ и вызывается подпрограмма в машинных кодах. по которой происходит
сканирование клавиатуры. При использовании "MEGA-BASIC" также производится ска-
нирование клавиатуры, но при этом если нужно можно производить звук имеются
следующие команды, управляющие 1SG:
Таблица 13.
команда |
содержание |
|
SOFF |
Отключение 1SG |
|
SON |
Включение ISG |
j SP N |
Если N = 0 то данные хранимые в звуковом буфере, водиться только 1 раз. Если N-1, то каждый раз |
будут воспроиз- |
S'i 0 |
Это новая команда управления звуковым буфером. SOUND приведен ниже. |
Формат команды |
SO Г) - N. А, В, С. D
N=0 - очистка звукового буфера,
N =1 - добавление в звуковой буфер новых звуков,
А=0 - звук,
А=1 - шум,
В - шаг звуковой частоты.
С - число шагов.
D - число повторений одной последовательности.
Более сложные звуки можно получать, замедлив выполнение программы. Вот корот-
кий пример, показывающий работу 1SG:
10 SOUND-O.0.1.20,255
20 SREP-1
30 S0H
40 MODE-4: ST1PPLE-6: F0NT-2
50 VDU-/128+RND*15/
60 PAPER RND 7 :v INK 9
70 GO TO 50
9. Машинные коды и "MEGA BASIC"
DOKE и CALL
В "MEGA-BASIC возможно выполнение подпрограмм в машинных кодах. Но. во-пер-
вых все подпрограммы в машинных кодах должны размещаться в участке памяти до
адреса 45000. Начиная с этого адреса н выше начинается сама программа "MEGA-
BASIC ". Во-вторых. "MEGA-BESIС" позволяет сразу же записывать в память двух-
байтовое число с помощью команды D0KE. После этой команды следует 2 числа. Пер-
вое указывает адрес, а второе - записываемую в память информацию.
Вызов подпрограммы в машинных кодах осуществляется с помощью команды CALL,
за которой следует число, указывающее адрес этой подпрограммы. За адресом может
следовать число, являющееся параметром для вызываемой подпрограммы, которое за-
писывается в стек.
10. Фронт- панель.
Фронт-панель обеспечивает возможность выполнять изменения в памяти и в ре-
гИстрах Z80. Фронт-панель активизируется либо по команде MON. либо по команде
CONTROLF при выполнении программы. Фронт-панель использует окно 3. а это всегда
почти по крайней мере 40 столбцов и 20 строк.
Как только фронт-панель активизируется, вы сразу же увидите столбцы 16-ричных
чисел. Слева - список регистров с аккумулятором вверху Звездочка указывает те-
кущий регистр. Справа - текущий участок памяти, на инверсной полосе которого
находится выполняемая строка. Манипуляции с данными фронт-панели можно выпол-
нять с помощью ряда однобуквенных команд, после которых может идти 3 16-ричных
числа. Числа должны быть записаны полностью, т. е. даже если отдельные разряды
равны 0, то это надо указать. Отметим, что N представляет собой 8-ми битовое
число, а NN 16 битовое число.
Таблица 14.
команда К NN Р |
содержание Запись в текущий регистр 16-ричного числа. |
Смещение указателя регистра j |
L NN.NN.NN |
Перемещениу блока памяти. 1-е число указывает адрес откуда второе число - адрес куда. 3-е - дли1ельно1 tь блока |
М NN |
Задание адреса текущей ячейки памяти. |
К |
Продолжение выполнения программы после на га теля |
1 NN.NN.NN |
Заполнение блока памяти. 1-е число начальный адрес блока. 2-е длительность блока. 3-е значение числа записываемого в блок |
J NN |
Вызов подпрограммы в машинных кодах записанной по адресу NN |
_________________________________ ____ I |
ENTER |
Смещение указателя текущей ячейки | |
|
_______________________________ _ _____
----------- ------ —1
Возврат к предыдущей ячейке | |