Арифметические процедуры.




ВВЕДЕНИЕ

 

Монитор Spectrum, объемом 16K, представляет собой сложную программу в машинных кодах Z80. Еe можно разделить на три основные части:

 

а. Программы ввода/вывода.

б. Интерпретатор BASIC.

в. Вычислительные процедуры.

 

Однако, для подробного описания эти блоки слишком громоздки, и поэтому монитор разделен еще на 10 частей. Каждая часть будет представлять собой элемент монитора.

 

Программы инициализации и таблицы

При старте монитора работают все программы-рестарты, которые выдаются однобайтовыми командами "RST". Используются все "рестарты". Например, "рестарт 000B" используется для сообщения об ошибках синтаксиса или <ошибках> исполняющей системы.

Таблицы а этой части монитора содержат расширенные формы лексем <токенов> и коды клавиш.

 

Программа работы с клавиатурой.

Обращение к клавиатуре происходит 50 раз в секунду (U.K. модель) с последующим возвратом требуемого символьного кода. При постоянном нажатии - клавиши "повторяются", что учитывается программой работы с клавиатурой.

 

Программы загрузки динамика.

В Spectrum встроен один динамик, звук которого создается с помощью повторяемых соответствующих команд "OUT". В контроллерной программе большое значение уделяется обеспечению звучания на заданной ноте при соответствующей длительности.

 

Программы обработки информации с кассетных лент.

Для ZX81 было неудачным то, что только небольшая часть монитора была предназначена для работы с кассетами. Однако, в Spectrum’е для этого есть большой блок программ, с помощью которого достигается высокий уровень работы с кассетами, что является одним из наиболее удачных свойств машины. С помощью блока «ЗАГОЛОВОК» (17 байт), который записывается < SAVE > первым, обрабатываются программы < BASIC > или блоки данных. Этот "заголовок" описывает "блок данных", записанный после него. Недостатком данной системы является невозможность создания программ с «защитой».

 

Программы загрузки экрана и принтера.

Все оставшиеся программы ввода/вывода Spectrum проходят через "информационные каналы".

В стандартном Spectrum-е "ввод" возможен только через клавиатуру, но "вывод" можно осуществить через принтер, или на верхнюю или нижнюю часть экрана телевизора.

Основной программой "ввода" в этой части монитора является EDITOR, который дает возможность пользователю вводить символы в нижнюю часть зкрана телевизора. Программа < PRINT-OUT > является довольно медленной, т.к. это - программа на "все случаи жизни". Например, добавление одного байта в "область дисплея" предполагает в каждом случае просмотр текущего состояния OVER и INVERSE.

 

Программы выполнения команд.

В этой части монитора находится процедура INITIALISATION и "основной цикл выполнения" интерпретатора BASIC.

В Spectrum-е строка BASIC, возвращаемая EDITOR -ом проверяется на правильность синтаксиса и затем записывается в программную область, если строка начинается номером строки, или в противном случае •выполняется*.

Это выполнение может в свою очередь привести к проверке следующе­го оператора. (Это ясно видно на примере RUN).

 

Интерпретатор строк и команд БЕЙСИК-а.

Эта часть монитора рассматривает BASIC -строку как набор операторов и в свою очередь каждый оператор как начало конкретной команды.

Для каждой команды существует “командная процедура” и выполнение машинного кода в соответствующей "командной процедуре" воздействует на “интерпретацию”.

 

Обработка выражений.

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

Обработка строк частично управляема. Все простые строки управляются "динамически" и старые записи исправляются после того, как они были зарезервированы. Это означает, что не происходит "сбор ненужной информации".

 

Арифметические процедуры.

Spectrum имеет две формы представления чисел. Целые числа в диапазоне от -65535 до +65535 представляются в "целостной" или "короткой" формах, в то время как все остальные числа в форме с плавающей точкой размером в пять байт.

Представленная версия монитора обладает двумя ошибками в данной части.

1. Ошибка деления, при которой вo время деления теряется 34-й разряд.

2. Величина -65536 иногда берется в "короткой" форме, а иногда с "плавающей точкой", что приводит к некоторым неудобствам.

 

Вычислитель.

CALCULATOR обрабатывает числа и строки, а также команды,

называемые «литералами». Поэтому можно считать, что в CALCULATOR e имеется внутренний "стековый операционный" язык.

Вычисления SIN X, EXP X, LN X & ATN X осуществляются с помошью полиномов Чебышева. Подробности приведены в приложении.

 

В целом 16К байтный монитор предлагает широкий диапазон различных команд и функций BASIC. Поскольку программистам всегда не хватает «места», то программы написаны с точки зрения компактности, а не быстродействия.

 

От издателя:

1) Необходимо отметить, что в СНГ существует множество реализаций знаменитого ZX-Spectrum (как промышленных, так и самодель­ных).

Все они отличаются друг от друга не только конструктивными особенностями, но и ПЗУ. Поэтому у Вас могут возникнуть некоторые недоразумения при освоении этой книги. По этой же причине не работают и некоторые фирменные программы. Однако эти отличия ПЗУ от фирменного обычно незначительны и степень совместимости таких ПК довольна высока. В основном изменения в ПЗУ вносятся при попытках адаптации под различ­ные национальные шрифты.

2) Вы наверняка заметили, что в книгах, содержащих примеры небольших программ, обязательно находятся ошибки в их текстах (обычно это выяс­няется, когда программа введена в компьютер). Естественно,

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

Наш адрес: 310085 Харьков-85 а/я 9207 НПФ «Программ-Асс»

 

Обратившись с письмом по этому же адресу Вы можете приобрести также и другую литературу как оптом, так и в розницу. Ждем также предложений от книго-торговых организаций на oптовую закупку литературы. У нас Вы можете приобрести уникальную литературу по ZX-Speсtrum!

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: