Программирование на Бейсик 48/128 для ZX-Spectrum 1993 г.

Введение - предисловие. Условные обозначения.


ПРЕДИСЛОВИЕ

ZX Spectrum, или как его ласково называют на родине в
Англии — Speccy, прочно вошел в жизнь многих наших
соотечественников. Он оказался идеальным вариантом недо-
рогого компьютера «для дома для семьи» (home computer).
Маленький Speccy с огромным пакетом программного обеспе-
чения, созданного за десять лет зарубежными программиста-
ми, стал своеобразной гуманитарной помощью Запада бывше-
му Союзу.

По традиции, сложившейся для машин класса home
computer, один из популярнейших языков программирования
BASIC (Бейсик) «вшит» в память ZX Spectrum. Это означает,
что компьютер готов к работе на Бейсике сразу после
включения.

Spectrum-Бейсик (так мы будем называть Бейсик 48, встро-
енный в ZX Spectrum) подробно, начиная с самых азов, описан
в первой главе книги. Большая часть этой главы адресована
тем, кто только учится программировать. Мы познакомим их с
клавиатурой ZX Spectrum, с математическими и графическими
возможностями Бейсика. Потом на примере написания про-
стенькой программы дадим основы программирования, рас-
скажем об операторах и функциях языка. Для более подготов-
ленных читателей написан специальный раздел — справочник,
где вся информация об операторах и функциях Spectrum-Бвй-
сика приведена в сжатой и строгой форме. Для оперативной
работы с книгой в ней, кроме подробного алфавитного спра-
вочника, вы найдете краткий систематический справочник, в
котором операторы и функции сгрупированны по областям их
применения.

В последнее время все большую популярность среди синкле-
ристов приобретает компьютер ZX Spectrum 128. Учитывая
это, в книгу включена глава о языке программирования Бей-
сйк 128, «вшитом» в память ZX Spectrum 128. В этой главе
основное внимание уделено главной достопримечательности
Бейсик 128 — оператору, с помощью которого осуществляет-
ся управление музыкальным сопроцессором ZX Spectrum 1 2&.

Глава, посвященная стандартному Spectrum-Бейсику,
написана А. Болдачевым, консультировали его Н. Родионов и
А. Ларченко. Материал о Бейсике 128 подготовила. Ларченко.

Условные обозначения, используемые в книге:

CS - клавиша Caps Shift;

SS - клавиша Symbol Shift;

CS/Z - клавиши нажимаются одновременно

(в данном случае Caps Shift и Z);
Y+Z — клавиши нажимаются последовательно

(в данном случае Y и Z);
[] - в квадратные скобки заключаются необязательные

элементы формата операторов и функций;
| - может использоваться один из нескольких

элементов формата, разделенных этим знаком.

SPECTRUM-БЕЙСИК

КОРОТКОЕ ВВЕДЕНИЕ

Это введение написано не для программистов, а для тех, кто
только собирается ими стать. Конечно, новичку нужна особая
книга, но, может быть, и эта начальная информация облегчит
понимание не столь уж хитрого языка программирования — Бей-
сик.

Начнем с самого простого. Попробуем ответить на вопрос, что
такое — компьютер? Что о нем должен знать программист?

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

Основное же, что должно интересовать программиста — это
список команд процессора. Ведь чем программист занимается?
Лишь тем, что составляет из команд последовательности, называе-
мые программами. И только.

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

Список команд индивидуален для каждого типа процессора и
закладывается раз и навсегда при его проектировании. Команды
доводятся до процессора в виде чисел — кодов. Распознавая эти
коды, он выполняет те или иные действия, например: пересылает
данные из одного места памяти в другое, выполняет математиче-
ские операции и другие элементарные преобразования. Последо-
вательность, составленная из команд процессора, называется про-
граммой в машинных кодах или просто программой в кодах.

Оперировать с набором кодов неудобно, и естественное стрем-
ление программистов научить машину понимать человеческую

речь привело к появлению всевозможных языков программирования
— систем, позволяющих записывать программы словами. Первым
делом для составления программ стали использовать мнемониче-
скую запись команд процессора — слова или наборы букв, одно-
значно соответствующие кодам. После того, как последователь-
ность указаний процессору записана с помощью мнемоник, ее
пропускают через специальную программу, которая переводит
слова в коды. Такая система прямого перевода получила название
язык программирования низкого уровня — ассемблер. «Слов» в ассем-
блере практически столько же, сколько команд процессора, выиг-
рыш получается лишь в наглядности представления программы.

Следующим niatoM в развитии языков программирования стала
идея «записывать» часто повторяющиеся последовательности ко-
дов одним, так называемым ключевым словом. Например, сказал
компьютеру: «PRINT 2*2» (что в приблизительном переводе с анг-
лийского означает: напечатай, сколько будет дважды два), а он и
сосчитает, и выведет результат на экран, то есть выполнит доста-
точно длинную, но стандартную последовательность команд про-
цессора. Ее надо только один раз составить, а потом использовать
и для «дважды два — четыре» и для «трижды три — где-то семь».

Таким образом, достаточно написать множество стандартных
последовательностей команд, выполняющих часто повторяющиеся
операции, например: «вычислить косинус выражения», «опросить
клавиатуру — не нажата ли клавиша?», «остановить выполнение
программы», «если некое условие соблюдено, то выполнить за-
данные действия» и т. д. После этого каждую из последователь-
ностей нужно назвать соответствующим человеческим словом:
COS, INKEY, STOP, IF...THEN — и получится язык программирования
высокого уровня.

Наиболее доступным из языков высокого уровня является Бей-
сик. Его исконное название — BASIC, а полностью — Beginner
All-purpose Symbolic Instruction Code, что в переводе означает «ин-
структивный многоцелевой код для начинающих». Принято счи-
тать Бейсик языком учебным: он проще других в изучении и
использовании. Но при этом Бейсик имеет все необходимые сред-
ства для решения большинства программистских задач. Впрочем,
о Бейсике мы еще наговоримся, а сейчас еще несколько слов о
языках программирования высокого уровня.

Итак, благодаря использованию в языках программирования
«человеческих» слов программы стало писать легче и быстрее. И
читать удобнее. Программисту. А компьютеру? Для компьютера
надо переводить текст программы на компьютер 1ый язык — язык
команд процессора. Программа, понимающая слова языка про-
граммирования и заменяющая их соответствующими последова-
тельностями команд процессора, называется транслятор (от англ.
translate — переводить).

Наиболее простой способ трансляции — это немедленный «до-
словный» перевод, так называемая интерпретация (от англ.
interpret — толковать). Программа, осуществляющая такой перевод,
называется интерпретатором. Она опознает ключевые слова язы-

к а программирования (COS, STOP и прочие) и тут же «подсовывает»
процессору соответствующую последовательность кодов.

Интерпретатор может работать в двух режимах: в непосредст-
венном режиме и в режиме выполнения программы. В непосредст-
венном режиме действие, заданное тем или иным ключевым сло-
вом, выполняется сразу же после введения слова с клавиатуры.
Для работы в режиме выполнения программы предварительно слова-
ми языка программирования записывается последовательность
требуемых от компьютера действий — текст программы. В тексте
расписывается, что сделать сначала, что потом, что откуда взять и
куда положить. Программа заносится в память компьютера и запу-
скается на выполнение, то есть интерпретатору даётся задание
слово за словом считывать из памяти текст программы и перево-
дить его на язык команд процессора: (Именно такой интерпретатор
«зашит» в постоянной памяти ZX Spectrum.)

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

От этих недостатков удалось избавиться с изобретением другого
способа трансляции — компиляции (от англ. compile — собирать).
Компилятор — специальная программа, исходным продуктом для
которой, как и для интерпретатора, является текст на соответству-
ющем языке программирования высокого уровня. Но в отличие от
интерпретатора, компилятор не выполняет предписанные этим
текстом действия немедленно, а создает, собирает из имеющихся в
нем стандартных последовательностей другую программу — в ко-
дах, не зависимую от каких либо трансляторов. Главная задача
кЪмпилятора — сделать программу максимально быстродействую-
щей. Откомпилированную программу, как и любую программу в
кодах, трудно читать и изменять. Приходится редактировать исход-
ный текст на языке высокого уровня и пропускать его вновь через
компилятор, чтобы получить новую программу в кодах.

Созданы компиляторы и для Spectrum-Бейсика. О них можно
почитать в книге [2]. А сейчас — об интерпретаторе Бейсика.
Основная часть первой главы рассчитана на начинающих. Для
уже имеющих опыт в программировании предназначен специаль-
ный раздел — «Справочник по Spectrum-Бейсику» (далее просто
«Справочник»).




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Epilogue - the end...
Разное - адреса редакции Gluk'a.
Мысли - ДЕВЯТОГО МАЯ - день Победы, а ВАС ЖДУТ В ВОЕНКОМАТАХ ГОРОДА!
Юмор - юмор от Sleepwalker'a.
Are You A Speccy Freak?

В этот день...   21 ноября