Author: Матвеев А.А. Осипов Л.А. Смотров В.М.
Tags: радиоэлектроника электротехника вычислительная техника персональные эвм брошюра знание новое в жизни науке технике - серия вычислительная техника и ее применение
ISBN: 5-07-002407-8
Year: 1992
ВЫЧИСЛИТЕЛЬНАЯ
ТЕХНИКА
И ЕЕ ПРИМЕНЕНИЕ
Персональная ЭВМ
«Микроша»
Новое
в жизни,
науке,
технике
Подписная
научно-
популярная
серия
Издается
ежемесячно
С 1988 г.
Издательство Знание
1992
1
Новое
в жизни,
науке,
технике
Подписная
научно-
популярная
серия
1/1992
Издается
ежемесячно
с 1988 г.
ВЫЧИСЛИТЕЛЬНАЯ
ТЕХНИКА
И ЕЕ ПРИМЕНЕНИЕ
ПЕРСОНАЛЬНАЯ ЭВМ
«МИКРОША»
в номере:
А.А. Матвеев
ПЕРСОНАЛЬНАЯ
ЭЛЕКТРОННАЯ
ВЫЧИСЛИТЕЛЬНАЯ
МАШИНА «МИКРОША»
Л.О. Осипов
РАБОТАЕМ НА «МИКРОШЕ»
Р.А. Сузи
ПЕРЕМЕЩАЕМЫЕ
ПРОГРАММЫ
В.М. Смотров, Д.П. Павловец
ПРОГРАММНО-АППАРАТНЫЙ
КОМПЛЕКС НА БАЗЕ ПЭВМ
IBM PC ХТ/АТ ДЛЯ
ПРОГРАММИРОВАНИЯ
МИКРОСХЕМ
РУБРИКИ
БК за рога
Доска объявлений
Москва
Издательство
«Знание»
1992
Авторы
выпуска
ББК 32. 97
П26
МАТВЕЕВ АЛЕКСЕЙ АНАТОЛЬЕВИЧ —
инженер Лианозовского электромеханического завода.
ОСИПОВ ЛЕВ АЛЕКСЕЕВИЧ — кандидат
технических наук, доцент, специалист по информатике
и вычислительной технике. Лауреат Всесоюзного
конкурса программных средств ПЭВМ.
СМОТРОВ ВЛАДИМИР МИХАЙЛОВИЧ —
начальник бюро Уральского оптико-механического завода
ПАВЛОВЕЦ ВЛАДИМИР МИХАЙЛОВИЧ —
инженер Уральского оптико-механического завода.
СУЗИ РОМАН АРВИЕВИЧ — программист.
ИВАШИННИКОВ СЕРГЕЙ АНАТОЛЬЕВИЧ —
программист, работает в компьютерном центре
"Сигма”;
ТАЛАНОВ СЕРГЕЙ ПАВЛОВИЧ —
программист.
Редактор Б.М.Васильев
ISBN 5-07-002407-8
© Издательство «Знание», 1992 г.
Многие наши читатели справедливо замечают, что редакция слиш¬
ком много внимания уделяет ПЭВМ БК 0010. Есть материалы по
IBM и совместимым с ними машинам, есть материалы по програм¬
мируемым калькуляторам. И это практически весь набор вычисли¬
тельной техники, отображаемой на страницах ВТ. Сегодня предла¬
гаем вниманию читателей несколько статей по ПЭВМ "Микроша".
Если активность наших читателей-"Микрошников” сравнится с ак¬
тивностью БэКашников Сдаже частично), тогда возможна будет но¬
вая рубрика. Пишите!
А.А.Матвеев
Персональная электронная
вычислительная машина
'Микроша1
Персональная электронная вычис¬
лительная машина (ПЭВМ) "Микро¬
ша", выпуск которой был освоен на
Лианозовском электромеханическом
заводе в 1987 году, явилась одной из
первых вычислительных машин, ори¬
ентированных на использование в до¬
машних условиях. Назначение ком¬
пьютера предопределило особенности
его архитектуры и программного
обеспечения. При разработке предпо¬
лагалось, что "Микроша" будет экс¬
плуатироваться вместе с черно-белым
телевизором в качестве видеомонитора
и бытовым кассетным магнитофоном в
качестве накопителя, поэтому интер¬
фейсы связи с этими устройствами пре¬
дельно просты при одновременно высо¬
кой надежности и эффективности.
Большую часть (до 70%) всего про¬
граммного обеспечения, разработанного
к настоящему времени для "Микроши",
составляют игры. Немалый интерес
представляют и прикладные програм¬
мы, позволяющие реализовать на
ПЭВМ базы данных, справочники,
математическую и статистическую об¬
работку результатов. Для тех же, кто
не желает ограничивать себя чисто
"потребительским" общением с компь¬
ютером, "Микроша" предложит языки
программирования BASIC, PASKAL,
FORTRAN, FORT, С и язык ассембле¬
ра.
Конструктивно ПЭВМ "Микроша"
состоит из трех блоков: системного,
блока питания и модулятора.
Системный блок смонтирован на од¬
ной плате вместе с 68-контактной кла¬
виатурной матрицей. Такая компонов¬
ка значительно снизила массу и габари¬
ты всей ПЭВМ. Блок питания выраба¬
тывает необходимые для работы компь¬
ютера напряжения питания +5 В, +12 В,
и -5 В. Нагрузочная способность блока
по напряжению +5 В допускает подклю¬
чение к системному блоку внешнего ус¬
тройства с током потребления до lA. Мо¬
дулятор — устройство, обеспечивающее
стыковку видеовыхода системного блока
и антенного входа телевизора. Модулятор
применяется в тех случаях, когда телеви¬
зор, используемый как видеомонитор, не
имеет отдельного видеовхода.
В комплект поставки ПЭВМ "Микро¬
ша" входят также кассета с программ¬
ным обеспечением и руководство по
эксплуатации.
Архитектура
К характерной особенности компью¬
тера относится широкое применение
больших интегральных схем (микро¬
процессорного комплекта KP580). Та¬
кое построение позволило резко со¬
кратить количество микросхем сред¬
ней степени интеграции, что в свою
очередь сказалось на цене компьюте¬
ра, сняло все проблемы стыковки раз¬
личных функциональных узлов ПЭВМ
и сделало возможным программный
доступ к ним.
Основным процессорным элементом в
"Микроше" является БИС KP580BM80A,
тактируемая частотой 1,8 МГц. Сигналы
синхронизации вырабатываются такто¬
вым генератором, собранным на БИС
4
А.А.Матвеев
КР580ГФ24. Тактовая частота в 1,8 МГц
позволяет процессору выполнять опера¬
ции типа регистр — регистр за 3 мкс.
Внутренняя шина данных компьюте¬
ра общая для всех функциональных уз¬
лов. Выбор того или иного устройства
ввода-вывода или области памяти про¬
изводится путем дешифрации старших
разрядов адреса. Шина данных ПЭВМ
— восьми-, а шина адреса — шестнад¬
цатиразрядная.
Оперативное запоминающее устройст¬
во динамического типа выполнено на шес¬
тнадцати микросхемах КР565РУ6Д и
имеет объем 32 К восьмиразрядных слов.
Постоянное запоминающее устройство со¬
держит одну микросхему ПЗУ типа
К573РФ2 и имеет объем 2 Кбайт. ПЗУ
хранит резидентную программу, назван¬
ную "Системный монитор". С ее помощью
производится первоначальная установка
параметров компьютера и организуется
простейший диалог с пользователем.
Схемы регенерации ОЗУ и форми¬
рования видеосигнала выполнены на
БИС KP580BT57 и КР580ВГ75. Зада¬
вать режимы функционирования этих
микросхем можно программно. Следо¬
вательно, в программах пользователя
возможны различные визуальные эф¬
фекты.
Контроллер клавиатуры реализован
на БИС KP580BB55A. Сканирование
нормально разомкнутой матрицы кла¬
виатуры и опрос порта ввода произво¬
дятся "Системным монитором". По ли¬
ниям канала с этой микросхемы переда¬
ются также сигналы чтения/записи с
накопителя и сигналы управления ди¬
намической головкой.
В ПЭВМ "Микроша" применены еще
две БИС, выполняющие сервисные
функции: интегральный таймер
КР580ВИ53 и программируемый па¬
раллельный интерфейс KP580BB55A.
Интегральный таймер имеет три про¬
граммируемых канала. Сигнал с одного
из них подается на динамическую голо¬
вку системного блока, обеспечивая зву¬
ковое сопровождение программ, два
других введены на разъемы "Внутрен¬
ний интерфейс" и "Интерфейс-2". Эти¬
ми сигналами могут тактироваться раз¬
личные внешние устройства. Програм¬
мируемый параллельный интерфейс не¬
обходим для организации параллельно¬
го и последовательного обмена данными
с внешними устройствами. Наличие
трех разъемов для подключения внешних
устройств ("Интерфейс-1", "Интерфейс-2"
и "Внутренний интерфейс") очень важно
для расширения функциональных воз¬
можностей "Микроши". Более подробно
с устройством ПЭВМ "Микроша" можно
ознакомиться в [1 ].
Внешние устройства
Конструкцией ПЭВМ "Микроша"
предусмотрена возможность подключе¬
ния к системному блоку различных
внешних устройств. К таким устройст¬
вам можно отнести: модули расширения
оперативной и постоянной памяти, про¬
грамматоры РПЗУ, контроллеры диско¬
водов, печатающие устройства, моде¬
мы, джойстики и т.п. Для работы неко¬
торых из них требуется доступ к внут¬
ренним шинам компьютера. Так, в мо¬
дуле дополнительного ПЗУ использу¬
ются сигналы чтения и выбора микро¬
схемы, формируемые соответственно
процессором и дешифратором адреса.
Подключение таких устройств произво¬
дится через 64-контактный разъем
"Внутренний интерфейс".
В настоящее время на заводе-изгото-
вителе ПЭВМ "Микроша" освоен вы¬
пуск дополнительных модулей ОЗУ и
ПЗУ. Если подключить эти модули к
"Микроше", то объем оперативной па¬
мяти компьютера может достигнуть 48
Кбайт, а постоянной — 18 Кбайт. Мо¬
дуль ОЗУ необходим прежде всего для
программистов, занимающихся разра¬
боткой собственного программного
обеспечения. Программная поддержка
модуля осуществляется программами
"BASIC-PLUS 48K" И "Макроассемблер
48K". Модуль ПЗУ исключает потери
времени, связанные с необходимостью
ввода с магнитофона часто используемых
программ. Если компьютер эксплуатиру¬
ется совместно с модулем ПЗУ, то языки
BASIC-PLUSH Ассемблер, а также про¬
грамма "Редактор текстов" доступны
пользователю сразу после включения пи¬
тания. Реализация модулей ПЗУ по цене
251 руб. и ОЗУ по цене 157 руб. (здесь и
далее цены на октябрь 1991 г.) произво¬
дится в специализированных магазинах
"Радиотехника", "Электроника" и т.п.
В ближайших планах предприятия
намечен выпуск комплекта принтера
Персональная ЭВМ "Микроша"
5
для ПЭВМ "Микроша”. Предполагает¬
ся, что в комплекте будет отечественное
печатающее устройство "Электроника
MC6313" версии LX800/FX800. Это пе¬
чатающее устройствореализует систе¬
му комацд EPSON и обладает широкими
функциональными возможностями: вывод
алфавитно-цифровой и графической
информации, управление режимами и
шрифтами печати, задание формата пе¬
чати и т.д. За небольшим исключением
этот принтер аналогичен широко изве¬
стной модели "EPSON LX-800". Один¬
надцатижильный соединительный ка¬
бель, также включаемый в комплект,
необходим для обмена информацией
между принтером и ПЭВМ. "Микроша"
формирует и передает на принтер сиг¬
налы данных и стробирования, а в об¬
ратном направлении поступает сигнал
готовности печатающего устройства.
Кабель подключается к разъему "Ин¬
терфейс-2" системного блока.
Для правильной работы печатающего
устройства обмен информацией с ПЭВМ
должен быть организован по интерфейсу
CENTRONICS (ИРПР-м). Сам интер¬
фейс рассматривается в [2], а подпрог¬
рамма, реализующая указанный прото¬
кол обмена, подробно описана в [1 ].
В целях программной поддержки
печатающего устройства был разрабо¬
тан целый ряд программ. Некоторые
из них, например COPYGRAF BASIC-
LPLUS и DRIVER вошли в состав мо¬
дуля ПЗУ, поставляемого в комплекте
принтера. Кроме этого, в модуле содер¬
жаться программы "Редактор текстов"
и "Текст".
Программа COPYGRAF служит для
получения на бумаге копии изображе¬
ния, сформированного на экране теле¬
визора. С ее помощью пользователь мо¬
жет сформировать изображение на экра¬
не из любых алфавитно-цифровых или
псевдографических символов, отредак¬
тировать его, сохранить на магнитной
ленте и распечатать. Размер выводимого
изображения 64x32 знакоместа, что
приблизительно соответствует половине
страницы формата A4.
Язык программирования BASIC-
LPLUS аналогичен широко распростра¬
ненной версии BASIC-PLUS. Единст¬
венное их различие заключается в том,
что при использовании BASIC-LPLUS
программист может получать распечат¬
ки текста программы и результатов ее
работы не только на экране, но и на бу¬
маге. Это стало возможно после введе¬
ния в язык программирования двух до¬
полнительных операторов: LLIST и
LPRINT. Оператором LPRINT, кроме
этого, задаются режимы функциониро¬
вания печатающего устройства.
Программа "DRIVER" предназна¬
чена для вывода на печать текстов,
сформированных под управлением "Ре¬
дактора текстов" (редактор "Микрон").
С помощью специальных символов,
расположенных в тексте, производится
задание режимов работы печатающего
устройства. Например, пользователь
может управлять расположением пра¬
вой и левой границ текста, длиной стра¬
ницы, изменять алфавиты с латинского
на русский и обратно, а также выбирать
один из десяти основных шрифтов и лю¬
бую их комбинацию. С помощью допол¬
нительной функции программы
DRIVER имеется возможность распе¬
чатки содержимого любой области па¬
мяти ПЭВМ в виде шестнадцатиричного
дампа.
Программа "Текст" производит опе¬
ративный контроль за правильностью
функционирования всего комплекта.
По программе "Текст" принтер копиру¬
ет на бумаге свой знакогенератор, после
чего распечатка может быть сверена с
эталонной, приведенной в эксплуатаци¬
онной документации.
Первая партия комплектов появится
в розничной торговле в начале 1992 г.
Цена комплекта ориентировочно соста¬
вит 2 тыс. руб.
Как показывает опыт длительной экс¬
плуатации ПЭВМ "Микроша", основные
затраты времени при работе с внешними
устройствами приходятся на информаци¬
онный обмен с магнитофоном. Примене¬
ние накопителя на гибких магнитных дис¬
ках (НГМД), осуществляющего произ¬
вольный доступ к информации, карди¬
нально решает эту проблему. Специали¬
стами Лианозовского электромеханиче¬
ского завода разработан контроллер
НГМД, стыкующий накопители типа TE-
AC FD55 (Япония) EC5323.01 (Болгария)
и MC5311 (СССР) с ПЭВМ "Микроша".
Запись информации производится на две
стороны 5.15 дюймовой дискеты с одинар¬
ной плотностью. Форматированная ем¬
кость диска — 400 Кбайт. Контроллер
6
А.А.Матвеев
НГМД выполнен на микросхемах боль¬
шой и средней степени интеграции и не
содержит дефицитных элементов. Под¬
ключается контроллер к разъему "Внут¬
ренний инитерфейс" системного блока,
при этом никаких доработок ПЭВМ не
требуется. Функционирование устройст¬
ва поддерживается специально разрабо¬
танной дисковой операционной системой
DOS 2.4. При минимальном объеме (4
Кбайт) операционная система предо¬
ставляет пользователю широкие воз¬
можности по работе с файлами. Боль¬
шинство команд операционной системы
аналогичны по синтаксису и функциям
командам ОС CP/M. В настоящее время
предприятием изучаются возможности
промышленного выпуска контроллеров
НГМД и спрос на указанное изделие.
В 1991 году поступила в розничную
продажу первая партия ПЭВМ "Микро-
ша", укомплектованных видеомонито¬
ром "Электроника MC6105". Качество
изображения, получаемое на экране ви¬
деомонитора, на порядок выше телеви¬
зионного и приближается к уровню про¬
фессиональных ЭВМ. Таким образом,
широкий набор периферийного обору¬
дования превращает бытовой компью-
тер-игрушку в достаточно мощную вы¬
числительную систему.
Программное обеспечение
С момента появления в розничной
торговле первых партий ПЭВМ прошло
почти 5 лет. За это время объем про¬
граммного обеспечения (ПО) "Микро-
ши" вырос настолько, что предприятию-
изготовителю пришлось всерьез заняться
его систематизацией и реализацией. Рас¬
пространение ПО производится путем
продажи выпусков кассет с дополнитель¬
ным программным обеспечением. К нача¬
лу 1992 года планируется довести количе¬
ство таких выпусков до 18. В состав каж¬
дого выпуска входят две-три системные
иди прикладные программы, а также че-
тыре-пять игровых. При непростой ситуа¬
ции, сложившейся в торговле, нет уверен¬
ности в том, что та или иная программа
дойдет до потребителя с первого раза, поэ¬
тому наиболее удачные программы в неко¬
торых выпусках повторяются. Цена одной
кассеты 33 руб. 30 коп. Кассеты поступают
в розничную торговлю, а также частично в
систему Роспосылторга, ще потребитель
может сделать заказ на интересующее
его программное обеспечение.
По содержанию кассет можно просле¬
дить эволюцию программного обеспече¬
ния, улучшение его качества. Особенно
заметно это отразилось на игровом про¬
граммном обеспечении. Например, в со¬
став первых выпусков вошли одноэкран¬
ные программы TETRIS, XONIX, "Удав",
не отличающиеся сложностью сюжета и
разнообразием игровых ситуаций, в то
время как последние выпуски содержат
многоэкранные игры BOLDER DUSH,
ZYCAPS, "Арканоид", графические иг¬
ры ALIEN AMBUSH и RISE. Некоторые
из них имеют встроенные или загружа¬
емые экранные редакторы, при исполь¬
зовании которых играющий может не
только видоизменять уже имеющиеся
игровые экраны, но и составлять совер¬
шенно новые в соответствии со своими
пожеланиями. Ниже в качестве приме¬
ра приводится описание программы
"Паника". Текст программы в маШин-
ных кодах содержится в Приложении 1.
В игре "Паника" перед играющим
стоит задача: очистить многоэтажный
лабиринт от поселившихся там вредных
пауков ([0], <0> и (0)). Для этого в пе¬
рекрытиях, разделяющих этажи, необ¬
ходимо с помощью клавиши "F3" про¬
бить отверстия-ловушки. После того
как один из пауков попадает в ловушку
необходимо подбежать к нему и сбро¬
сить его вниз клавишей "F3". Нужно по¬
мнить, что паук типа (0) погибает при
пролете одного этажа, типа <0> — двух,
а [0] — трех этажей. По окончании
очистки очередного лабиринта необхо¬
димо забраться на самую высокую лест¬
ницу, после чего последует переход на
следующий уровень.
Конечно, ПЭВМ "Микроша" не может
соперничать по объему программного
обеспечения с компьютерами типа
"Spectrum" или IBM, но как и каждый
"уважающий себя" компьютер, "Микро¬
ша" способен играть в шашки и шахматы,
причем на кассетах с дополнительным ПО
поставляются две версии шахматной про¬
граммы. По отзывам потребителей, среди
логических программ можно выделить
REVERSI, BOLDER DUSH, PUSHER и
STATUS-QUO. Наиболее привлекатель¬
ными динамичными программами при¬
знаны KROSSFR, "Арканоид", ZYCAPS,
ALIEN AMBUSH, RISE и ряддругих.
Персональная ЭВМ "Микроша"
7
Прикладное программное обеспече¬
ние для ЭВМ "Микроша" представлено
программами "Загрузчик", "Графиче¬
ский редактор", "Медиатор", "Микалк",
"Электронная картотека" и т.д.
Программа "Загрузчик" применяется
для ввода с магнитной ленты программ,
записанных в формате "Системного мо¬
нитора" "Микроши" с произвольной (не¬
известной) скоростью. Кроме этого,
применение "Загрузчика" позволяет ис¬
ключить ошибки считывания программ в
машинных кодах, если скорость воспро¬
изведения магнитофона, используемого в
качестве накопителя, отлична от номи¬
нальной.
Программа "Графический редактор"
предназначена для оперативного создания
различных иллюстративных материалов:
графиков, схем, заставок и т.д. При работе
с редактором экран дисплея содержит
128 точек по горизонтали и 64 точки по
вертикали. В этом случае вертикальные
линии, так же как и горизонтальные,
отображаются как непрерывные. Такой
формат отображения достигается соот¬
ветствующей настройкой контроллера
дисплея КР580ВГ75. Графический редак¬
тор позволяет организовать в памяти
ПЭВМ девять экранов для хранения гра¬
фической информации.
С помощью программы "Медитор" мож¬
но составлять, редактировать и исполнять
различные мелодии. Звуковоспроизводя¬
щим устройством при этом является дина¬
мическая головка системного блока. Кроме
этого, в программе предусмотрена возмож¬
ность сохранения файла данных, кодирую¬
щих мелодию, на магнитной ленте.
Прикладная программа "Микалк"
предназначена для обработки таблич¬
ной информации и сохранения резуль¬
татов обработки на магнитной ленте
как в сооственном формате "Микалка",
так и в формате редактора "Микрон".
Последний формат дает возможность
представлять результаты вычислений в
фюрме, удобной пользователю.
Программа "Электронная картотека"
служит для создания, редактирования и
практического использования баз данных
на ПЭВМ "Микроша". База данных — это
набор самых разнообразных сведений о
каком-либо явлении, предмете или про¬
цессе. В обычном виде такие базы данных
оформляются в виде справочников, одна¬
ко поиск необходимой информации в
справочнике занимает немало времени.
Кроме этого, возможности расширения
обьема справочника минимальны. Все это
делает предпочтительным использование
баз данных, организованных и управляе¬
мых с помощью ЭВМ. Вариантом програм¬
мы, обслуживающей такие базы, и явля¬
ется "Электронная картотека".
Отдельного внимания заслуживают
языки программирования. Как уже от¬
мечалось, к настоящему моменту
ПЭВМ способна вести диалог с про¬
граммистом на языках высокого уровня
BASIK, PASKAL, С, FORTRAN. Язы¬
ки С, FORTRAN и PASKAL, так же
как и программа "Ассемблер", работа¬
ют совместно с текстовым редактором
"Микрон". Язык программирования
BASIK реализован в виде интерпрета¬
тора, в то время как С и язык ассембле¬
ра — в виде компилятора. Остальные
языки для выполнения программы фор¬
мируют особый кодовый файл. Наибо¬
лее широкая перспектива открывается
перед языком С.
Программирование на С менее трудо¬
емко по сравнению с программированием
на Ассемблере из-за использования в нем
конструкций, присущих языкам высоко¬
го уровня. Одновременно с этим резуль¬
татом работы компилятора С служит
программа в машинных кодах; следова¬
тельно, ее быстродействие сравнимо с бы¬
стродействие программ, составленных на
Ассемблере, и в несколько раз выше, чем
у программ на BASIC. В качестве приме¬
ра с возможностями языка С можно озна¬
комиться по игре "Странный теннис",
текст которой приведен в Приложении 2.
В заключение необходимо рассмот¬
реть проблему программной совмести¬
мости ПЭВМ "Микроша" и других оте¬
чественных компьютеров. Действитель¬
но, "Микроша" полностью программно
совместима только с ПЭВМ "Криста" и
частично — С ПЭВМ "Радио-86РК", а
также моделями на ее основе. Компьюте¬
ры "АпогейЧН", "Партнер", "Вектор" и
другие, получившие сейчас широкое рас¬
пространение, несмотря на принципиаль¬
ное сходство с "Микрошей", не могут рабо-
rait> с ее программным обеспечением. Од¬
новременно невозможно и обратное адап¬
тирование. Такая ситуация врад ли может
быть поставлена в вину разработчикам и
изготовителям "Микроши", так как к мо¬
менту проектирования компьютеров ново¬
8
А.А.Матвеев
го поколения "Микроша" была уже се¬
рийной моделью и этот факт можно бы¬
ло бы в той или иной мере учесть. По
разным причинам этою не произошло, и
сейчас на рынке присутствует несколько
типов компьютеров, программно несовме¬
стимых между собой. Конечно, были по¬
пытки создать программы-адаптеры для
перевода программного обеспечения дру¬
гих ПЭВМ в формат "Микроши". Однако
удачной можно считать лишь программу
"Адаптер ПО", позволяющую адаптиро¬
вать на "Микрошу" часть ПО компьютера
"Радио-86РК".
Области применения
Недорогой, простой в управлении и
удобный в эксплуатации компьютер
"Микроша" приобрел известность имен¬
но как бытовой компьютер, способный
удовлетворить потребности всех членов
семьи. Для детей он становится незаме¬
нимым партнером виграх, школьникам
помогает в обучении и математических
расчетах, взрослые с его помощью мо¬
гут, например, составить каталог до¬
машней библиотеки или справочник ку¬
линарных рецептов.
Однако в последнее время все отчет¬
ливее прослеживается тенденция нетра¬
диционного применения ПЭВМ "Мик¬
роша". Несмотря ни на что, компьюте¬
ры все шире внедряются в науку, тех¬
нику, систему образования и медицину.
Для исследований и управления приоб¬
ретаются дорогостоящие импортные
компьютеры, хотя чаще всего работают
они по два-три часа в день, да и то в ка¬
честве электронной пишущей машинки.
Импортные ЭВМ приносили бы огром¬
ную пользу при существовании в нашей
стране мощных информационных се¬
тей, но пока их нет и компьютеры, к со¬
жалению, большую часть времени без¬
действуют. С другой стороны, недорогие
микро-ЭВМ типа "Микроши", оснащен¬
ные специализированными контролле¬
рами, способны в некоторых областях
заменить их без существенных затрат.
Конечно, речь не идет о том, чтобы, на¬
пример, заменить IBM на "Микрошу" в
системах технического зрения или уп¬
равления безлюдным технологическим
процессом. Область применения "Мик¬
роши" значительно уже. Рассмотреть ее
можно на нескольких примерах.
Специалистами ЛЭМЗа совместно с
Ивановским филиалом Института здо¬
ровья семьи АМН СССР на основе
ПЭВМ "Микроша" был разработан кор¬
ректор дыхания для людей, страдающих
нарушением ритмики дыхания. Прин¬
цип действия корректора основан на ме¬
тоде биологической обратной связи. На
груди пациента укрепляется специаль¬
ный датчик, изменяющий свое электри¬
ческое сопротивление в зависимости от
растягивающих усилий, прикладывае¬
мых к нему. При дыхании объем груд¬
ной клетки постоянно изменяется, и
сигнал, снимаемый с датчика, отслежи¬
вает это изменение. Сигнал после уси¬
ления до необходимого уровня подается
на вход аналого-цифрового преобразо¬
вателя. Цифровой код с выхода АЦП
считывается процессором, обрабатыва¬
ется и выводится на экран в виде стол¬
бика переменной высоты. Таким обра¬
зом на экране отображается ритм дыха¬
ния пациента. Рядом с ритмом паци¬
ента на экран выводится эталонный
ритм. Пытаясь их уравнять, пациент
учится удерживать правильный ритм
дыхания. Параметрами эталонного рит¬
ма (частотой и глубиной дыхания, вре¬
менем вдоха и выдоха) управляет леча¬
щий врач с клавиатуры компьютера.
Устройство предназначено для исполь¬
зования в поликлиниках, в лечебно¬
физкультурных диспансерах.
По заказу ВНИИСпорта был разра¬
ботан прибор для определения объек¬
тивных параметров различных мышц
спортсменов. Измеряемыми парамет¬
рами являются собственная частота
напряженной и расслабленной мышцы
и логарифмический коэффициент за¬
тухания синусоидальных колебаний,
возникающих в мышце после кратко¬
временного механического воздейст¬
вия. Частота измеряемых колебаний
составляла от одного до нескольких
десятков гигагерц.
Основная сложность при разработке
прибора состояла в том, чтобы обеспе¬
чить математическую обработку сину¬
соидального колебания. Программа, ее
реализующая, была построена по алго¬
ритму быстрого преобразования Фурье
и обеспечила погрешность измерений до
5%. По окончании всех преобразований
результат измерений выводится на све¬
тодиодный индикатор и одновременно
Персональная ЭВМ "Микроша"
9
на печатающее устройство. При работе
прибора не требуются телевизор и маг¬
нитофон (управляющая программа со¬
держится в ПЗУ контроллера), что сде¬
лало возможным создать переносной ва¬
риант прибора.
Заключение
Объем данной статьи не позволяет
более подробно ознакомить читателей с
функциями и возможностями ПЭВМ
"Микроша". Возможно, что не все воп¬
росы получили в ней достаточное осве¬
щение. Получить дополнительные кон¬
сультации можно по московскому теле¬
фону 485-25-88.
Литература
L Попов C.H. Персональный ком¬
пьютер "Микроша ' и его программ¬
ное обеспечение. — М.: НПК "Эмис",
1990.
2. Мянев AA, Степанов B.H., Щер-
бо B.K. Интерфейсы систем обработ¬
ки данных. — М.: Радио и связь, 1989.
ПРИЛОЖЕНИЕ 1
ПРОГРАММА “ПАНИКА"
0000
AF
32
6C
14
CD
lB
11
C3
78
00
21
lB
00
79
81
85
0010
6F
7E
80
23
66
6F
7C
СЕ
00
67
C9
C4
7E
76
7E
28
0020
7E
DA
7D
8C
7D
ЗЕ
7D
F0
7C
A2
7C
54
7C
06
7 С
B8
0030
7B
6A
7B
lC
7B
СЕ
7A
60
7A
32
7A
E4
79
96
79
48
0040
79
FA
78
АС
78
5E
78
10
78
C2
77
74
77
16
00
19
0050
C9
16
00
19
19
19
C9
E5
D5
21
6D
00
ЗА
77
00
86
0060
lE
0A
56
77
7A
23
lD
F2
62
00
D1
El
C9
lE
22
44
0070
5E
12
6F
77
DC
0A
73
53
AF
32
8F
14
32
6F
14
32
0080
70
14
32
71
14
32
6E
14
32
9F
14
32
АО
14
21
0D
0090
10
22
A1
14
21
63
07
11
8B
07
CD
31
02
CD
B6
06
00A0
0E
lF
CD
09
F8
ЗЕ
0A
32
9B
14
01
01
01
CD
0A
00
00B0
11
7F
ЗЕ
73
23
15
C2
B3
00
0E
01
CD
57
00
E6
03
ooco
3D
CA
D2
00
3D
CA
D8
00
3D
CA
DE
00
11
76
01
C3
00D0
E1
00
11
9B
01
C3
E1
00
11
BE
01
C3
El
00
11
E5
00E0
01
lA
13
FE
80
C2
ED
00
06
F5
C3
2B
01
B7
C2
00
00F0
01
ЗС
32
82
14
ЗЕ
05
81
4F
lA
13
32
7D
14
lA
13
0100
32
7E
14
ЗА
82
14
B7
CA
lE
01
ЗА
7D
14
47
CD
0A
0110
00
36
17
04
ЗА
7E
14
B8
F2
0E
01
ЗА
82
14
2F
32
0120
82
14
ЗА
7E
14
32
7D
14
C3
El
00
lA
13
FE
80
CA
0130
07
02
B7
C2
45
01
ЗС
32
82
14
ЗЕ
ОС
80
47
lA
32
0140
80
14
13
lA
13
32
81
14
ЗА
82
14
B7
CA
69
01
ЗА
0150
80
14
4F
CD
0A
00
36
23
23
36
20
23
36
23
ОС
ЗА
0160
81
14
B9
F2
53
01
ЗА
82
14
2F
32
82
14
ЗА
81
14
0170
32
80
14
C3
2B
01
00
01
0F
lB
27
33
ЗЕ
00
01
lB
0180
33
ЗЕ
00
01
ЗЕ
00
01
0F
27
ЗЕ
80
00
02
11
00
10
0190
16
00
02
11
00
06
16
00
02
16
80
00
01
ЗЕ
00
01
01A0
ЗЕ
00
01
ЗЕ
00
0F
27
33
ЗЕ
80
00
02
ОС
00
0B
16
01B0
00
02
11
00
06
0C
10
16
00
02
07
0B
16
80
00
01
01C0
ЗЕ
00
01
0F
lB
27
33
ЗЕ
00
01
ЗЕ
00
0F
33
80
00
10
А.А.Матвеев
01D0
07
11
00
02
ОС
10
16
00
02
11
00
06
ОС
10
16
00
01E0
02
07
OB
16
80
00
OF
ЗЕ
00
01
lB
33
ЗЕ
00
01
ЗЕ
01F0
00
01
33
80
00
02
16
00
06
16
00
02
11
00
06
10
0200
00
OB
16
00
02
ОС
80
CD
82
09
32
7A
14
32
89
14
0210
32
99
14
32
7B
14
32
88
14
32
82
14
32
9C
14
32
0220
6B
14
01
00
05
CD
OA
00
11
5E
07
CD
31
02
C3
ЗА
0230
02
lA
B7
C8
77
13
23
C3
31
02
lE
01
CD
OB
06
ЗА
0240
82
14
57
ЗЕ
01
92
32
82
14
21
D4
14
CD
4D
00
77
0250
AF
32
77
14
21
10
15
CD
51
00
22
9D
14
CD
57
00
0260
E6
ЗС
CA
5D
02
D6
03
47
OE
11
CD
OA
00
CD
32
05
0270
23
CD
32
05
23
CD
32
05
ЗА
77
14
B7
C2
50
02
04
0280
21
АС
14
CD
4D
00
70
21
B6
14
CD
4D
00
71
21
CA
0290
14
CD
4D
00
36
00
21
СО
14
CD
4D
00
CD
57
00
E6
02A0
02
3D
77
05
CD
OA
00
D5
E5
21
F2
14
CD
51
00
D1
02B0
CD
63
05
D1
OE
28
CD
D9
OF
ЗЕ
05
32
02
D8
CD
E6
02C0
OF
OE
OA
CD
D9
OF
32
02
СО
lC
ЗА
78
14
BB
F2
ЗС
02D0
02
ЗЕ
lE
32
8A
14
47
ЗЕ
02
32
8B
14
4F
AF
32
8C
02E0
14
32
8D
14
32
8E
14
CD
OA
00
36
09
OE
80
CD
D9
02F0
OF
ЗЕ
OA
32
02
D8
CD
E6
OF
OE
80
CD
D9
OF
32
02
0300
СО
OE
5A
CD
D9
OF
C3
B6
OA
lE
01
7B
32
79
14
lE
0310
00
lC
ЗА
88
14
BB
F2
lC
03
C3
2D
03
21
DE
14
CD
0320
4D
00
ЗА
79
14
BE
C2
11
03
5F
C3
29
05
ЗА
79
14
0330
5F
21
АС
14
CD
4D
00
7E
32
7C
14
32
7E
14
3D
47
0340
21
B6
14
CD
4D
00
7E
32
7F
14
32
81
14
ЗС
4F
CD
0350
OA
00
ЗЕ
09
11
4C
00
CD
F8
05
19
E5
2B
CD
04
06
0360
E1
CD
F8
05
E5
23
CD
04
06
E1
19
CD
F8
05
ЗА
79
0670
14
5F
21
D4
14
CD
4D
00
OD
04
ЗЕ
01
96
77
C2
9A
0380
03
CD
OA
00
36
6F
2B
E5
21
F2
14
CD
51
00
46
23
0390
23
4E
E1
71
23
23
70
C3
29
05
05
OD
CD
OA
00
ЗЕ
03A0
lF
BE
C2
BF
03
23
BE
C2
BF
03
23
BE
C2
BF
03
79
03B0
32
7F
14
21
10
15
CD
51
00
AF
77
23
77
23
77
21
03C0
СО
14
CD
4D
00
7E
32
82
14
32
83
14
21
CA
14
CD
03D0
4D
00
7E
32
84
14
32
85
14
AF
32
76
14
CD
7E
05
03E0
ЗА
72
14
32
73
14
ЗА
83
14
57
AF
92
32
83
14
ЗА
03F0
85
14
57
AF
92
32
85
14
CD
7E
05
ЗА
72
14
32
74
0400
14
CD
6E
05
CD
7E
05
ЗА
72
14
32
75
14
ЗА
83
14
0410
57
AF
92
32
83
14
ЗА
85
14
57
AF
92
32
85
14
CD
0420
7E
05
ЗА
76
14
B7
C2
32
06
ЗА
72
14
57
ЗА
73
14
0430
82
57
ЗА
75
14
82
32
72
14
CA
87
04
ЗА
73
14
B7
0440
CA
50
04
CD
49
05
D2
АО
04
ЗА
72
14
3D
32
72
14
0450
ЗА
75
14
B7
CA
6F
04
CD
49
05
DA
6F
04
CD
6E
05
0460
ЗА
83
14
32
82
14
ЗА
85
14
32
84
14
C3
АО
04
CD
0470
6E
05
ЗА
83
14
57
AF
92
32
82
14
ЗА
85
14
57
AF
0480
92
32
84
14
C3
АО
04
ЗА
74
14
B7
CA
CA
04
ЗА
82
0490
14
57
AF
92
32
82
14
ЗА
84
14
57
AF
92
32
84
14
04A0
ЗА
82
14
57
ЗА
7C
14
82
32
7C
14
ЗА
84
14
57
ЗА
04B0
7F
14
82
32
7F
14
21
СО
14
CD
4D
00
ЗА
82
14
77
Персональная ЭВМ "Микроша**
II
O4C0
21
CA
14
CD
4D
00
ЗА
84
14
77
21
10
15
CD
51
00
04D0
D5
ЕВ
ЗА
7E
14
3D
47
ЗА
81
14
4F
CD
OA
00
ЕВ
CD
04E0
63
05
D1
21
10
15
CD
51
00
D5
E5
ЗА
7C
14
47
05
04F0
ЗА
7F
14
4F
CD
OA
00
D1
CD
63
05
D1
21
F2
14
CD
0500
51
00
D5
ЕВ
ЗА
7C
14
3D
47
ЗА
7F
14
4F
CD
OA
00
0510
ЕВ
CD
63
05
D1
21
АС
14
CD
4D
00
ЗА
7C
14
77
21
0520
B6
14
CD
4D
00
ЗА
7F
14
77
ЗА
78
14
lC
BB
F2
OB
0530
03
C9
7E
E5
2A
9D
14
77
23
22
9D
14
E1
B7
C8
FE
0540
20
C8
FE
23
C8
32
77
14
C9
ЗА
72
14
57
ЗЕ
FF
15
0550
CA
5B
05
E6
7F
15
CA
5B
05
ЗЕ
55
F5
CD
57
00
57
0560
F1
BA
C9
7E
12
23
13
7E
12
23
13
7E
12
C9
ЗА
84
0570
14
32
83
14
ЗА
82
14
57
AF
92
32
85
14
C9
AF
32
0580
72
14
ЗА
85
14
B7
C2
D3
05
ЗА
83
14
57
ЗА
7C
14
0590
82
82
47
ЗА
7F
14
4F
CD
OA
00
7E
B7
CA
A7
05
FE
05A0
20
CA
A7
05
FE
23
СО
D5
11
4E
00
19
D1
7E
B7
C8
05B0
ЗА
84
14
B7
CA
CD
05
7E
FE
6F
C8
FE
5D
C8
FE
5B
05C0
C8
FE
ЗЕ
C8
FE
ЗС
C8
FE
28
C8
FE
29
C8
ЗЕ
01
32
05D0
72
14
C9
ЗА
7C
14
47
05
ЗА
85
14
57
ЗА
7F
14
82
05E0
4F
CD
OA
00
7E
FE
23
СО
23
7E
FE
20
СО
23
7E
FE
05F0
23
СО
ЗЕ
01
32
72
14
C9
CD
04
06
23
CD
04
06
23
0600
CD
04
06
C9
BE
СО
F1
F1
C3
32
06
21
F2
14
CD
51
0610
00
E5
21
E8
14
CD
4D
00
43
5E
21
26
06
CD
51
00
0620
D1
CD
63
05
58
C9
20
20
20
29
6F
28
ЗЕ
6F
ЗС
5D
0630
6F
5B
ЗА
7E
14
C1
3D
47
ЗА
81
14
4F
CD
OA
00
E5
0640
ЗА
79
14
5F
21
10
15
CD
51
00
D1
CD
63
05
ЗА
8A
0650
14
3D
47
ЗА
8B
14
ЗС
4F
CD
OA
00
E5
ЗА
79
14
5F
0660
21
F2
14
CD
51
00
D1
CD
63
05
11
01
05
06
00
78
0670
32
02
D8
CD
E6
OF
OE
01
CD
D9
OF
32
02
СО
78
83
0680
47
FE
14
F2
8B
06
FE
01
F2
6F
06
AF
93
5F
15
C2
0690
6F
06
OE
00
CD
D9
OF
21
84
07
23
7E
B7
CA
04
00
06A0
FE
09
C2
9A
06
36
20
ЗЕ
2F
32
9F
14
ЗА
78
14
B7
06B0
C2
АО
00
C3
9D
00
ЗА
8F
14
ЗС
32
8F
14
ЗА
6F
14
ОбСО
ЗС
32
6F
14
FE
04
FA
F2
06
ЗЕ
01
32
6F
14
ЗА
70
06D0
14
ЗС
32
70
14
F5
ЗА
71
14
B7
CA
DF
06
ЗЕ
01
C6
06E0
03
57
F1
BA
FA
F2
06
AF
32
70
14
ЗА
71
14
ЗС
32
06F0
71
14
ЗА
6F
14
3D
CA
FB
06
ЗЕ
FF
57
ЗА
6F
14
5F
0700
83
83
82
32
78
14
ЗА
6F
14
57
ЗА
70
14
82
57
ЗА
0710
71
14
82
57
ЗА
78
14
BA
F2
lF
07
7A
32
78
14
AF
0720
5F
ЗА
70
14
32
90
14
ЗА
71
14
32
91
14
lC
ЗА
78
0730
14
BB
F8
21
E8
14
CD
4D
00
ЗА
91
14
B7
CA
49
07
0740
36
03
21
91
14
35
C3
2D
07
ЗА
90
14
B7
CA
59
07
0750
36
02
21
90
14
35
C3
2D
07
36
01
C3
2D
07
7C
6B
0760
72
61
6E
20
20
34
20
20
72
65
7A
75
6C
78
74
61
0770
74
20
20
20
31
35
30
30
20
20
77
72
65
6D
71
20
0780
39
39
20
20
20
20
20
09
09
09
00
20
20
31
20
20
0790
72
65
7A
75
6C
78
74
61
74
20
20
20
20
20
30
30
07A0
20
20
77
72
65
6D
71
20
39
39
20
20
20
09
09
09
12
А.А.Матвеев
07B0
09
09
00
ЗА
8A
14
47
ЗА
8B
14
4F
CD
OA
00
ЗА
8E
07C0
14
77
CD
BD
10
FE
08
C2
D5
07
AF
32
95
14
3D
32
07D0
94
14
C3
lE
08
FE
18
C2
E5
07
AF
32
95
14
ЗС
32
07E0
94
14
C3
lE
08
FE
19
C2
F5
07
AF
32
94
14
ЗС
32
07F0
95
14
C3
lE
08
FE
lA
C2
05
08
AF
32
94
14
3D
32
0800
95
14
C3
lE
08
FE
FF
CA
22
08
FE
02
CA
lB
09
FE
0810
04
CA
lB
09
AF
32
94
14
32
95
14
C3
22
08
AF
32
0820
89
14
11
4E
00
19
7E
B7
CA
30
08
FE
lF
C2
ЗА
08
0830
ЗА
8B
14
3D
32
8B
14
C3
A7
08
ЗА
94
14
32
82
14
0840
ЗА
95
14
32
84
14
CD
B9
08
ЗА
72
14
B7
CA
5F
08
0850
ЗА
94
14
32
8C
14
ЗА
95
14
32
8D
14
C3
75
08
ЗА
0860
8C
14
32
82
14
ЗА
8D
14
32
84
14
CD
B9
08
ЗА
72
0870
14
B7
CA
A7
08
ЗА
8A
14
57
ЗА
82
14
82
32
8A
14
0880
ЗА
8B
14
57
ЗА
84
14
82
32
8B
14
ЗА
8C
14
07
E6
0890
03
OF
57
ЗА
8D
14
B7
CA
АО
08
F2
9E
08
ЗС
C6
02
08A0
82
OF
OF
OF
32
6B
14
ЗА
8A
14
47
ЗА
8B
14
4F
CD
08B0
OA
00
7E
32
8E
14
36
09
C9
AF
32
72
14
ЗА
84
14
08C0
B7
C2
04
09
ЗА
8A
14
47
ЗА
82
14
80
FE
02
D8
FE
08D0
3F
DO
47
ЗА
8B
14
3D
4F
CD
OA
00
7E
FE
17
CA
15
08E0
09
FE
lF
CA
15
09
FE
20
CA
15
09
FE
23
CA
F6
08
08F0
FE
7F
CA
15
09
C9
ЗА
82
14
80
47
CD
OA
00
7E
B7
0900
C8
C3
15
09
4F
ЗА
8B
14
81
4F
ЗА
8A
14
47
CD
OA
0910
00
7E
FE
20
СО
ЗЕ
01
32
72
14
C9
ЗА
8C
14
B7
CA
0920
OF
OA
3D
ЗА
8A
14
C2
30
09
ЗС
32
96
14
C3
35
09
0930
D6
03
32
96
14
47
ЗА
8B
14
3D
4F
32
97
14
CD
OA
0940
00
11
АЗ
14
CD
63
05
2B
2B
ЗА
9F
14
FE
2F
CC
E9
0950
OF
ЗА
92
14
FE
04
CA
lD
OA
lE
00
E5
21
16
OD
CD
0960
51
00
D5
11
АЗ
14
CD
F5
ОС
D1
ЗА
9A
14
B7
CA
CC
0970
09
AF
BB
CA
8A
09
ЗЕ
02
BB
D2
BE
09
CD
82
09
C3
0980
BE
09
AF
32
8C
14
32
94
14
C9
E1
2B
ЗЕ
17
BE
C2
0990
OF
OA
23
23
23
23
BE
C2
OF
OA
2B
2B
2B
E5
D5
ЗА
09A0
7A
14
ЗС
32
7A
14
5F
21
2E
15
CD
4D
00
36
96
21
09B0
4C
15
CD
4D
00
70
21
6A
15
CD
4D
00
71
D1
21
16
09C0
OD
lC
CD
51
00
D1
CD
63
05
C3
OF
OA
lC
ЗЕ
03
BB
09D0
E1
F2
5B
09
23
7E
FE
6F
C2
OF
OA
ЗА
89
14
ЗС
32
09E0
89
14
FE
04
FA
OF
OA
lE
01
21
АС
14
CD
4D
00
78
09F0
ЗС
BE
C2
00
OA
21
B6
14
CD
4D
00
79
BE
CA
09
OA
0A00
lC
ЗА
78
14
BB
F2
E9
09
76
CD
A1
OA
CD
82
09
ЗА
0A10
9F
14
D6
2F
C2
A7
08
32
02
СО
C3
A7
08
lE
01
E5
0A20
21
16
OD
CD
51
00
D5
11
АЗ
14
CD
F5
ОС
D1
ЗА
9A
0A30
14
B7
C2
40
OA
E1
lC
ЗЕ
04
BB
F2
lF
OA
C3
OF
OA
0A40
2B
2B
2B
7B
D1
F5
CD
63
05
F1
3D
C2
OF
OA
lE
01
0A50
21
4C
15
CD
4D
00
ЗА
96
14
BE
C2
6A
OA
21
6A
15
0A60
CD
4D
00
ЗА
97
14
BE
CA
73
OA
lC
ЗА
7A
14
BB
D2
0A70
50
OA
76
lC
21
2E
15
CD
4D
00
7E
2B
77
21
4C
15
0A80
CD
4D
00
7E
2B
77
21
6A
15
CD
4D
00
7E
2B
77
lC
0Л90
ЗА
7A
14
BB
D2
74
OA
3D
32
7A
14
CD
82
09
C3
OF
Персональная ЭВМ "Микроша"
13
0AA0
OA
ЗА
88
14
ЗС
32
88
14
D5
21
DE
14
ЗА
88
14
5F
0AB0
CD
4D
00
D1
73
C9
ЗА
9F
14
FE
2F
CA
12
OB
ЗА
6E
0AC0
14
B7
C2
05
OB
32
02
6o
2A
A1
14
7E
32
02
D8
23
0AD0
7E
32
02
D8
23
FE
FF
CA
EF
OA
B7
C4
E9
OF
OE
18
0AE0
CD
D9
OF
7E
23
22
A1
14
3D
32
6E
14
C3
53
OB
ЗА
0AF0
АО
14
B7
C2
00
OB
ЗС
32
АО
14
21
OD
10
C3
СВ
OA
OBOO
ЗЕ
2F
32
9F
14
3D
32
6E
14
CD
D7
OF
CD
D7
OF
C3
0B10
53
OB
ЗА
6B
14
B7
C2
21
OB
OE
18
CD
D9
OF
C3
53
0B20
OB
32
02
D8
ЗЕ
05
CD
E6
OF
OE
06
CD
D9
OF
32
02
0B30
СО
OE
06
CD
D9
OF
ЗА
6B
14
C6
80
32
02
D8
ЗЕ
05
0B40
CD
E6
OF
OE
06
CD
D9
OF
32
02
СО
OE
06
CD
D9
OF
0B50
32
6B
14
AF
32
98
14
21
9B
14
35
C2
81
OB
36
OA
0B60
21
ЕС
7E
CD
7C
OB
DA
6D
OB
77
C3
81
OB
36
39
2B
0B70
CD
7C
OB
D2
69
OB
23
36
00
C3
6A
06
7E
3D
FE
30
0B80
C9
21
9C
14
35
F2
B2
ОС
36
01
ЗА
98
14
ЗС
5F
32
0B90
98
14
ЗА
7A
14
BB
DA
B2
ОС
21
2E
15
CD
4D
00
35
OBAO
ЗЕ
OA
BE
DA
8A
OB
21
4C
15
CD
4D
00
7E
47
32
96
OBBO
Г4
21
6A
15
CD
4D
00
7E
4F
32
97
14
CD
OA
00
11
OBCO
A6
14
CD
63
05
lE
01
21
16
OD
CD
51
00
D5
11
A6
OBDO
14
CD
F5
ОС
D1
ЗА
9A
14
3D
CA
03
ОС
lC
ЗЕ
04
BB
OBEO
F2
C7
OB
04
CD
OA
00
7E
FE
6F
C2
8A
OB
11
B1
FF
OBFO
19
AF
BE
C2
8A
OB
23
BE
C2
8A
OB
23
BE
C2
8A
OB
OCOO
C3
53
ОС
7B
3D
CA
OB
ОС
C3
39
ОС
D5
ЗА
98
14
ЗС
ОСЮ
5F
21
4C
15
CD
4D
00
7E
2B
77
21
6A
15
CD
4D
00
0C20
7E
2B
77
21
2E
15
CD
4D
00
7E
2B
77
lC
ЗА
7A
14
0C30
BB
D2
11
ОС
3D
32
7A
14
D1
ЗА
96
14
47
ЗА
97
14
0C40
4F
CD
OA
00
lD
E5
21
16
OD
CD
51
00
D1
CD
63
05
0C50
C3
8A
OB
lE
01
21
АС
14
CD
4D
00
ЗА
96
14
ЗС
BE
0C60
C2
70
ОС
21
B6
14
CD
4D
00
ЗА
97
14
BE
CA
79
ОС
0C70
lC
ЗА
78
14
BB
D2
55
ОС
76
21
B6
14
CD
4D
00
34
0C80
21
10
15
CD
51
00
AF
77
23
77
23
77
ЗА
96
14
47
0C90
ЗА
97
14
ЗС
4F
CD
OA
00
E5
21
F2
14
CD
51
00
D1
ОСАО
CD
63
05
21
4C
00
19
36
10
23
36
lF
23
36
04
C3
OCBO
8A
OB
CD
47
OD
ЗА
78
14
B7
C4
09
03
CD
B3
07
ЗА
OCCO
8B
14
FE
17
C2
B6
OA
21
90
10
7E
FE
FF
CA
E1
ОС
OCDO
32
02
D8
23
7E
CD
E6
OF
OE
14
CD
D9
OF
23
C3
CA
OCEO
ОС
AF
32
02
СО
OE
80
CD
D9
OF
21
65
07
ЗЕ
01
CD
OCFO
25
OD
C3
9D
00
E5
D5
AF
32
9A
14
lA
BE
C2
13
OD
ODOO
23
13
lA
BE
C2
13
OD
23
13
lA
BE
C2
13
OD
ЗЕ
01
ODlO
32
9A
14
•D1
E1
C9
17
17
17
15
lF
16
14
lF
14
10
0D20
lF
04
lF
lF
lF
57
CD
2E
OD
15
C2
2F
OD
C9
7E
FE
0D30
30
D2
36
OD
ЗЕ
30
ЗС
FE
ЗА
DA
45
OD
36
38
E5
2B
0D40
CD
2E
OD
E1
C9
77
C9
ЗА
88
14
ЗС
32
79
14
ЗА
79
0D50
14
3D
32
79
14
C8
5F
AF
32
86
14
32
87
14
21
DE
0D60
14
CD
4D
00
5E
21
АС
14
CD
4D
00
46
05
21
B6
14
0D7O
CD
4D
00
4E
OD
CD
OA
00
CD
87
OF
23
CD
87
OF
23
0D80
CD
87
OF
ЗА
86
14
3D
CA
23
OE
ЗА
87
14
B7
CA
CC
14
А.А.Матвеев
0D90
OD
2B
2B
2B
AF
32
93
14
7E
FE
6F
C2
BF
OD
E5
21
0DA0
AC
14
CD
4D
00.
ЗА
93
14
86
D6
02
32
7C
14
21
B6
ODBO
14
CD
4D
00
7E
3D
32
7F
14
D5
CD
B2
OF
D1
El
23
ODCO
ЗА
93
14
ЗС
FE
05
DA
95
OD
C3
47
OD
ЗА
88
14
57
ODDO
ЗА
79
14
BA
C2
DE
OD
ЗА
7B
14
ЗС
32
7B
14
D5
11
ODEO
A6
14
2B
2B
CD
63
05
D1
D5
E5
21
F2
14
CD
51
00
ODFO
D1
lB
lB
CD
63
05
D1
21
АС
14
CD
4D
00
46
05
21
OEOO
B6
14
CD
4D
00
4E
35
CD
OA
00
D5
E5
21
10
15
CD
OElO
51
00
D1
CD
63
05
2B
2B
11
A6
14
ЕВ
CD
63
05
D1
0E20
C3
4E
OD
E5
21
E8
14
CD
4D
00
7E
87
87
57
El
ЗА
0E30
7B
14
ЗС
BA
F2
4D
OE '3A
99
14
B7
C2
4D
OE
ЗА
88
0E40
14
3D
C2
4D
OE
32
88
14
AF
32
7B
14
C9
D5
11
ВО
0E50
FF
19
D1
AF
77
23
77
23
77
D5
53
lE
01
21
DE
14
0E60
D5
CD
4D
00
D1
7E
BA
DA
6C
OE
3D
77
lC
ЗА
88
14
0E70
BB
D2
5D
OE
D1
21
АС
14
CD
4D
00
7E
32
7C
14
21
0E80
B6
14
CD
4D
00
7E
32
7F
14
21
E8
14
CD
4D
00
ЗА
0E90
99
14
86
32
99
14
lC
ЗА
78
14
BB
DA
DC
OE
21
АС
OEAO
14
CD
4D
00
7E
2B
77
21
B6
14
CD
4D
00
7E
2B
77
OEBO
21
E8
14
CD
4D
00
7E
2B
77
21
F2
14
CD
51
00
D5
OECO
E5
D1
lB
lB
lB
CD
63
05
D1
D5
21
10
15
CD
51
00
OEDO
E5
D1
lB
lB
lB
CD
63
05
D1
C3
96
OE
3D
32
78
14
OEEO
21
88
14
35
C2
47
OD
21
A9
14
AF
77
23
77
23
77
OEFO
21
E0
7E
ЗА
99
14
F5
CD
25
OD
21
75
07
F1
CD
25
OFOO
OD
ЗЕ
14
32
6B
14
lE
00
ЗА
7C
14
3D
47
ЗА
7F
14
OFlO
83
4F
CD
OA
00
D5
E5
21
A9
14
D1
CD
63
05
ЕВ
11
0F20
ВО
FF
19
11
A9
14
CD
63
05
36
30
2B
36
30
2B
ЗА
0F30
99
14
F6
30
77
D1
CD
F4
OF
lC
7B
FE
07
DA
08
OF
0F40
lB
lB
11
A9
14
ЕВ
CD
63
05
AF
32
6B
14
32
99
14
0F50
32
7B
14
ЗА
78
14
B7
СО
06
01
CD
57
00
E6
05
CA
0F60
6C
OF
4F
ЗЕ
ОС
80
47
79
3D
C3
5F
OF
OE
07
CD
OA
0F70
00
36
23
23
7E
FE
09
CA
7C
OF
36
20
23
36
23
ОС
0F80
ЗЕ
17
B9
D2
6E
OF
C9
7E
B7
C8
FE
lF
C8
FE
17
CA
0F90
A6
OF
FE
20
CA
A6
OF
FE
23
CA
A6
OF
FE
7F
CA
A6
OFAO
OF
FE
18
D2
АС
OF
ЗЕ
01
32
86
14
C9
ЗЕ
01
32
87
OFBO
14
C9
lE
01
21
АС
14
CD
4D
00
ЗА
7C
14
BE
C2
СЕ
OFCO
OF
21
B6
14
CD
4D
00
ЗА
7F
14
BE
CA
A1
OA
lC
ЗА
OFDO
78
14
BB
D2
B4
OF
76
OE
ОС
CD
D2
13
AF
3D
C2
DD
OFEO
OF
OD
C2
DC
OF
C9
32
02
D8
ЗА
6C
14
B7
СО
ЗЕ
06
OFFO
32
02
СО
C9
CD
F7
OF
ЗА
6B
14
3D
32
6B
14
32
02
lOOO
D8
CD
E6
OF
OE
14
CD
D9
OF
32
02
СО
C9
D6
13
02
1010
DC
OE
03
BE
OF
01
DC
OE
02
ЗЕ
OD
02
7F
ОС
02
ЗЕ
1020
OD
02
7F
ОС
02
DC
OE
02
AE
10
08
D6
13
04
00
00
1030
08
D6
13
02
DC
OE
03
BE
OF
01
DC
OE
02
ЗЕ
OD
02
1040
7F
ОС
02
ЗЕ
OD
02
7F
ОС
02
22
OB
02
EA
09
08
00
1050
00
08
22
OB
01
EA
09
03
EA
09
01
EA
09
01
00
00
1060
02
7F
ОС
01
22
OB
03
22
OB
01
п n
Сл С*
OB
01
00
00
02
1070
ЗЕ
OD
01
7F
ОС
03
7F
ОС
01
7F
ОС
01
00
00
02
DC
Персональная ЭВМ "Микроша"
15
1080
OE
01
ЗЕ
OD
03
ЗЕ
OD
1090
00
19
45
16
D6
13
B9
10A0
22
ОБ
EA
09
5C
09
57
10B0
F4
04
AD
04
2B
04
B6
1GC0
47
ЗА
6D
14
FE
lB
CA
10D0
BD
10
FE
07
СО
ЗА
6C
10E0
10
90
C2
BD
10
32
6D
10F0
92
14
ЗА
CA
FB
10
7A
1100
B7
FA
ОС
11
FE
7F
C8
1110
13
47
71
23
05
n •'>
■_• £_|
12
1120
11
CD
FE
10
2E
14
CD
1130
FE
10
CD
зв
11
FE
20 ,
1140
57
00
CD
BD
10
FE
20\
1150
C9
80
FF
80
DB
94
03
1160
80
06
94
02
80
39
04
1170
80
02
15
80
30
04
94
1180
03
10
80
04
17
80
02
1190
01
80
06
14
80
02
06
11A0
07
80
02
17
00
14
80
11B0
OA
04
10
80
03
17
80
11C0
01
80
05
83
02
00
.03,
11D0
11
80
04
94
02
80
04
11E0
02
06
11
80
05
17
13
11F0
07
80
02
17
80
02
06
1200
06
11
00
16
11
80
03
1210
17
02
05
14
80
02
04
1220
01
00
17
80
02
06
11
1230
15
03
06
11
80
03
02
1240
01
80
05
14
12
01
80
1250
07
80
02
17
00
14
00
1260
02
83
02
80
lD
07
14
1270
02
00
03
80
12
94
05
1280
33
94
08
83
06
80
FF
1290
6F
77
00
65
2E
61
2E
12A0
6F
73
6B
77
61
80
FF
12B0
73
74
6F
6C
78
6B
6F
12C0
00
70
6F
6C
75
7E
69
12D0
6F
28
80
02
AE
05
00
12E0
02
AE
05
00
32
ВО
02
12F0
00
33
ВО
02
80
DE
75
1300
ЗА
80
37
DF
25
80
29
1310
03
00
F7
02
65
72
68
1320
77
6F
00
77
70
72
61
1330
00
6B
6F
70
61
74
78
1340
77
79
62
69
74
78
00
1350
00
AE
OE
00
7A
61
6B
1360
32
00
AE
09
00
73
74
ЗЕ
OD
01
00
00
08
00
FF
AE
10
DC
OE
ЗЕ
OD
7F
ОС
6E
07
9E
06
3F
06
90
05
4F
03
lF
03
FF
CD
ЕВ
10
10
78
FE
lB
32
6D
14
CA
47
7A
90
32
6C
14
C3
FB
C3
FB
10
CD
EA
FE
Ъ i
ЗА
92
14
C9
ЗЕ
FF
C9
lA
13
23
C3
FE
10
E6
7F
4F
lA
C3
FE
10
21
00
77
11
51
11
21
00
77
11
AA
12
CD
lB
11
C9
2E
40
26
ПП
CD
25
C2
3F
11
2D
C2
3D
11
44
04
94
02
12
'83
02
01
02
12
83
02
01
80
OB
16
12
83
03
01
80
08
02
83
80
26
04
94
04
12
83
04
80
05
14
80
03
06
80
04
04
94
04
16
17
83
03
80
06
11
80
05
17
00
04
14
lC
04
13
00
17
80
02
06
11
00
06
11
80
03
17
80
80
07
04
94
03
10
80
lB
80
03
16
80
02
15
80
03
80
02
16
11
00
10
80
03
02
03
01
80
03
06
80
lC
03
17
80
02
17
80
03
06
16
01
02
03
80
08
83
02
06
11
80
02
06
11
80
03
11
00
02
01
80
14
04
94
13
80
03
06
11
80
04
83
04
30
33
94
07
33
06
80
2E
AD
lC
80
34
73
65
64
02
31
39
38
39
80
02
6D
FD
7F
80
FF
80
FF
80
OD
6F
7E
6B
6F
77
00
77
79
65
00
7A
61
ЗА
80
86
29
ВО
02
80
8E
ЗЕ
6F
ЗС
80
8E
5D
6F
5B
80
02
AE
05
72
61
77
6C
65
6E
69
65
74
72
65
6C
6B
69
00
AE
77
6E
69
7A
00
77
6C
65
6F
80
2B
46
33
00
AE
06
61
00
74
61
6B
76
65
00
61
75
6B
61
80
2S
46
35
70
61
74
78
80
34
61
72
70
2F
70
72
6F
64
6F
6C
01
12
08
03
E1
14
14
32
77
11
3D
C2
C8
80
94
03
17
11
lC
02
80
06
01
11
17
94
80
15
lD
06
04
83
80
80
80
00
74
31
80
70
73
00
77
2C
70
6F
6F
16
А.А.Матвеев
1370
76
65
6E
69
65
80
30
75
73
2D
47
00
AE
09
00
7A
1380
77
75
6B
00
77
6B
6C
2F
77
79
6B
6C
80
32
70
72
1390
6F
62
65
6C
00
AE
03
00
6E
61
7E
61
6C
6F
00
69
13A0
00
70
72
6F
64
6F
6C
76
65
6E
69
65
00
69
67
72
13B0
79
80
2A
AD
25
80
33
75
73
70
65
7B
6E
6F
6A
00
13C0
69
67
72
79
00
A1
03
80
FF
80
FF
80
FF
80
FF
80
13D0
FF
7F
79
0F
E6
7F
81
4F
C9
КОНТРОЛЬНЫЕ СУММЫ БЛОКОВ В 1 КБАЙТ:
0000...03FF = A27C 0400...07FF = 43E7
0800...0BFF = 0785 OCOO...OFFF = 03EA
1000...13D8 = D2BC
КОНТРОЛЬНАЯ СУММА ПРОГРАММЫ: 0000...13D8 = 3748
ПРИЛОЖЕНИЕ 2
ПРОГРАММА "СТРАННЫЙ ТЕННИС"
#DEFINE BEGIN 30658
INT LEV,BASE,RND1,RND2;/*ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ ТИПА INT*/
CHAR *TEST; /♦ГЛОБАЛЬНАЯ ПЕРЕМЕННАЯ ТИПА CHAR*/
MAIN()
[[
CHAR С;
INT NUMER;
RND1=RND2=1;
WHILE(1)
[[
PUTCHAR (’\С’);
OUTSTR("ВЫБЕРИ УРОВЕНЬ
WHILE ((C=INKEY( )) <; ’ 1 ’
ЕС
IF (C==31) RETURN;
RND(1);
]]
PUTCHAR (С);
LEV=1<<(С-’0’);
NUMER=6;
WHILE(--NUMER)
[[
CLEAR();
TEST[2]=’0’+NUMER;
GAME();
j]]3
/♦НАЧАЛО ПРОГРАММЫ*/
r i
/♦ЛОКАЛЬНАЯ ПЕРЕМЕННАЯ ТИПА CHAR*/
/♦ЛОКАЛЬНАЯ ПЕРЕМЕННАЯ ТИПА INT*/
/♦ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ В ФУНКЦИИ*/
/♦БЕСКОНЕЧНЫЙ ЦИКЛ*/
/♦ВЫЗОВ СИСТЕМНОЙ ФУНКЦИИ*/
ИГРЫ");
! С > ’ 9 ’ )
/♦ВОЗВРАТ ИЗ ФУНКЦИИ БЕЗ ЗНАЧЕНИЯ*/
/♦ВЫЗОВ ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ*/
/♦С ФАКТИЧЕСКИМ ПАРАМЕТРОМ*/
/♦ВЫЗОВ ФУНКЦИИ БЕЗ ПАРАМЕТРОВ*/
Персональная ЭВМ "Микроша"
17
CLEAR()
[[ /*НАЧАЛО ТЕЛА ФУНКЦИИ*/
INT NUM;
FUTCHAR(’\С’);
TEST-BEGIN;
NUM=64;
BASE=0;
WHILE(--NUM)TEST[++BASE]=127;
NUM=24;
WHILE(—NUM)
C[ /*НАЧАЛО ТЕЛА ЦИКЛА*/
BASE=BASE+7 8;
TEST[BASE]=127;
J] /*КОНЕЦ ТЕЛА ЦИКЛА*/
BASE=1872;
NUM=64;
WHILE(—NUM)TEST[++BASE] = 12 7 ;
]] /*КОНЕЦ ТЕЛА ФУНКЦИИ*/
OUTSTR(ADDR) /*ФУНКЦИЯ ИЗ БИБЛИОТЕКИ*/
CHAR *ADDR;
[[
WHILE(*ADDR)PUTCHAR(*ADDR++);
PUTCHAR(’\R’); /*B03BPAT КАРЕТКИ*/
PUTCHAR( ' \N ’ ) ; /*ПЕРЕЮД СТРОКИ*/
]]
INKEY()
[[
#ASM /*ПЕРЕХОД А АССЕМБЛЕР*/
CALL OFEEAH
MOV L,A ; ТЕКСТ НА АССЕМБЛЕРЕ
MVI H,0
#ENDASM /*ПЕРЕХОД В СИ*/
]]
GAME() /*ОПИСАНИЕ ФУНКЦИИ БЕЗ ФОРМАЛЬНЫХ ПАРАМЕТРОВ*/
[[
CHAR CODE;
INT COUNT,NUMER,XMEN,MEN,MEN0,MEN1,BALL,VOL,RN,X,Y,VX,VY;
INT GEN;
GEN=MENO=MEN=COUNT=O;
MENl=312;
NUMER=6;
XMEN=MEN0;
WHILE(--NUMER)
[[
TEST[XMEN] = '#' ;
XMEN=XMEN+78;
]]
TEST[BALL=(X=RND(62)+1)+(Y=RND(22)+l)*78]=’0’;
VX=1 ■
VY=RND(2)*((RND(2)<<1)-1);
VOL=VX+VY *7 8;
WHILE(L)
18
А.А.Матвеев
[[
IF ((CODE=INKEY())==3) BREAK;
XMEN=RN=0;
IF (CODE==25&MEN!=0)[[RN=-1;--MEN;XMEN=-78;]]
ELSE
IF (CODE==26&MEN!=20)[[RN=1;++MEN;XMEN=78;]]
IF (XMEN!=0)
[[
IF (XMEN<0)
[[
TEST[MEN1]=0;
TEST[MENO+XMEN]=’#’;
]]
ELSE [[
TEST[MEN0]=0;
TEST[MENl+XMEN]=’#’;
]]
MENO=MENO+XMEN;
MEN1=MEN1+XMEN;
IF (GEN) [[
GEN=0;
X=X+VX;
Y=Y+VY;
IF (X<1) [[
NUMER=Y+VY;
IF (NUMER<MEN ! NUMER>MEN+*4)RETURN;
VY=VY+RN;
Y=Y+RN;
NUMERrO;
IF (X<1!X>62)
[[NUMER=1;VX=-VX;X=X+VX+VX;]]
IF(Y<1!Y>23)
[[NUMER=1;VY=-VY;Y=Y+VY+VY;]]
IF(NUMER) VOL=VX+VY*78;
TEST[BALL]=’.’;
TEST[BALL=BALL+VOL]=’0’;
IF(COUNT==O) COUNT=RND(100)+l;
IF(COUNT) —COUNT;
IF(COUNT==O)
VY=RND(2)*((RND(2)<<1)-1);
IF(RND(4)-1)
VX=1;
ELSE VX=-1;
VOL=VX+VY *7 8;
]]
]]
ELSE GEN=1;
NUMER=LEV;
WHILE(--NUMER);
]]
Персональная ЭВМ "Микроша"
19
RND(MOD) /ЮПИСАНИЕ ФУНКЦИИ С ФОРМАЛЬНЫМ ПАРАМЕТРОМ*/
INT MOD;
INT SOM;
SOM= (7*RND2+3*RND1+12345)>>1;
RND1=RND2;
RND2=SOM;
RETURN SOM%MOD;/*B03BPAT ЗНАЧЕНИЯ ИЗ ФУНКЦИИ В ПРОГРАММУ*/
]]
МАЛОЕ ПРЕДПРИЯТИЕ «ТАКТ»
Публичная электронная библиотека
Публичная алектронная библиотека — это избранная коллекция гибких магнитных дисков, содержащих сотни но-
вьгх некоммерческих программ типа Pubfik Domam и Shareware, оригинальные копии которых мы получаем прямо onr ав¬
торов и изготоаггелей из разных сгран oo воего света, де* плриш^^^^х и оценочных программ, тексты, документацию
идрутии полезные материалы, которые мог>т применятьсяналь t*.re совмесгимыхсШМ персональных к» мгп* Ttrax.
Табличная алектронная би&вютека бьша соедана МП «Такт» в 1990 году, и с тех $юрее каталог регулярно ( т** *Ш5Ь
ется и пополняется. Каждью два месяца МП «Такт» выпускает обновленный каталог на гибком машитном диске (5^25
360K). Наш каталог 1 /91 впервые бьш представлен читателям алектронного журнала «Мир ПК Д иск». Всего же в 1991
гаду было уже выпущено три каталога Пуоличной алектронной бибпттеки, а до конид года выйдут еще три вьшуска.
Пользоваться услугами Публичной электронной библиотеки могут любые частные лица, организа¬
ции, предприятия и учреждения. За довольно умеренную плату вы можете быстро получить точные копии
оригинальных дисков, аннотации которьнс представлены в каталоге Публичной электронной библиотеки.
Чтобы стать абонентом Публичной электронной библиотеки, вам следует сегодня же заказать дискету с ее ката¬
логом. По мнению многих наших нынешних абонентов, каждый такой каталог ценен даже сам по себе, ибо являет¬
ся удобным информативно-справочным средством, которое поможет вам и вашим коллегам приобретать новые
идеи и лучше ориентировап»ся в безбрежном море информации о непрерывно обновляющихся программах для ПК.
Наш каталог и все копии дисков Публичнои электронной библиотеки поставляются без защиты от
копирования. Вы имеете право свободно копировать эти диски, не подвергая изменениям их содержание.
Кроме того, дискета с текущим каталогом 3/91 содержит копию новейшей версии японского архиватора
LHA V.2.1l сдокументацией на английском языке и полным переводом ее нарусский.
Мы немедленно вышлем вам дискету с копией текущего каталога по почте. Для этого нужно перечислить
148 рублей на расчетный счет МП «Такт», указав в платежном поручении: «За текущий выпуск каталога». Если
же вы хотите подписаться на все 4 выпуска каталога до конца нынешнего года (с зТ91 по 6/91),мы предостав¬
ляем вам скидку: это стоит всего 498 рублей. Затем просим направить нам письмо, где необходимо сообщить
ваш точный почтовый адрес, номер телефона, а также имя, фамилию и должность лица, сделавшего заказ.
Просим приложить к этому письму копию платежного поручения либо просто указать его номер и дату.
Top Ten Публичной электронной библиотеки
Из многих десятков дисков, представленных в нашем каталоге, наибольшим спросом и популярно¬
стью среди абонентов Публичной электронной библиотеки пользуются сегодня такие 10 наименований:
Ьколлекция демонстрационных программ из США для брокеров и биржевиков, среди которых
предотавлены Broker’s Choice, Broker's Ally, Broker’s Helper’ Sales Professional Helper’ Eignty/20 и др.
2. Бесструктурная база данных несекретных сведений Центрального разведывательногоуправления США «The
QA Factbook» на бдисках, содержащая множество сведений, которых нельзя найти в обычных энциклопедиях и
справочниках. Предоставлена 11убличной электронной библиотеке издательством CO-ROM дисков Quanta Press.
3. Два диска с подборками наиболее популярных в США утилит для начинающих (LB3.0) и для бо-
лееопытных (LB 4.0) пользователей IlK. Представлены фирмой PubIuc Brand Software.
4. Текстовой процессор MitidReader с элементами искусственного интеллекта: потрясающе «угадывает»
дальнейший текст по первым же буквам слова и помогает быстро и безошибочно писать по-английски всем
слабо владеющим языком. Сам настраивается на вашулексику.Предоставлен фирмой Brown Bag Software.
5. Последняя версия музыкального генератораР'щпошап. Прекрасное и умное развлечение. Также
позволяет легко вставлять музыкальные фрагменты в любые прикладные программы. Публичной элект¬
ронной библиотеке программу предоставил ее автор Neil J. Rubenklnd.
6. Два диска последней версии Fansi-Console. Эти драйверы резко ускоряют отображение графической
Информации на экране монитора* Предоставленыфирмой-изготовителем.Негьеу Micro Consutting, Гпс.
T Чрезвычайно удобный ц быстрый редактор текстов QEdlt Advanced. Широко испсцгьзуется прогрнммистами-
nmAec. #* ыалами n США. Прнфантасгических возможностях исполнительный файл Q.E XE занИмаетвсеголишь
47 knairr! Предостанлеы автором и владелы *емч£ирмы SemWare из А1лаиты Сэмми Митчелом (Sammy Mitchell).
8. PC-OutUne — программа дли составления планов, расписаний, оглавлений, научных работ, списков «что
сделать»... Позволяет расставлять и органюовьшать мысли, идеи, дела, главы, телефоны, события и прочее (воз¬
можные применения невозможно перечесть!) в иерархической последовательности. Чрезвычайно полезная вещь
• для всякого занятого человека. Может устанавливаться резидентно. Предоставлена фирмой Brown Bag Software.
9. PFROI — программа для управления портфелем ценных бумаг на фондовой бирже. Предоставил
нам ее автор Robert Nils Hobbs.
10. Учебная демонстрационная версия европейского варианта пакета FoxPro на английском языке. Два ди¬
ска. 3|Шкомит с основными возможностями и приемами работы с СУБД FoxPro. Представлена Fox Software.
Милости просим B>nauiy Публичнуюэлектроннуюбиблиагеку!
Наш почтовый адрес: 214036Смоленск, а/я 248, МП «Такт».Телефон вСмоленске: (08100) 5-58-05
"Микроша" — одна из первых отечестввенных бытовых ПЭВМ, по¬
ступившая в 1988 г. в розничную торговлю. Стоит она всего 500
py6.(na конец 1991 г.). "Микроша" работает с обычными кассет¬
ным магнитофоном и телевизором и нашла применение как учеб¬
ный компьютер в средних и высших учебных заведениях. Однако
литературы по использованию "Микроши", кроме руководства по
эксплуатации, практически нет. Данную статью мы публикуем по
просьбам читателей.
Л.О.Осипов
Работаем на "Микроше"
Структура ЭВМ
Системный блок (СБ) "Микроши" (рис.1) состоит из микропроцессора (МП),
постоянного запоминающего устройства (ПЗУ) емкостью 2 Кбайт (2048 ячеек
по 8 двоичных разрядов), оперативной памяти (ОП) емкостью 32 Кбайт и кла¬
виатуры. МП типа KP580BM80A обеспечивает быстродействие в 300 тыс. простых
операций в секунду. В комплект ЭВМ входит модулятор, позволяющий подклю¬
чать ее к антенному входу телевизора (ТВ), а также блок питания. На экране ТВ
размещается 25 строк по 64 алфавитно-цифровых символа или в графическом ре¬
жиме 50x128 точек.
Функционирование ЭВМ обеспечивает набор служебных программ — систем¬
ный монитор, размещенный в ПЗУ, и операционная система (ОС), вводимая в ОП
с магнитофона (МГ). Пользователь записывает программу решения задачи на язы¬
ке Ассемблера или на Бейсике и с клавиатуры вводит ее в оперативную память. Эта
исходная программа с помощью интерпретатора, входящего в оперативную систе¬
му, переводится на внутренний машинный язык и исполняется. Решение задачи
или программа выводятся на экран. Программу можно записать на кассету МК-60
и затем вводить ее в ЭВМ.
Здесь рассмотрим Бейсик "Микроши", так как программирование для ЭВМ тре¬
бует учитывать особенности языка, реализованного в данной машине.
Алфавит Бейсика
Буквы
прописные латинские от А до Z. Русские буквы можно использовать только в
комментариях и в текстовых данных.
Дополнительные символы:
# — знак номера; @ — коммерческое "Ar"; & — коммерческое "И" (амперсанд);
о — знак денежной единицы (далее этот знак будем обозначать $); ?,!, %.
Цифры:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (нульперечеркнутдля егоотличия отбуквы О).
Знаки арифметических действий (по старшинству):
л возведение в степень;
*, / умножение, деление;
+,- сложение, вычитание.
Знаки отношений:
=,>,<,>=( >) ,<=< <) ,<><*).
Работаем на "Микроше"
21
Логические операции (по старшинству):
NOT (НЕ);
AND(H);
OR (ИЛИ).
Разделительные знаки и их назначение:
. — отделение целой части числа отдробной;
: — разделение предложений на одной строке;
, — разделение элементов списка величин или данных;
; — разделение элементов для вывода их без пробелов;
" " — выделение текстовых данных;
( ) — математические скобки, выделение аргументов функции или индексов
массива.
Основные служебные слова:
REM
— примечание;
PRINT
— вывод;
DATA
— данные;
FOR
— для;
READ
— чтение;
TO
— до;
IF
— если;
STEP
— шаг;
THEN
— то;
ON
— при;
GOTO
— переход;
NEXT
— конец цикла;
DIM
— массив;
STOP
— останов.
INPUT
— ввод;
Системный блок
Другие слова будут вводиться по мере необходимости.
Структура программы
Программа составляется из строк. Каждая строка начинается с номера, за кото¬
рым следует одно или несколько предложений. Предложения делятся на две груп¬
пы: операторы и объявления. Операторы определяют действия по обработке данных
или управляют порядком испол¬
нения операторов. Объявления
задают входные данные (DATA),
особенности размещения данных
в памяти ЭВМ (DIM), примеча¬
ния к программе (REM) или опи¬
сания функций (DEF).
На одной строке можно раз¬
мещать несколько предложений,
разделенных двоеточием. Конец
предложения в строке не требует
разделительного знака. Строка
языка может иметь до 72 симво¬
лов и на экране она изображается
на двух строках: 64 и до 8 симво¬
лов. В записи предложений мож¬
но оставлять пробелы, интерпре¬
татор их игнорирует.
Строки вводятся в любой по¬
следовательности, а в программе
они расставятся в порядке их но¬
меров. После набора строка вво¬
дится нажатием клавиши BK
Клавиатура
Рис. 1
22
Л.А.Осипов
("возврат каретки"). Повторный ввод строки с тем же номером замещает старый
текст на новый, а ввод только номера удаляет строку из программы. Ввод операторов
без номера приводит к их немедленному исполнению после нажатия клавиши BK.
Номера строк выполняют и роль меток (адресов) для переходов к их исполне¬
нию. Обычно строки исполняются по возрастанию номеров (в естественном поряд¬
ке). Операторы управления изменяют такой порядок работы. Номера строк указы¬
ваются в пределах от 1 до 32767.
При использовании телевизора часто первые символы строки не видны, поэтому
строки целесообразно нумеровать числами: 11, 22, 33, ... , 99; 111, 122 и т.д. Это
также позволит вставлять в программу новые строки.
ЭВМ прекращает работу после исполнения оператора STOP или строки с наи¬
большим номером.
Данные
Операторы, как правило, задают выражения, обеспечивающие обработку дан¬
ных. Данные могут быть числовыми и текстовыми (наборами символов). Числовые
данные делятся на целые и вещественные.
Целые числа определяют точное количество (единиц, штук) и требуют точной
обработки (без округлений). Целые значения допускаются в пределах ±32767. Их
запись: -123; +5; 32000.
Вещественные числа являются результатом приближенных измерений или вы¬
числений. Их точность оценивается половиной единицы младшего значащего раз¬
ряда. Вычисления с вещественными числами выполняются с округлением до 6-7
десятичных цифр. Вещественное число должно иметь или подразумевать точку, от¬
деляющую его целую часть от дробной. При этом оно представляется в форме с
фиксированной (ФТ) илисплавающей точкой (ПТ).
а) Числа с ФТ записываются в виде мантиссы цифровой части с точкой или без
нее: +17.3; -24.0; 0.; .056; 809; 12345678.
Знак + и нулевую целую часть можно не писать. ЭВМ воспринимает только
старшие шесть значащих цифр, а остальные полагает нулями.
б) Числа с ПТ записываются в виде мантиссы, умноженной на 10 , где П — поря¬
док числа. Для ввода в ЭВМ ".10" заменяется буквой E, и порядок пишется на одном
уровне с мантиссой. Числа с ПТ по абсолютному значению имеют диапазон 10
...10 , а мантисса содержит до шести цифр. Мантисса может быть с точкой или без
нее:
+.173E2; -2400E-02; OEO; 56.E-3; 809EO; 1.23456E+7.
Текстовые данные используются как пояснения к решению или являются пред¬
метом обработки на ЭВМ. Текст может содержать по 255 любых символов, включая
русские буквы и пробелы. Текст выделяется кавычками: "РЕШЕНИЕ:"; "СУММА
КУБОВ"; "X*"; "ДВК-2М".
Имена даются величинам, используемым в вычислениях, и играют роль адресов
величин, по которым в памяти ЭВМ хранятся их значения. Имена должны состоять
из одной или двух латинских букв или из буквы и цифры. К именам текстовых ве¬
личин дописывается $:
А, A$, AM, AM$, M5, M5$.
Заметим, что А и A$ являются разными величинами.
Массивы — совокупности значений, объединенных по некоторому свойству и
упорядоченных по своему размещению в памяти ЭВМ. Местоположение каждого
значения определяется (как координатами) целочисленными индексами. Индексов
может быть 1 или 2 одно- или двумерные массивы. Каждый индекс должен нахо¬
диться в диапазоне от 0 до 32767. Примеры массивов: вектор A{ai, a2, аз}; набор
текстов C{co, ci, c2, сз, c4}; совокупность К чисел P{pi, p2, ...,Рк}; матрица
Работаем на "Микроше"
23
Х“ х00 Х01 х02
*10 Х11 х12
Массивы, чтобы их элементам в памяти ЭВМ резервировалась последователь¬
ная группа ячеек, в программе описываются в виде:
DIM A(3), C$(4), X(l,2), P(K)
Описание состоит из имени массива и заключенных в скобки верхних границ
каждого индекса в виде чисел или ранее определенных величин. Объявлений мас¬
сивов может быть несколько и они могут размещаться в любом месте программы и
в любой части строки.
Обращение к элементу массива (запись или чтение его значений) производится
указанием его имени с фактическими индексами в виде чисел, имен или выраже¬
ний: A(2), A(M), C$(2.6), X(0,1), P(3*M-4). Если фактический индекс окажется
дробным, то от него берется целая часть. Значения индексов не должны быть отри¬
цательными или большими границ, указанных в объявлении DIM. При’вводе эле¬
ментов массива не обязательно заполнять все зарезервированные ячейки.
Заметим, что А, A2 и A(2) считаются разными величинами. Если описания мас¬
сива не давать, то по умолчанию его границы полагаются равными 10. Это значит,
что одномерному массиву резервируется 11 ячеек, а двумерному — 121. При мень¬
ших фактических размерах массива это приводит к нерациональному расходу па¬
мяти ЭВМ.
Выражения. Оператор присваивания
Выражение — запись, составленная из чисел, величин и функций, разделенных
знаками отношений, арифметических или логических операций и скобками, опре¬
деляющая арифметическое или логическое значение.
Встроенные функции входят в состав языка и готовы к использованию простым
указанием имени функции с фактическим аргументом в виде числа, имени или вы¬
ражения. Указатель функции — ее имя, за которым без пробелов в скобках постав¬
лен аргумент. Все переменные, входящие в аргумент, должны быть численно опре¬
делены до ссылки на функцию. Указатель функции в выражениях рассматривается
как число.
Основные встроенные функции:
Vx^SQR(X); sinX^>SIN(X);
lxl^ABS(X); cosX^COS<X);
e*^EXP(X); tgX^TAN(X);
lnx^LOG(X); arctgX^ATN(X);
наибольшее целое <X ent X ^ INT(X);
Знак X (1 при X>0, 0 при X**0, -1 при X<0) sign X ^SGN(X);
случайноечисло (0...1) ^RND(1).
Аргумент тригонометрических функций задается в радианах.
Оператор присваивания служит для присвоения значения простой величине
или элементу массива и имеет вид:
имя=число или выражение
Слева от знака присвоения (=) может стоять одно имя или имя с индексами, но
не число или выражение. После выполнения оператора величина слева от "=" полу¬
24
Л.А.Осипов
чает значение вычисленного выражения. Если эта же величина входит и в выраже¬
ние, то в нем используется его старое значение.
Арифметические выражения составляются из числовых данных. Порядок рас¬
крытия выражений:
1) вычисление индексов;
2) вычислениеаргументов функций;
3) вычисление функций;
4) возведение в степень;
5) умножение или деление;
6) сложение или вычитание.
В логических выражениях добавляется:
7) определениеотношений;
8) выполнение логических операций.
Операции одного ранга выполняются слева направо. Выражения записываются
в линию, что позволяет вводить их символ за символом. Последовательность дейст¬
вий изменяется круглыми скобками. Все величины, входящие в выражение, долж¬
ны быть количественно определены до этого выражения. Выражение, составленное
из целых данных и знаков +, -, * и л, дает целое значение, если по абсолютной ве¬
личине оно менее 32768.
Примеры:
Логические выражения (условия) образуются с использованием операций
арифметических, отношений и логических. Отношения (сравнения) служат для
проверки условий (>< ) и формирования логического ответа — ДА или НЕТ. Над
такими логическими значениями можно выполнять и логические операции. На¬
пример, условие нахождения точки (X, У, Z) внутри цилиндра радиуса R и высоты
H определяется выражением:
(Х~2 + Y~2 < R~2) AND (Z > 0 AND Z < H)
Операции отношения могут применяться и для сравнения слов текстов: A$=B$
или A$<>B$.
Текстовые выражения составляются из текстовых величин с использованием
специальных встроенных функций (эти функции здесь не рассматриваются) и опе¬
рации присоединения, обозначаемой знаком +. Так для величин А$*"ТЕЛЕ",
B$="OOH" и С$="ВИЗОР" операциями T$=A$+B$ и E$=A$+C$ будет получено "ТЕ¬
ЛЕФОН” и "ТЕЛЕВИЗОР”.
Операторы ввода и вывода
Ввод из списка данных обеспечивается объявлением DATA и оператором
READ. С помощью DATA задается список чисел и текстовых значений, разделен¬
ных запятыми. Текстовые данные, не имеющие пробелов на краях или запятых,
кавычками можно не выделять. Объявлений DATA может быть несколько и ставят¬
ся они в любом месте программы. Данные из всех списков DATA объединяются в
одну цепочку, из которой они по порядку читаются для переменных из списков
ввода READ:
Y=SIN (6*X) ^2+8*TAN (Хл3);
В(К)“(А(К)/Ч(СЛ(-К))-ЕХР(-С/ЧК))/
(LOG(A(K))+SQR(ABS(C)));
P = SGN (X)*ABS(X)л (1 /3)+ATN (X) /3.1416
Работаем на "Микроше”
25
11 DATA "ЦЕНА”, 10, РУБ., 25, КОП.,42
22 READ A$,B: READ B$,C,C$
Будет введено: A$ * ЦЕНА, B=10, В$=РУБ.,С*25, С$*КОП.
Для повторного чтения данных с начала цепочки применяется оператор RE¬
STORE ("восстановление”). Так, изменение в программе
22 READ A$,B:RESTORE:READ B$,C,C$
приводит к вводу
А$=ЦЕНА, B=10, В$=ЦЕНА, C=10, С$=РУБ.
Оператором READ запрещено присваивать числовым величинам текстовые зна¬
чения. Некоторые данные из DATA могут остаться не введенными, но при недо¬
статке данных ЭВМ останавливается и выдает сообщение:
04 ОШИБКА В 22 ("мало данных при вводе в строке 22").
Ввод данных с клавиатуры производится в процессе работы программы по тре¬
бованию оператора INPUT со списком величин, ждущих значений. При выходе на
этот оператор ЭВМ выдает на экран "?" и ждет ввода данных. С клавиатуры наби¬
раются в соответствии со списком ввода числа и тексты, разделенные запятыми.
Тексты можно набирать без кавычек. Данные вводятся строками нажатием клави¬
ши BK ("возврат каретки"). При недостатке данных выдается "??" и ввод следует
продолжить. Ввод текста для числовой величины вызывает сообщение "7ПОВТО-
РИТЕ ВВОД". Избыток данных ЭВМ игнорирует, но выдает "7ЛИШНИЕ ДАН¬
НЫЕ". Пока не нажата клавиша BK, данные можно исправлять.
В операторе INPUT можно использовать подсказку: INPUT "A,B,C=";A,B,C.
ЭВМ выведет "A,B,C*?" и остановится. После ввода трех чисел и нажатия BK реше¬
ние будет продолжено.
Вывод решения на экран производится оператором PRINT список вывода. В
список вывода включаются простые имена или с индексами, текст в кавычках,
функция табуляции (разметки) TAB, числа или выражения. При наборе програм¬
мы вместо PRINT можно ставить ? .
Если разделителем в списке вывода является запятая, то вывод производится в 5
зон по 14 позиций (начала зон — позиции 0, 14, 28, 42 и 56). При двух запятых
подряд пропускается одна зона. После вывода четырех или пяти данных делается
переход на новую строку.
Если разделитель точка с запятой, то данные выводятся без пробелов (слитно).
Пробел при выводе обеспечивается разделителем ";;". Если в конце списка вывода
нет разделителей, то следующий оператор PRINT производит вывод с новой стро¬
ки. При ";" в конце списка следующий вывод производится слитно, а при "," — со
следующей зоны. PRINT без списка пропускает одну строку.
Текстовые данные выводятся без кавычек. Числа в диапазоне 0,1...99999 выво¬
дятся с фиксированной точкой или как целые, а остальные — с плавающей точкой
в виде "Ц.ЦЦЦЦЦЕ ±ЦЦ, где Ц — десятичные цифры. При выводе чисел вместо
знака + оставляется пробел. Мантисса чисел с ПТ выводится в диапазоне
1...9.99999, а порядок — до ±38.
Оформление документов заданной формы и построение графиков производятся
с помощью функции табуляции TAB (число или выражение). Значение в скобках
должно быть в пределах 0...255. TAB(M) включается как элемент в список вывода
PRINT и определяет номер позиции M на экране, после которой будет выводиться
очередное число или текст. В случае дробного M из него берется целая часть. Зна¬
чение M не должно быть меньше номера позиции, на которой закончился предыду¬
щий вывод. В противном случае TAB(M) игнорируется. Если перед очередным TAB
стоит запятая, то вывод может выполняться не ранее начала следующей зоны.
26
Л.А.Осипов
Пример:
PRINT "APr.=";X;TAB(24);"OYHKUMH:";C
обеспечивает вывод в виде:
АРГ.*1.23456 ФУНКЦИЯ:-2.61700Е+08
Заметим, в списке вывода между текстом и именем величины точку с запятой
можно не ставить. После PRINT целесообразно ставить запятую, что исключит вы¬
ход за экран первых символов строки. Приведенный выше оператор станет:
PRINT,"APr."X;TAB(38) "ФУНКЦИЯГС.
Оператором CUR X,Y можно установить координаты (0<X<63, 0<Y<24) точ¬
ки, от которой надо начинать вывод.
Вывод графиков обеспечивается операторами: CLS — очистка экрана; PLOT
X,Y,C — высвечивание (C*1) или гашение (0*0) точки с координатами X,Y
(0<X<127, 0<Y<49); LINE XK,YK — провести линию к точке (XK, YK). Напри¬
мер, построить треугольник с вершинами (10,10), (55,40) и (100,10) можно про¬
граммой:
11 CLS: PLOT 10,10,1
22 LINE 55,40:LINE 100,10
33 LINE 10,10
Операторы управления
Оператор перехода GOTO m обеспечивает переход к исполнению оператора с
меткой m. После перехода операторы исполняются в естественном порядке, пока не
встретится новый оператор управления. Оператор используется для обхода некото¬
рых операторов или для возврата к ранее записанным операторам:
11 A*.35: GOTO 88
22 PRINT,A,B,C
88 B-LOG (A):C-EXP(B) :GOTO 22
Вычисляемый переход (переключатель) ON имя или выражение GOTO
m1,m2,...,mN выполняет переход на метку шк, стоящую на К-м месте в списке меток. К
— целая часть выражения, записанного после ON (l<K<N). При K<1 или K>N опе¬
ратор игнорируется. В списке меток некоторые метки могут быть одинаковыми.
Программа вычисления
Pk(x,a,b) -
2x+3a - 5
3x-b
x+a+b
при
при
при
к-1 или 5;
к-2 или 4;
к-3:
11 INPUT K,X,A,B
22 ON К GOTO 33,44,55,44,33
33 P"2*X+3*A-5: GOTO 66
44P-3*X-B: GOTO 66
55 P-X+A+B
66 PRINT,K,X,P
Логический условный оператор: IF условие THEN операторы при истинности
условия исполняет операторы строки, стоящие после THEN, а при ложности —
сразу переходит к следующей строке.
Работаем на "Микроше"
27
11 INPUT X: T-X*(l+X*X/3)
22 IF ABS(X)>**.3 THEN T=T+2/15*X^5
33 PRINT,X,T
Оператор условного перехода: IF условие THEN m при истинности условия осу¬
ществляет переход на метку m, а при ложности — к оператору, стоящему в строке за
ним, или при отсутствии такого — к следующей строке. Программа для примера п.7.3:
11 INPUT X:T-X*<l+X*X/3)
22 IF ABS(X) < .3 THEN 33: T=T+2/15*X^5
33 PRINT,X,T
Оператор цикла: FOR X ** а TO b STER с: тело цикла: NEXT X обеспечивает
многократное исполнение группы операторов, называемой телом цикла. Оператор
состоит из заголовка (FOR...TO...STER...), тела цикла и конца цикла (NEXT). В
заголовке: X — параметр цикла (простое имя числовой величины); а,в и с — выра¬
жения, задающие начальное, конечное значения и шаг изменения параметра X (с >
0 или < 0). При с e 1 можно не писать STEP 1. Оператор цикла выполняется в сле¬
дующем порядке:
1) параметру цикла присваивается начальное значение (Х«а);
2) выполняется тело цикла;
3) в операторе NEXT параметр изменяется на шаг (X - X + с);
4) при (X - b). sign С > 0 делается переход к п.2, а при (X-b).sign C<0 — выход
из цикла к оператору, стоящему после NEXT.
Начинать цикл можно только через его заголовок. При выходе из цикла его па¬
раметр сохраняет свое последнее значение. м
Примеры: 1. Вычисление факториала P * M ! - 1 • 2 • 3 — M * П К :
K=1
llINPUT"M="M:P=l
22 FOR K=1 TO M: P=P*K: NEXT К
33 PRINT,M "!="P
Ограничение чисел значением 1038 определяет максимальное M - 33.
2. В тело одного цикла можно вкладывать другой цикл. Вычислить
E«ex=«(l|+l)|+l)| + l)x
для X, изменяющегося от 3 до -3 с шагом -1.2, можно по программе:
11 FOR Х-3 TO -3.1 STEP -1.2: E=1
22 FOR К-4 TO 1 STEP -1: E=E*X/K+1: NEXT К
33 PRINT, "Х“”Х, "E="E: NEXT X
Во внешнем цикле по X граница параметра несколько расширена (до -3,1) с
тем, чтобы значение E при X*=^3 было получено при возможных ошибках округле¬
ния -1,2.
Оператор паузы STOP приводит к останову вычислений с выдачей сообщения:
СТОП В m, где m — номер строки с оператором STOP. После останова ЭВМ пере-
Программа вычисления
28
Л.А.Осипов
ходит в режим редактирования, в котором можно вывести значения некоторых пе¬
ременных (оператором PRINT), изменить значения определенных данных и про¬
должить работу директивой CONT или с заданной строки n оператором GOTO n.
Процедуры
Внутренняя функция объявляется в программе в виде:
DEF FNX [$ ] (формальный аргумент) = выражение.
Здесь DEF означает "определить";
FNlK — имя функции, где Ж — любые 1 или 2 символа;
$ дописывается к имени функции, если ее значение текстовое. Формальный ар¬
гумент — простое имя, которое не имеет значения и служит для определения по¬
рядка преобразования выражением значения фактического аргумента в выходное
значение функции. Определение функции располагается в люоом месте програм¬
мы, но до первого обращения к ней.
Обращение к функции производится указанием ее имени с фактическим аргу¬
ментом в виде значения, имени или выражения. В операторах такое обращение
рассматривается как значение. В выражение функции, кроме формального аргу¬
мента, могут входить и фактические переменные, значения которым должны при¬
сваиваться до обращения к ней. Пример:
11 DEF FNK(B)=A^2+B"3+C"4
22 INPUT X,A,C: PRINT, FNK(X+1)
Выводится значение функции FNK * А2 + (X + 1)3 + С4 после подстановки Х+1
вместо В. Значения А и С входят в выражение как фактические величины.
Подпрограмма — группа операторов, заканчивающаяся оператором RETURN
("возврат"). Обращение к подпрограмме производится оператором GOSUB m, где m
— номер первой строки подпрограммы. После исполнения подпрограммы RETURN
осуществляет возврат к оператору, стоящему после GOSUB m. Вычисления из п.8.1
можно оформить подпрограммой:
11 INPUT X,A,C: B=X+1: GOSUB 33
22 PRINT,K:STOP
33 K=A^2+B^3+C^4: RETURN
Подпрограммы можно вкладывать одна в другую.
Вычисляемый переход на подпрограммы ON выражение GOSUB ш1? ш2,..., mN
осуществляет обращение к подпрограмме, начинающейся со строки шк, где шк —
метка, стоящая на К-м месте после GOSUB, К — целая часть арифметического вы¬
ражения после ON, l<K<N. В зависимости от значения выражения (или величи¬
ны) можно переходить к различным подпрограммам и возвращаться к оператору,
следующему за ON...GOSUB....
Работа на "Микроше"
Подготовка ЭВМ к работе начинается с соединения блоков в соответствии с инс¬
трукцией (см. рис.1). Гнездо СБ "Магнитофон" подключается к выходу МГ. Моду¬
лятор вставляетя в антенный вход ТВ и соединяется с гнездом СБ "Видео". Штек-
кер блока питания вставляется в гнездо СБ "Питание", а его вилка — в сеть 220 В.
ТВ включается на 4-й или 5-й канал. Включается магнитофон, а затем и блок пи¬
тания. После нажатия клавиши СБ "Сброс" на экране появятся: -МИКРОША- и ^.
Работаем на "Микроше"
29
Все программы на кассете МК-60 имеют речевое название, тональный сигнал,
текст и сигнал конца. Для ввода интерпретатора после ^ надо набрать I, включить
магнитофон на воспроизведение и после названия "Бейсик" нажать клавишу BK. В
случае успешного ввода на экране появится колонка из трех чисел. Если этого нет
или высветится ОШИБКА, то ввод надо повторить. Для запуска интерпретатора в
работу нажать клавиши G и BK. Сообщение ЭВМ о готовности принимать програм¬
мы: *МИКРОША* BASIC.
Работа с программами. ЭВМ имеет клавиатуру с четырьмя группами клавиш:
1) символьные черные клавиши (буквы, цифры и др. знаки, входящие в програм¬
мы); 2) красные клавиши управления режимами работы клавиатуры (BK,
РУС/LAT и др.); 3) клавиши управления курсором; 4) функциональные клавиши
(Fl,F2 идр.).
На символьных клавишах нанесено по два символа. С клавиш, не имеющих
букв, нижний символ выбирается при нажатой клавише HP, а верхний — при от¬
пущенной. Русские буквы (верхний ряд) выбираются после переключения клави¬
шей РУС/LAT на русский алфавит (светится "РУС") или при латинском алфавите
и нажатой клавише HP.
Курсор перемещается по экрану клавишами ^ , «-, f, | и \ (перевод в первую
позицию первой строки). Работа других клавиш будет рассмотрена по мере необхо¬
димости.
Диалоговая работа на ЭВМ обеспечивается директивами, запускаемыми в рабо¬
ту клавишей BK. Набор программы начинается с ввода первой позиции чистой
строки директивы NEW, очищающей оперативную память для приема программы.
Далее вводятся строки программы:
11 строка 1 BK
22 строка 2 BK и т.д.
Заметим, что курсор в чистое поле строки клавишей ^ не сдвигается. Это надо
иметь в виду и в начале строки, когда курсор не виден. Его смещение можно полу¬
чить, нажимая клавишу пробела. Ошибочно набранные символы удаляются клави¬
шей F2. Для удаления всей строки достаточно ввести только ее номер. Для исправ¬
ления строки курсор подводится к ее номеру, перемещается к нужному месту, где
набирается новый текст, а лишние символы удаляются. После этого курсор выво¬
дится в конец этой строки, и нажимается BK.
Запуск программы на диагностику и счет производится переводом курсора в
первую позицию чистой строки и вводом директиы RUN ("прогон"). Если в про¬
грамме не обнаружены ошибки, то через некоторое время появится решение задачи
или запрос (?) данных к оператору INPUT. При завершении работы оператором
STOP выдается сообщение: СТОП В m. При обнаружении ошибок будет сообще¬
ние: ? №№ ОШИБКА В m (ошибка номер №№ в строке m). Директивой LIST
обеспечивается просмотр до 23 последних строк программы. При этом возможно
редактирование программы. Прерывание исполнения программы производится на¬
жатием клавиши F4. Программу из ЭВМ можно записать на МГ директивой
MSAVE и считать обратно директивой MLOAD.
Пример программы для "Микроши"
Для иллюстрации возможностей "Микроши" рассмотрим решение системы ли¬
нейных алгебраических уравнений с комплексными коэффициентами:
где N — порядок системы;
аКм + jt>KM — коэффициент в К-м уравнении при переменной хм;
aK,N+i + jt>K,N+i — свободный член К-го уравнения.
Для решения применим метод Жордана с выделением максимального элемента
в столбце. Текст программы:
30
Л.А.Осипов
11 N-3
12 DATA 3,4,4,-3,8,6,-28,4
13 DATA 6,-8,3,-3,4,3,3,-17
14 DATA 5,5,12,16,5,5,29,7
33 L^N-1: DIM A(L,N),B(L,N)
44 FOR КЧ) TO L: FOR M=0 TO N
55 READ A(K,M), B(K,M): NEXT M: NEXT K
66 FOR M=0 TO L: D=0
77 FOR K-M TO L: W=A(K,M)A2+B(K,M)A2
88 IF W>D THEN D=W: I=K
99 NEXT K:IF D=0 THEN PRINT, "0=0'':STOP
111 IF M**I THEN 155
122 FOR J=-M TO N:P=A(M,J)
133A<M,J)-A<I,J):A<I,J)=P:P=B<M,J)
144 B(M,J)=B(I,J):B(I,J)-P:NEXTJ
155 FOR J=M+1 TO N:A=A(M,J):B=B(M,J)
166 A(M,J)=(A*A(M,M)+B*B(M,M))/D
177 B(M,J)=(B*A(M,M)-A*B(M,M))/D:NEXT J
188 FOR K=0 TO L:IF K-M THEN 233
199 A=A (K,M) :B=B (K,M) :FOR J=M+1 TO N
211 A<K,J)=A(K,J) — A*A(M,J) + B*B(M,J)
222 B(K,J)=B(K,J)-B*A(M,J)-A*B<M,J):NEXT J
233 NEXT K:NEXT M:FOR K=0 TO L
244 PRINT,"X"K+l"="A(K,N)"+J*"B(K,N):NEXT K
Для работы программы следует в строке 11 указать порядок системы, а в стро¬
ках 12, 13 и т.д. в объявлениях DATA записать коэффициенты уравнений в поряд¬
ке:^, Bn,ai2, в12,..., ajiN+i, B1N+1,a2i, в21,..м a2,N+i»—>aN,N+i> BN,N+i-
Приданных, указанных в программе, получено решение:
Xl-2+J*l
X2-l+J*-2
X3-2 + J*2
Программа позволяет решать уравнения и с действительными коэффициента¬
ми, при этом все мнимые части полагаются равными нулю. Так, для уравнений
2х2 + Зхз-8;
2xi +3хз“0;
3xi + х2 + -2
задаются данные:
12 DATA 0,0,2,0,3,0,8,0
13 DATA 2,0,0,0,3,0,0,0
14 DATA 3,0,l,0,0,0,-2,0
Решение системы:
Xl^l,5 + J*0
X2-2.5+J*0
X 3 - .999999 + J*0
На "Микрошу” можно переложить многие программы, имеющиеся в справочни¬
ках по Бейсику.
Предлагаю вам для публикации разработку, по моему мнению, ин¬
тересную для программистов "Микроши" и других машин с 580-м
микропроцессором.
Р.А.Сузи
Перемещаемые программы
Имеющие дело с кодами 580-го микропроцессора знают, что программа в них
будет работать только на том месте, какое было определено при трансляции. Одна¬
ко было бы очень удобно, если бы некоторые программы были п e p e м e щ а e м ы м
и , то есть могли бы работать на любом месте ОЗУ, предварительно настроившись
на него.
Я хочу предложить реализацию метода, позволяющего писать перемещаемые
программы.
Принцип настройки на новые адреса довольно прост.
В самом начале программа определяет свое новое местонахождение. Как нельзя
поднять самого себя за волосы, так нельзя и в кодах 580-го описать перемещаемую
программу без "суши" (участка с известным абсолютным адресом). Роль участка "су¬
ши" в моей программе играет "остров", состоящий из трех команд, которые при вызове
"острова" засылают в H адрес возврата, относительно которого и определяется смеше¬
ние всех адресов.
Далее программа определяет, насколько новое место отличается от старого, и
корректирует все операнды по адресам, занесенным в таблицу меток, одновремен¬
но корректируя и ее данные. В таблицу заносятся метки, которые указывают на ко¬
манды, операнды которых зависят от начального адреса программы. Остальные
операнды не нуждаются в коррекции.
Когда программа принимает работоспособный на данном месте вид, запускается
главная часть. Если программу больше не предполагается перемещать, то старто¬
вую часть можно убрать, заняв память чем-то другим.
Плата за возможность перемещения средняя: удлинение выполнимых ко¬
дов на длину стартовой части и таблицы; удлинение текста программы из-за
необходимости помечать все обращения к внутренним адресам отдельной
меткой.
Текст программы (проверен на "Микроше") с кодами для проверки возможных
опечаток:
ORGO
QUANTITY: EQU 3
ISLAND: EQU 0
START:
LHLD ISLAND
PUSHH
LDAISLAND+2
PUSH PSW
LXI H, 0E5ElH
SHLD ISLAND
MVI A, 0C9H
STA ISLAND+2
; длина таблицы меток
; местоположение "острова"
; эвакуация "острова" в стек
размещение на острове команд:
(El)POPH
(E5) PUSH H
(C9) RET
32
Р.А.Сузи
CALLISLAND
OLD: LXI D, OLD
MOV A,L
SUB E
MOV C,A
MOV A,H
SBBD
MOV B,A
PUSHH
LXI D, TABLE-OLD
DADD
MVI A, QUANTITY
CYCL:
MOV E,M
INXH
MOV D,M
XCHG
DAD B
XCHG
MOV M,D
DCXH
MOV M,E
INXH
INXH
PUSHH
XCHG
INXH
MOV E,M
INXH .
MOV D,M
XCHG
DAD B
XCHG
MOV, M,D
DCXH
MOV M,E
POPH
DCRA
CYCL
POPH
OLD: SHLD OLD+1
вызов подпрограммы — "острова"
команды "острова" образовали;
в HL адрес метки OLD на момент выполнения
BC:*HL-DE — вычисление
смещения между старым и новым
адресами (в DE — старый адрес
метки OLD)
; сохранение нового значения OLD
; только так можно
; узнать адреса начала таблицы меток
; определяет число повторений цикла
; DE:= очередной элемент таблицы
; коррекция адреса из таблицы:
DE:=DE+BC (через HL)
; запись измененного адреса
; втаблицу
; и настройка
; HL на следующий элемент таблицы
; заполнение в стеке указателя таблицы
; работа с изменяемым местом программы.
; наведение HL на операнд команды
; взятие подлежащего коррекции
; адреса в DE
; опять прибавляется смещение:
; DE:=DE+BC (через HL *- DE обмен)
; новый адрес в DE, адрес, откуда его взяли, i в HL
; занесение скорректированного адреса
; на его место
; достаем указатель таблицы
; цикл выполняется QUANTITY раз
;JNZCYCL
; метка _СУ^должна стоять в таблице первой,
; чтобы быть скорректированной метке CYCL до i ис¬
пользования перехода цикла.
; достается новый OLD и записывается
; на свое место
Перемещаемые программы
33
POP PSW
STAISLAND+2
POPH
SHLD ISLAND
_BEGIN: JMP BEGIN
TABLE:
DW _CYCL,_OLD
DW BEGIN
BEGIN:
END
; возвращениена остров
; команд-"аборигенов"
; переходкначалу
; таблица м^ток, по которым находятся
; команды, операнды которых требуют коррекции
; из-за возможной перемены положения в ОЗУ (вместе
; спрограммой)
; дозаполнив таблицу, не забудьте
; H3MeHHTbQUANTITY.
; программа
2A
00
00
E5
ЗА
02
00
F5
21
E1
E5
22
00
ЗЕ
C9
32
02
00
CD
00
00
11
16
00
7D
93
4F
7C
9A
47
E 5
11
ЗВ
00
19
ЗЕ
03
5E
23
56
ЕВ
09
ЕВ
72
2B
73
23
23
E5
ЕВ
23
5 E
23
56
ЕВ
09
ЕВ
72
2B
73
E1
3D
C2
26
00
E1
22
17
00
F1
32
02
00
E1
22
00
C3
57
00
3F
00
43
00
4E
00
БЕЗОПАСНОСТЬ ТЕРМИНАЛОВ
Широкое распространение компьютерной техники поднимает проблему безопасности работы с дисплеем.
Исследованию этой проблемы было посвящено около 40 работ, которые, однако, не дали ответа на вопрос, на¬
сколько опасно для человека излучение экрана.
В излучении ни,** тирминал ж преобладают элжт^магкигные волны диапазона очень низких частот (ОНЧ) и
диапаэоначрезвьмайнонизкихчастот (ЧНЧ).Этивсшныневызьтаютионизациювагличиеагпроникакхцей ради¬
ации и рентгеновского излучения, которые могут разрушать молекулярные связи и создавать заряженные ионы.
По мнению некоторых ученых, волны диапазона ОНЧ могут вызвать онкологические заболевания,
катаракты, врожденные дефекты и провоцировать выкидыши, а волны диапазона ЧНЧ могут оказывать
влияние на рост и химические компоненты клеток, способствуя зарождению опухолей, вызывать гормо¬
нальные изменения и ослаблять иммунитет. Другие ученые утверждают, что исследования не позволяют
делать таких заключений.Не дожидаясь окончательных заключений ученых, несколько фирм выпустили
продукцию с пониженным уровнем излучения, данные о которой представлены в таблице.
Уровень излучения на расстоянии 0,5 м от монитора
Монитор
Уровень излучения, мГс
перед дисплеем
сбоку
сверху
снизу
IBM 85 15
0 - 0.12
0-0,12
0.13 - 0.25
0-0.12
IBM 83 15
0.51 -0,75
0.26 - 0.50
0.76-1.00
0.76-1.00
"СейФ-компьютер" VGA
0 - 0.12
0 - 0.12
0- 0.12
0 - 0.12
"Сигма"ЬУМ-00-1900-ZM
0 - 0,12
0.13-0.25
0.13 - 0.25
0.13 - 0.25
"Макинтош” M0401
0.26 - 0.50
0.26 - 0.50
0.51 - 0.75
0.51 - 0,75
(ПРОДОЛЖЕНИЕНА CTP.40>
С.П.Таланов (г.Яранск)
Использование программ
от БК-0010 на БК-0011
В последнее время на прилавки магазинов поступил компьютер марки
БК-0011.
Я не буду останавливаться на егодостоинствах и недостатках, они очень хорошо
известны всем владельцам, хочу только сказать, что программ для него практиче¬
ски нет, а какой-то "умник" сделал его программно не совместимым с широко рас¬
пространенным компьютером БК-0010, для которого, по различным данным, суще¬
ствует от 4 тысяч программ.
Что же сделать, чтобы владельцы БК-0011 получили доступ к такому бо¬
гатству? Оказывается, следует всего-навсего эмулировать БК-0010, т.е. со¬
здать среду на БК-0011, в которой программы БК-0010 будут работать без
проблем.
Начнем с различий в системном программном обеспечении обоих компьютеров.
Как известно, удобным и широко применяемым обращением к функциям систем¬
ного ПО БК-0010 являются командные прерывания EMT, выполняемые через
ЕМТ-диспетчер, представляющий собой часть монитора.
Номера (аргументы) EMT (и во многом выполняемые ими функции) обеих ком¬
пьютеров совпадают, но различаются входные данные, задаваемые в регистрах об¬
щего назначения перед обращением к прерыванию EMT. Попытка запустить про¬
грамму, написанную в системе команд БК-0010 на БК-0011, как правило, приводит
к зависанию, а переделать программу с заменой всех входных данных EMT обычно
так сложно, что проще написать ее заново.
Покажу различия прерывания EMT на примере часто применяемой команды
EMT 20, осуществляющей вывод на экран строки символов.
БК-0010
БК-0011
Команда:
EMT 20
EMT 20
Машинный код:
104020
104020
Функция:
вывод на экран
Вывод на экран
строки символов
строки символов
Входные
R1 — адрес начала
R0 — адрес начала
данные
строки;
строки;
Действие:
R2 — ограничители
строка выводится на
строки: мл.байт — длина
экран; курсор в начале
строки (если 0-20000)
строки, если конец
ст.байт — код символа —
строки — код 0, и в конце
ограничителя строки.
строки, если конец |
Строка выводится на
экран: курсор в конце
строки. _ ,__
строки — код 200.
БК за рога
35
Как видим, различия так велики, что ни о какой работоспособности программ
БК-0010 на БК-0011 не может быть и речи.
Полностью совпадают по входным данным следующие EMT: 4, 6, 14, 16, 36, а не
совпадают — все остальные.
Кроме того, на БК-0011 отсутствует язык ФОКАЛ.
Несмотря на его невысокое быстродействие, пренебречь наработанными на нем
сотнями программ, особенно вычислительного и тестового характера, было бы не¬
правильно. Да и в некоторых системных и игровых программах в кодах использу¬
ются обращения к функциям ФОКАЛа.
Как же эмулировать архитектуру БК-0010 на БК-0011?
Если у вас есть БК-0010, то проблема решена! Перепишите на магнитную ленту
драйвер-мониторную систему и язык ФОКАЛ БК-0010. Для этого нужно выйти в
режим отладки БК-0010 (на БК-0010-01 обязательно подключив блок МСТД).
Привожу последовательностьдействий: P (пробел) T (ввод) (РУС)ТС. На экране
появится знак диалога мониторной системы диагностики БК-0010 "колесо".
Затем дайте директивы: M3
адрес=100000
длина=20000
ИМЯ=Монит
Мы записали на магнитофон драйвер-мониторую систему. Для записи ФОКАЛа
нужно изменить адрес — 120000, а для записи и того и другого сразу изменить дли¬
ну на 40000.
Итак, у вас на МЛ есть запись монитора БК-0010 с ФОКАЛОМ (или без него)
Включите БК-0011. На экране появится:
БК-0011 KEYBOARD MONITOR
000000
И знак приглашения к диалогу — @. Отведем под монитор и ФОКАЛ третью
страниц ОЗУ и загрузим программу:
(лат)3:1С
L
NAME FILE? В: (ввод)
(ответ В: означает загрузку первого попавшегося файла в формате БК-0010).
После правильной загрузки будет выдано сообщение, например:
100000, 20000 -МОНИТ.
После чего остается только запустить монитор директивой 100000G. В слу¬
жебной строке появится надпись ЛАТ, а на экране — знак диалога монитора
БК-0010-"?".
Монитор готов к приему директив. Каких?
M (ввод) — загрузка файла в кодах, на запрос ИМЯ? — наберите имя файла и
нажмите ввод. Если файл загружен неправильно, будет выдано сообщение —
"ОШИБКА", если же правильно и если файл снабжен автозапуском, он сразу запу¬
стится. Если автозапуска нет, то после загрузки файла будет выдан ответ — "?".
Для запуска файла с адреса загрузки дайте директиву S (ввод), а для запуска с лю¬
бого другого адреса — S (адрес) (ввод), где "адрес" — восьмеричное число. Пробелы
в директивах недопустимы, при ошибке набора нажмите (стоп) и повторите ввод
директивы заново.
Если вы загрузили монитор вместе с ФОКАЛом, то после запуска 100000G про¬
изойдет выход в ФОКАЛ, появится сообщение "ГОТОВНОСТЬ К РАБОТЕ" и знак
диалога ФОКАЛа-"*".
Для загрузки фокал-программ наберите: (лат) L G (имя файла), пробелы после
L и после u обязательны. Запуск программ: G (ввод), просмотр листинга — W
(ввод).
Если вам нужно перейти из ФОКАЛа в монитор, дайте директивы — (лат) P M
(ввод), для обратного перехода из МОНИТОРА В ФОКАЛ — F (ввод). При выходе
36
БК за рога
в ФОКАЛ содержимое ОЗУ пользователя теряется, кроме зоны адресов
1000....1377.
Некоторые программы используют при работе тест-ПЗУ БК-0010, эмулировать
которое на БК-0011 невозможно, и поэтому владельцам БК-0011 придется о них
забыть.
Кроме того, в БК-0011 различаются аппаратные средства подачи звуковых сиг¬
налов, поэтому будет "молчать" клавиатура, не будут работать директивы вывода
из программ, звуковые эффекты, речь. Эти недостатки можно устранить программ¬
но, вставив операторы, записывающие 1 в 11 разряд системного регистра, непосред¬
ственно перед подпрограммами вывода и подачи звуковых сигналов в самой про¬
грамме.
Такую операцию можно выполнить с помощью отладчика.
Опытные программисты могут доработать сам МОНИТОР БК-0010, используя
место в его конце, где расположен драйвер телеграфного канала.
Руководствуясь материалом этой статьи, вы получите доступ к обширнейшему
программному обеспечению, написанному первоклассными программистами, из
которого вы сможете выбрать понравившееся или нужное вам для работы. Равно¬
ценный запас ПО БК-0011, скорее всего, не будет наработан никогда.
Программы, в которых предусмотрено управление от джойстика, с равным
успехом работают в режиме эмуляции, джойстик подключается к порту БК-
0011. Работают также и многие системные программы, в частности отладчик-ас-
семеблер "МИРАЖ" С.М.Зильберштейна (не работает, правда, директива выво¬
да "SAVE").
Конечно, данное краткое описание не дает полной картины работы в среде БК-
0010, на БК-0011, но навык придет со временем, а проверяя в работе на БК-0011
все новые программы БК-0010, вы получите подлинное удовольствие от сделанных
открытий.
В заключение хочу выразить благодарность Ю.А.Зальцману (г.Алма-Ата) за по¬
мощь, оказанную в написании данной статьи.
Эта статья подготовлена для представления в издательство на компьютера БК-
0010, в среде редактора МИКРОЮ, отпечатана на принтере MC-6313/EPSON.
Заключение рецензента
Описанный С.П.Талановым способ запуска программ в машинных кодах и на
ФОКАЛе, разработанных для БК-0010, работоспособен на BK0011. Однако я вы¬
нужден разочаровать читателей — владельцев БК-0011, так как по имеющимся
у меня сведениям эти компьютеры снимаются с производства, а вместо них за¬
пускается новая модель — БК-0011М, полностью несовместимая с БК-0011, но
зато гораздо более совместимая с БК-0010 (так какие-либо сложности со звуком
в программах БК-0010, описанные в рецензируемой статье, исключаются, кро¬
ме того БК-0011М имеет принципиально новую клавиатуру и в отличие от БК-
0011 способна работать с магнитофоном в уплотненных форматах записи, как и
БК-0010).
Что касается БК-0011, то я. во-первых, могу предложить использовать для за¬
грузки монитора и фокала не третью, а четвертую страницу ОЗУ, так как в этом
случае упрощается переделка звука в программах. Для этого достаточно с по¬
мощью лю<бого отладчика найти в программе все обращение по записи к регистру
внешнихустройств 177716 и прибавить ко всем посылаемым в него данным кон¬
станту 16000.
Так, например, реализация звуковых эффектов в 90% программ достигается
непосредственной записью в регистр 177716 констант 220 и 320. Достаточно изме¬
нить их соответственно на 16220 и 16320, и ваша программа "зазвучит" на БК-
0011. Точно так же можно переделать в мониторе звук нажатой клавиши и запись
на магнитофон. Для этого привожу таблицу изменений в мониторе, предложенных
московским программистом В.Савиным, известным многим по компьютерным иг¬
рам.
БК за pora
37
Таблица изменений монитора БК-0010 для реализации звука и работы с магни¬
тофоном БК-0011 (используется 4 страница ОЗУ)
Смещение от
начала файла
монитора
Значения ячеек
в мониторе БК-
0010
Новые значения
ячеек монитора
000246/
00022 0
016200
000450/
000220
016200
002064/
000320 ,
016300
002076/
000220
016200
010342/
000220
016200
016146/
000220
016200
016160/
000020
016000
016230/
000220
016200
016260/
000020
016000
016400/
000220
016200
016406/
000160
016140
016420/
000020
016000
016434/
000120
016100
016446/
000060
016040
016520/
000160
016140
016532/
000020
016000
016546/
000120
016100
016560/
000060
016040
016572/
000160
016140
016604/
000020
016000
016646/
000020
016000
016706/
000220
016200
017532/
000220
016200
017542/
000200
016200
017616/
000260
016240
017674/
1 000220
016200
В заключение могу несколько скрасить горе владельцев БК-0011, сообщив им,
что для переделки их компьютеров в БК-0011М требуется не так уж и много — за¬
мена всех ПЗУ и небольшое изменение в схеме. Насколько мне известно, уже не¬
сколько фирм занимаются переделкой БК-0011 в БК-001 lM.
А.М.Надежин
После трудных исследований и попыток недавно удалось реализо¬
вать новый канал обмена текстами и графикой между БК0010 и
IBM. Новый канал прост, дешев и, что важно, общедоступен. В ро¬
ли "посредника** от ПК IBM-архитектуры выступают компьютеры
семейства "ПОИСК” Киевского НПО "Электронмаш".
С.А.Ивашинников (г.Арсеньев)
НОВЫЙ КАНАЛ ОБМЕНА
ДЛЯ БК0010
Канал обмена реализован с помощью
эмуляции (имитации) драйвера бытово¬
го магнитофона ПК "ПОИСК" на
БК0010. При этом не требуется ника¬
ких аппаратных изменений как со сто¬
роны БК0010, так и со стороны "ПО-
ИСКа".
Элементарной формой обмена мо¬
гут выступать записи на кассетах.
Другой более перспективной формой
обмена может быть модемная связь
между указанными семействами ПК
или связь по радиоканалу. В послед¬
нем случае уже можно говорить об ор¬
ганизации широкомасштаоных сетей
из удаленных компьютеров с несовме¬
стимыми архитектурами.
В последнее время довольно часто
ведутся разговоры о быстром моральном
старении средств вычислительной тех¬
ники, об отставании отечественных мо¬
делей от зарубежных. Но массовое пе¬
реоснащение недешево, а для большин¬
ства пользователей просто недоступно.
В этом случае описанный канал оомена
при желании мог бы стать практически
бесплатным или относительно дешевым
путем общения не только со стороны ор¬
ганизаций, но и со стороны массовых
владельцев домашних компьютеров.
Уже десятилетия ведутся бесплод¬
ные разговоры о разработке государст¬
венной программы создания компью¬
терных сетей, но не только "воз и ныне
там", но и "воз" почти потерян. Поэтому
предлагаемый канал обмена, развивае¬
мый поначалу пусть стихийно, может
быстро стать масштабным, а уже много¬
численный и разнородный отряд деше¬
вых компьютеров получит новые сферы
применения.
Реально уже существуют подобные
каналы и на семейство ПК фирмы Син¬
клер, и на Intel-8090/8085. Развить
идеи на другие модели и разработать
прикладное программное обеспечение
не составит большого труда, важно
лишь начать.
Таким началом могут послужить хо¬
тя бы мои программы для БК:
-TURB03ZX
- TURBOIBM3
- БК-РК86
- DIS5-ZX
- DIS5-lBM
- BASIC-ZX
- МАШКОД88
Первые две программы являются ос¬
новными и обеспечивают чтение как с
кассет записей, сделанных на ПК ZX-
SPECTRUM (Синклер) и ПК "ПОИСК",
так и кассетную запись от БК0010 в фор¬
мате Синклеров и "ПОИСКов".
Следующие программы — приклад¬
ные и обеспечивают преобразование за¬
груженных программ в форму ЕДАСП-
текстов на Ассемблере или Бейсике.
Последняя программа "МАШ-
КОД88" уникальна хотя бы потому, что
при малых ее объемах обеспечивает
разработку программ для всех 8-разряд-
ных процессоров и IBM на БК0010.
На первый взгляд разрабатывать
программы для несовместимых архи¬
тектур компьютеров нелепо, так как та¬
кие программы нелегко отладить, про¬
верить тут же на месте. Но не следует
забывать, что в большинстве случаев
доработки уже имеющихся программ
Новый канал обмена для БК0010
39
совершенно не требуются сложные пре¬
образования, объемные программы реа¬
лизации. Такие преобразования при
элементарном навыке можно с большой
гарантией выполнить и не на родствен¬
ном компьютере.
Другой момент связан с привычными
навыками и условиями работы. Доста¬
точно простого примера из личной
практики. Совсем недавно я приобрел
ПК "ПОИСК”. В комплекте с ним был
лишь Бейсик и тест-отладчик. Мои на¬
дежды на многочисленную литературу
по IBM PC не оправдались, так как на
"нулевом" уровне никто на PC не рабо¬
тает, а работают всегда в какой-то
мощной программной оболочке. Пона¬
чалу я, конечно, применил Бейсик. Но
так как он загружаемый, то сразу встал
вопрос времени. Наконец, отнимая
много времени, нещадно эксплуатируя
"ПОИСК", я дождался дня, когда он
сломался...
И тут я подумал: а почему нельзя
часть рутинных забот поручить изучен¬
ной вдоль и поперек БК0010?! Ведь на
нее имеется столько прикладных про¬
грамм, которым может позавидовать
любая модель ПК вотечестве, как это
ни странно. Надежность работы БК0010
тоже общеизвестна, как бы ни кивали
на Америку.
С этого дня процесс постижения
"ПОИСКа" многократно ускорился. По¬
сле нескольких же попыток открыл, что
формат записи "ПОИСКа" довольно
прост, чтобы считать данные с кассеты
"ПОИСКа" в память БК0010.
После этого сразу встала задача: а
что с этими данными делать? Какая бы
ни была литература, но архитектуру
команд PC понять можно, и очень быст¬
ро удалось сделать 1ВМ-дисассемблер
DIS5-IBM, отнимающий у БК0010 всего
2 Кб. Как и ранее сделанный DIS5-ZX
для Синклеров, эта программа преобра¬
зует кодовые записи "ПОИСКа”, загру¬
женные через TURBO IBM, в текстовый
файл, читаемый в любом EDASP-совме-
стимом редакторе. А следовательно, та¬
кие тексты легко разбираются, редакти¬
руются и, самое важное, распечатыва¬
ются на принтере.
Разобрать и проанализировать полу¬
ченные тексты программ на БК0010 от¬
нюдь не сложнее, чем на PC с мощной
конфигурацией. Таким образом мне,
например, удалось "взорвать" святая
святых — базовую операционную сис¬
тему BIOS (В K6 ПЗУ) "ПОИСКа”. При
этом сам "ПОИСК" (уже отремонтиро¬
ванный) я включил лишь раз — для вы¬
вода на кассету самой BIOS.
После анализа BIOS сразу спала пе¬
лена с глаз, и то, что ранее казалось
"тайной фирмы", за секреты которой,
наверное, надо было платить немалые
деньги, стало быстро проясняться. И
пусть меня упрекнут "фирмачи" за не¬
прошенное вторжение, но иного пути у
меня просто не было.
Вывод из всего описанного напраши¬
вается такой — не следует пренебрегать
старыми вещами на фоне ужасного де¬
фицита. И не соглашайтесь с теми "все¬
знающими" экспертами, которые вам
будут рекомендовать выбросить куп¬
ленный за свои кровные устаревший
компьютер как ненужный хлам. Он еще
может очень пригодиться.
Но вспомним о МАШКОД88. Из на¬
звания файла просматривается его
связь с известными версиями операци¬
онной среды МАШКОД для БК. Я не
стану утверждать, что эта программа
получила признание. Но в ней был и oc-
таетсяряд очень полезных идей, кото¬
рые заоыть грешно.
Одна из таких идей, положившая на¬
звание самой программы, — это незави¬
симый от архитектуры процессора Ас¬
семблер. Назовите мне что-нибудь по¬
добное даже после 5 лет существования
первой версии МАШКОДа!
Скептики сразу скажут, что вот,
мол, гора родила мышь, что даже в
полном родном Ассемблере работать
нелегко, а тут пропаганда работы чуть
ли не в непосредственных машинных
кодах.
Но кто сказал, что МАШКОД не
позволяет развивать базовый МАШ-
КОД-ассемблер с помощью опять же
нигде еще не применяемых макрофун¬
кций до уровня полного Ассемблера, а
то и повыше ??? Делается это с по¬
мощью простой макробиблиотеки в ре¬
дакторе.
Вместе с тем многие БКманы давно
убедились, что в ряде случаев можно
обойтись и без Ассемблера, если есть
определенный навык. А если учесть,
что такой навык быстро приобретают
даже непрограммисты, школьники, то
40
С.А.Ивашинников
специалисты искушенные тем паче.
Достаточно лишь раскрепостить себя от
псевдонаучных шор и методических
пособий.
Итак, в базовом варианте (без мак¬
робиблиотеки) МАШКОД88 позволяет
вести кроссассемблирование на любую
8-разрядную модель ПК, в том числе —
свят-свят — даже на IBM PC.
Пожалуй, это может впечатлить
даже теперешних прожженных скеп¬
тиков и удалых критиков. И пусть
меня съедят, если я вру или преуве-
личивдю-преукрашиваю свои брен¬
ные труды.
В отличие от известного МАШКОДа
в МАШКОД88 за базовый элемент про¬
граммы принимается не двухбайтное
слово, а естественный байт программы,
который может быть командой.
Отладчик и дисассемблер, являю¬
щиеся, по сути, продолжением МАШ¬
КОДа, теперь также позволяют опери¬
ровать восьмеричными байтами. Вось¬
миричная система счисления, менее
принятая в среде 8-разрядных процес¬
соров, тем не менее в ряде случаев бо¬
лее органично отражает специфику ти¬
пизации команд, чем, положим, шест¬
надцатирична я.
Вместе с тем предусмотрена возмож¬
ность записи словных, двухбайтовых
представлений.
Правила работы с МАШКОД88 в ос¬
нове остаются прежними, и их вы мо¬
жете постичь в серии текстовых файлов
МАШКОДОК.
Небольшие отличия легко постижи¬
мы на разборе прилагаемых образцов
программ, написанных в МАШКОД88
для ПК "ПОИСК".
В заключение ко всему
изложенному следует добавить, что
нынче ни одно предприятие не пред¬
почтет IBM РС-совместимый ПК како¬
му-то другому, это, слава богу, дока¬
занный факт. На PC имеется в избыт¬
ке самое мощное программное обеспе¬
чение, которое развивается с каждым
днем и не только в отдельно взятой
стране. Поэтому, если вы хоть на ми¬
нуту оставите игрушки и подумаете о
своем реальном будущем, о своих
близких, то безусловно со мной согла¬
ситесь и поспешите применить свою
пусть не ахти какую могучую, но лич¬
ную собственность в лице БК0010 по
назначению. Право, вас ожидает впе¬
реди немало открытий и интересных
вещей. Вы, конечно, столкнетесь с
трудностями. Но где их нет? Все пре¬
одолимо!
г.Арсеньев
(тел.261-235-51)
(ПРОДОЛЖЕНИЕ. НАЧАЛО НА СТР. 33)
Калифорнийская фирма "Сигма дизайн” ввела стандарт на свои мониторы, отвечающий стро¬
жайшим требованиям безопасности, которые приняты в Швеции еще в 1986 г. Уровень излучения по
шведскому стандарту не должен превышать 0,50 мГс на расстоянии 0,5 м от дисплея. В терминал фирмы
"Сигма дизайн” встроена дополнительная обмотка для экранирования магнитных полей. В 1991 г. фирма пла¬
нирует представить на рынок первый монитор с пониженным уровнем ЧНЧ-иэлучения. Фирма ЮМ в своих
новьгс видеодисплеях также снижает уровень излучения, хотя не собирается вносить изменения в существую¬
щие компьютеры. Фирма "Сейф компьютер" (Массачусетс) предложила альтернативу. Ее мониторы с
жидкокристаллическим табло, которые используются в устанавливаемых на транспортных средствах
ЭВМ, не излучают измеряемую радиацию.
Телекомпания CBV перепроектировала рабочие места в Чикаго и Нью-Йорке так, чтобы все со¬
трудники располагались не ближе 0,9 м от боковых и задних стенок работающих дисплеев. Округ Сан-
Франциско рекомендует дать беременным женщинам шанс на отказ от работы с видеотерминалами.
Technology Review, 02 - 03.91, v.94 NQ 2, p. 16.
Программно-аппаратный комплекс предназначен для работы с
микросхемами серий 573РФ и 556 PT и им подобных импортных
микросхем. Комплекс позволяет готовить и редактировать данные
для ПЗУ, программировать эти данные в люоую область ПЗУ, счи¬
тывать их из ПЗУ и и сохранять на магнитных дисках. Комплекс
функционирует на 16-разрядных ПЭВМ, совместимых с IBM PC,
под управлением операционной системы MS DOS. Требуемый объ¬
ем оперативной памяти — не менее 256 Кб.
Смотров B.M.
ПавловецД.П.
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС
НА БАЗЕ ПЭВМ IBM PC XT/AT
ДЛЯ ПРОГРАММИРОВАНИЯ МИКРОСХЕМ
Аппаратные средства
Аппаратные средства комплекса включают в себя программатор, адаптер сис¬
темной шины (для подключения программатора к ПЭВМ), кабель связи адаптера с
программатором, модули сопряжения ПЗУ для обеспечения работы конкретных ти¬
пов микросхем с программатором.
Основные технические характеристики
- обеспечивается чтение данных из ПЗУ и запись данных в ПЗУ командами пе¬
ресылки MOV микропроцессора ПЭВМ;
- величина напряжения программирования устанавливается переключателем
программатора;
- длительность импульса программирования устанавливается хронирующим
конденсатором в модуле сопряжения ПЗУ;
Рис.1. Структурная схема аппаратных средств комплекса
42
В.М.Смотров, Д.П.Павловец
- блок питания программатора
подключается к шине +12V ПЭВМ
через кабель связи адаптера с про¬
грамматором и обеспечивает все не¬
обходимые напряжения питания
для программирования;
- скорость программирования в ос¬
новном определяется длительностью
импульса программирования и алго¬
ритмом программирования. В данном
комплексе при использовании алго¬
ритма фирмы "Infel" для программи¬
рования ПЗУ с ультрафиолетовым
стиранием импульсами длительно¬
стью 1 мс скорость программирования
составляет 16 Кбайт/мин.
Структурная схема комплекса
приведена на рис. 1. Адаптер сис¬
темной шины представляет собой печатную плату, совместимую по размерам со
стандартными контроллерами ПЭВМ. Плата вставляется в свободный разъем си¬
стемной шины ПЭВМ. Сигналы адресной шины ПЭВМ через буферные усилите¬
ли шин адреса подаются в программатор. Сигналы шины данных ПЭВМ переда¬
ются в программатор и принимаются из него через двунаправленный шинный
формирователь. В адаптер входят буферные усилители сигналов управления за¬
писью и чтением (MEMW, MEMR), а также формирователь сигнала готовности
(CHK RDY) для ПЭВМ. Адаптер имеет разъем, выходящий на заднюю стенку
системного блока ПЭВМ, для подключения связи с программатором. Через этот
кабель передаются и питающие напряжения +5V, -5V, +12V.
Программатор представляет собой отдельную конструкцию с габаритами 235x130x45. В
нее входит инвертирующий блок питания, который преобразует входное напряжение +12V в
необходимые величины напряжений для питания и программирования ПЗУ. Напряжение
программирования ступенчато устанавливается с помощью переключателя программатора.
Четыре старших разряда адресной шины поступают на дешифратор выбора
ПЗУ, который разрешает работу двунаправленного шинного формирователя в
адаптере системной шины, а также схем формирования длительности сигналов чте¬
ния и записи в программаторе. Вход дешифратора выбора ПЗУ настраивается на
любой четырехразрядный код для размещения адресов ПЗУ (0000 - FFFF) в участ¬
ке основной памяти ПЭВМ, свободной от использования системными средствами.
По сигналам управления MEMW или MEMR, поступающим из ПЭВМ через бу¬
фер системной шины, при наличии выбора ПЗУ запускаются формирователи дли¬
тельности чтения и записи ПЗУ (RD,WR), которые с помощью формирователя сиг¬
нала готовности управляют входом CHK RDY ПЭВМ, т.е. задерживают состояние
MEMR или MEMW системной шины на время действия импульсов формирования
RD или WR. Импульс с формирователя WR управляет с помощью ключа подачей
напряжения программирования на соответствующий вход ПЗУ.
В комплекс входят два модуля сопряжения ПЗУ: один для работы с микросхема¬
ми типа РФ (573РФ1, 573РФ2, 573РФ4, 573РФ5, 2764, 27128, 27256, 26512), вто¬
рой для работы с микросхемами типа PT (155PE3, 556PT4, 556PT5, 556PT6,
556PT7). Эти модули вставляются в программатор с помощью разъема. Возможно
расширение номенклатуры программируемых микросхем дополнительными моду¬
лями сопряжения для других типов ПЗУ.
Программные средства
Входящее в состав комплекса программное обеспечение функционирует под уп¬
равлением операционной системы MS-DOS и состоит из 5 функционально незави¬
симых модулей (рис.2).
Рис.2. Структура программного обеспечения
для программирования микросхем
Комплекс для программирования микросхем
Рис.З. Соответствие адресов буфера
редактора и ПЗУ
Ядром системы является многоокон¬
ный экранный редактор, позволяющий го¬
товить и корректировать информацию для
записи в ПЗУ удобным и наглядным спосо¬
бом как в шестнадцатиричном, так и в сим¬
вольном виде. Кроме того, редактор обеспечи¬
вает выполнение следующих функций:
- чтение ПЗУ в буфер редактирова¬
ния;
- сравнение содержимого ПЗУ и бу¬
фера редактирования с выдачей в от¬
дельном окне результатов сравнения;
- сохранение информации в файле в
буфер;
- проверка "чистоты" ПЗУ;
- установка границ рабочей области (региона);
- перемещение содержимого региона в любое другое место буфера;
- подсчет контрольной суммы;
- поиск байта или слова;
- заполнение и маскирование региона.
Буфер редактирования (БР) имеет объем 64 Кбайта. Обмен информацией между
БР и ПЗУ осуществляется через участок основной памяти емкостью 64 Кбайта, кото¬
рая не используется системными средствами ПЭВМ. Стандартная организация памяти
для компьютеров типа IBM PC предполагает использование адресного пространства
D0000H - EFFFFH для подпрограмм управления дополнительными нестандартными
устройствами. В большинстве конкретных реализаций персональных компьютеров
данная часть ОЗУ не задействована. И именно эту область с помощью предлагае¬
мых аппаратных средств можно использовать для адресации ПЗУ.
При таком техническом решении максимально упрощается не только разработ¬
ка программного обеспечения для программирования микросхем, но и обеспечива¬
ется максимальная скорость записи и чтения ПЗУ. Обмен данными между буфером
и ПЗУ осуществляется с помощью команды микропроцессора MOV.
При запуске системы предполагается, что область памяти для адресации ПЗУ
начинается с сегментного адреса D000H. Однако в целях универсальности и обеспе-
мачало:0000
конеи: 07FF
573РФ2 * 573РФ5
контрольная сумма:57А0
Fl-помощь
0
1
2
3
4
5
6
7
8
9
А
B
С
D
E
F
ASCII
0000
0D
0A
09
20
49
42
4D
20
49
53
20
41
20
54
52
41
. .. IBM IS А TRA
0010
44
45
4 D
41
52
4B
20
4F
46
20
49
4E
54
45
52
4E
DEMARK OF INTERN
0020
41
54
49
4F
4E
41
4C
20
42
55
53
49
4E
45
53
53
ATIONAL BUSINESS
0030
20
4D
41
43
48
49
4E
45
53
20
43
4F
52
50
2E
20
MACHINES CORP.
0040
49
6E
63
2E
20
41
77
61
72
64
20
53
6F
66
74
77
Inc. Award Softw
0050
61
72
65
20
49
6E
63
2E
20
41
77
61
72
64
20
53
are Inc. Award S
0060
6F
66
74
77
61
72
65
20
49
6E
63
2E
20
41
77
61
oftware Inc. Awa
0070
72
64
20 '53
6F
66
74
77
61
72
65
20
49
6E
63
2E
rd Software Inc.
0080
20
41
77
61
72
64
20
53
6F
66
74
77
61
72
65
20
Award Software
0090
49
6E
63
2E
20
41
77
61
72
64
20
53
6F
66
74
77
Inc. Award Softw
00A0
61
72
65
20
49
6E
63
2E
20
41
77
61
72
64
20
53
are Inc. Award S
00B0
6F
66
74
77
61
72
65
20
49
6E
63
2E
20
41
77
61
oftware Inc. Awa
ooco
72
64
20
53
6F
66
74
77
61
72
65
20
49
6E
63
2E
rd Software Inc.
00D0
20
41
77
61
72
64
20
53
6F
66
74
77
61
72
65
20
Award Software
00E0
49
6E
63
2E
20
41
77
61
72
64
20
53
6F
66
74
77
Inc. Award Softw
OOFO
61
72
65
20
49
6E
63
2E
20
41
77
61
72
64
20
53
are Inc. Award S
2 3 4 5 6 7 8 9 А В С D E F
Рис.4. Экран ПЭВМ при работе с редактором
ASCII
44
В.М.Смотров, Д.П.Павловец
начало:0000
конеи: 07FF
573РФ2, 573РФ5
F1-ппмишь
0 1 2 3 4 5
6 7 8 9 А В
С
D E F
ASCII
Тип микросхемы
Исх
. сост .
Объем
573РФ1
FF
1 Kb
573РФ2. 573РФ5
FF
2 КЬ
573РФ4Д, 573РФ6« 2764
FF
8 Kb
27128
FF
16 Kb
27256
FF
32 Kb
27512
FF
64 Kb
155PE3
00
32 b
556PT 4
F0
256 b
556PT5
FF
512 b
556PT7
00
2 Kb
0 1 2 3 4 5 6 7 8 9 А В С D E F ASC11
Рис.5. Меню выбора микросхем
чёния необходимой гибкости программного обеспечения предусмотрена возмож¬
ность с помощью специальной команды изменять этот сегментный адрес.
Редактор поддерживает взаимно однозначное соответствие между относительными
адресами БР и физическими адресами ПЗУ (рис.З). Такое соответствие обеспечивает
наглядность представления информации и простоту в работе с программатором.
Запрос на выполнение той или иной функции производится нажатием соответст¬
вующей функциональной клавиши на клавиатуре ПЭВМ. Имеется встроенная сис¬
тема подсказок, которую в любой момент можно вызвать, нажав клавишу F1. Кро¬
ме того, в отдельном окне редактора постоянно находится справочная информация,
отражающая текущие характеристики системы и той микросхемы, с которой ведет¬
ся работа. На рис.4 показан экран монитора при работе с РПЗУ К575РФ5.
Модуль "Меню выбора микросхемы" позволяет настроить систему на конкрет¬
ный тип микросхем. Этот модуль можно вызвать из редактора с помощью команды
Ctrk-Fl. При этом на экране появится меню, в котором перечислены все типы
ПЗУ, с которым можно работать (рис. 5). Выбор осуществляется с помощью кла¬
виш управления курсором.
Запись в ПЗУ подготовленной в буфере редактора информации осуществляется
модулем "Программатор". Выбор параметров и алгоритма программирования про¬
исходит автоматически согласно типу выбранной ранее микросхемы. Имеется так¬
же возможность изменения значения некоторых параметров, установленных по
умолчанию. Например, можно уменьшить или увеличить максимальное число
импульсов записи в ПЗУ каждого байта или бита.
Дляудобства работы с системой разработан файловый процессор, представляю¬
щий собой диалоговую надстройку над ДОС типа Norton Commander. При необхо¬
димости к услугам этого модуля можно обратиться прямо из редактора и в удобной,
наглядной форме с помощью клавиш управления курсором свободно перемещаться
по файловой системе и дискам, считывать информацию из файлов в буфер редактора и
сохранять ее в файле, удалять различные операции с поддиректориями и т.д.
Большие возможности для исследования и создания знакогенераторов предо¬
ставляет модуль "Знакогенератор". С его помощью в графическом режиме можно
просмотреть и отредактировать изображения символов, хранящихся в ПЗУ. Размер
матрицы устанавливается динамически. На рис. 6 представлено изображение сим¬
вола "F", находящееся в области BIOS ПЭВМ IBM PC XT/AT и полученное с по¬
мощью этого модуля.
П Многие программисты часто сталкиваются с необходимостью создания
на экране рисунков, заставок и другого рода графической информации.
Обычно это отнимает много времени, особенно, если изображение доста¬
точно сложно.
Я разработал программу GRAPHPR, которая, возможно, пригодится
тем, кто работает с языком TURBO-PASCAL. Внешне ее работа не¬
сколько напоминает работу любого графического редактора (рисование
на экране с помощью курсора и функциональных клавиш, квадратов, пря¬
моугольников, эллипсов и окружностей, прямых и кривых линий, вывод
текста различными шрифтами TURBO-PASCAL). Особенность про¬
граммы в том, что все сделанные вами построения автоматически пере¬
водятся в операторы TURBO-PASCAL (SETCOLOR, LINE, PUTPIXEL,
BAR, ELUPSE, SETTEXTMODE, OUTTEXTXY и пип.) и по окончании
работы вы получите готовую к компиляции программу, которую можно
использовать саму по себе, а можно вставлять фрагменты из нее в дру¬
гие программы Управление программой осуществляется с помощью
удобной системы меню и командных клавиш, программа имеет подроб¬
ный HELP.
С удовольствием обменяю эту программу на необходимую мне информа¬
цию. Программа вместе с вспомогательными файлами занимает около
600 килобайт, архивированная — около 250 килобайт.
685020 г.Магадан пр.Карла Маркса д.43 кв.19
Воронин Дмитрий Анатольевич
□ Предлагаю переписку и сотрудничество всем кто занимается следующи¬
ми вопросами на BK00J0^)1 (БК0010): разработка развитого ПО для БК,
коллекционирование и обмен программами (архив > 5000 программ), рас¬
ширение памяти и др. доработки (в тч. контроллер для НГМД).
196191, Ленинград, ул.Варшавская, д.31 кв.46
Сорокин Владислав Анатольевич.
□ Хочу переписываться и обмениваться программами для Радио 86-PK, а
также совместимыми с ним Микрошей и Спектром 001. Умею переделы¬
вать программы"Микроши" для "Радио".
163061, Архангельск 61, ул.Внугейского, 28, кв.104.
□ Обменяюсь программами для ПЭВМ "Синклер Спектрум". Качество за¬
писи высокое.
Обращаться письменно по адресу: 443009, г.Самара, до востребования,
Катайкину B.M.
□ "Киевский клуб "ATARI'' меняет игры для п/к и программы ATARI 130
XEuATARI65XE
Наш адрес: 252194, Киев-194, ул.Зодчих 18 кв.29, Ткачуку Владику.
□ Интересуюсь созданием программ для ПЭВМ ПК-Ю1"Львов". Желаю най-
' mu друзей по увлечению. Готов обменяться с ними программами.
Мой адрес: 332313, г.Мелитополь, ул.4-я Продольная, д.17, кв.З
Кондакову Сергею Георгиевичу.
□ Интересует цветная графика БК0010.01, динамические эффекты, бегу¬
щая строка, спрайты, время в кадре, работа с дисководом, синхрониза¬
ция с видеомагнитофоном, видеокамерой, обмен программ.
342343, Докучаевск, Донецкой, Лихолетова 10/19, Степанову Л.И.
j$ ПРАВДА, НИЧЕГО КРОМЕ ПРАВДЫ, ПОЛНАЯ ПРАВДА.
^Т-ГГГ А ^r^TJ
u
ОЧЕПАТ™мТКИ
1 ОЧЕПАТКИ
Л
С.Д.Муканов ( г.Ярославль)
3
со
В 8 номере ВТ (стр.49) программы HELP-драйвер для БК-0010 мною замечены несколько
fc ошибок в программе:
» 1) строку 430 нужно исправить так, чтобы она имела вид:
430 FOR 1% - 0% TO &0600 STEP 2%, так как в БК адресуются только четные биты.
2) Ошибка в строках DATA (480-550). Там признаком конца строки является символ " ▼ '\а
проверка происходит по коду 169(AP2+I) — это код символа" А ”. Следует заменить все " ▼
" на " А " . После исправления программа работает прекрасно.
М. Т.Лялин (Москва)
U
О
О «ШЛ1.ШППШИ.ГПППШ1П
X По помещенным в N 9/91 год программам (см.стр.31) выявлены опечатки:
^ 1. Питон
j* а) строка 3. цикл по Z: FOR Z - 0 TO 99
* б) строка 7. часть FOR U4) TO X STEP 2 не влезает, поэтому перенос в начало 8 строки перед IF Y ^U
в) строка 8. условие lF Y - U; после :
г) строка 9 вставка lF A(U) - A(Y); снятие ; DRAWC B(Y), A(Y)
Q д) строка 10. в операторе /
pu e) строка 11. $ - KEY
ж) строка 30. IF A(U) > 0;
О з) строка 31. IF A(U) > 6
А ж) строка 33. IF ASC1 $ ^ 57
к) строка 34. IF ASCI $ > 49
л 2. Поймай точку (стр.33)
В а) строка 80. IF S 9*0; I -S
б) строка 100. IF K>M;...
r
u P.A. Сузи ( г.Петрозаводск)
K сожалению, в публикацию (№ 9,1991, стр.16-17) просочилось несколько опечаток и одна моя
неточность: "...программа выдает один кадр за секунду...”, а не два, в чем я убедился, набрав ее.
Теперь о трех, на мой взгляд, самых нехороших опечатках:
j Et (страница; столбец; строка)
p >* 1. (16; 1 ;8 черная сверху). Следует читать: "G 100", напечатано: "С 100"
О S - вместо команды запуска оказалась совсем другая, правда, безобидная.
2.(16;2;4 снизу) Следует читать: LXID, FFB2H; - при трансляции была бы ошибка в этой строке,
g 2 3 . (17;2;7 снизу) Следует читать: "NOTCELL:EQU - при трансляции была бы ошибка.
Дм.Лаврик ( г.Жуковский)
ос С
&
На программу "Редактор спрайтов". Выйти из режимов: "Чтение файла с ленты", "Запись файла на ленту"
О можно только выполнив их, хогя по замыслу автора должен быть выход по клавише <Ввод>.Устранить эту
неточность можно поставив в строках 440 и 660сравнение не на CHR $ (10),анапустые кавычки”
А для того, чтобы выйти из этих режимов, если единожды уже давали имя можно 415 и 635
строками — обнуление переменной А $ (< А $ -"" >),PS. Проверял программу на БК-0010.01.
В.Зорин (г.Рига)
g
По поводу № 9, 1991, игра "Угадай число". При переносе кодов программы были допущены не¬
которые ошибки. Привожу первые строки исправленного текста:
>>
00
10
20
30
40
50
60
70
0
ог
40
69
Г4
5C
11
0L
0!
1
44
49
40
64
20
01
51
11
2
63
63
68
65
51
10
65
0L
3
50
0E
23
50
02
62
53
15
4
40
0C
35
4E
66
51
69
52
£
Ш После ввода программы в ПМК необходимо занести исходные данные:
Ь С УстрА^. eRl 8808888B j 2204632KVK {х}ВГ15
5 ^***EHHfiM fTPtfuw в R2 888888 В t 665626 K V R {x} ВП 5
fr ЧИИЫУСТРАИЯ вR3888808В | 66770299KVK{x>BHl
^ РЫ ИБО НЕЛЕПО. ЕТСЯ И СЛ£ДСТВИ£.
ДОСТОЙНОВ . ОШИвАТЬСЯ СВОЙСТВЕННО ЧЕЛОВЕКУ. . прЕДВиДЕТЬ.
ЗНАТЪ, ЧТОБЫ иге.**
ИСТИНАЕДИНА
_ ЗАбЛУ*»ЕНИЕМИОГООВГ«НО. Е« ДОСЮ
- —чсГЯ СЛЪА
иНСТВА-
НЕД°С
»*“■ *w1"0"1**0* ско№КО голов, столько VMOB.
в R7 100
вН8чисж)впромежуткеагОдо1,невключаяихсамих.
В.К.Смирнов (г.Москва)
В статье А.В.Асеева и В.В.Авсеева "Динамические изображения на БК-0010", опубликован¬
ной в BT N 5 за 1991 г., мною выявлены ошибки.
Во-первьсх, в тексте статьи неправильно указано, что в операторе DATA по адресу 1040 содержатся
коды подпрограммы вывода изображения на экран. На самом деле эта подпрограмма находится в опе¬
раторе DATA по адресу 1072, а по адресу 1040 расположена подпрограмма стирания изображения.
Во-вторых, в строке 5 расположены функции CHR$, а не CHR%.
Далее, все числа в операторах DATA должны быть восьмеричными, т.е. начинаться с символов &0.
В программе есть оригинальный способ использования оператора READ, но для его реализа¬
ции в строку 11 после числа &0207 надодописать восьмиричное число &0177777.
Строка 450 должна выглядеть так:
450 IF X$- " THEN 500
B строке 550 число 64% должно быть без знака " — ".
B строке 860 вместо переменной S1 должно быть SI.
Есть и еще ряд не очень суще¬
ственных опечаток, поэтому
прилагаю отдельную распе¬
чатку исправленных строк:
Внеся поправки в указанные
строки программа получается
работоспособной и очень на¬
глядной.
А.Н.Лашков ( г.Капустин Яр)
Внимательные читатели бро¬
шюры обнаружили еще две
ошибки, которые не вошли в
перечень, опубликованный в
№ 12 за 1990 г. по игре "ПО¬
КЕР" (стр.46).
Для устранения ошибок необхо¬
димо добавить строку: 790 REM.
Строка 1830 имеет вид: 1830
GOTO 10.
И последнее. Всех читателей,
приславших письма, смуща¬
ют строки программы вида:
2870 ON Y GOTO 1,1,2880,
2930, 2950
По оператору ON, если Y-1
или Y-2, управление переда¬
ется на строку номер 1. Если
Y-3, управление передается
на строку 2880 и т.д. Ho стро¬
ки номер 1 в программе нет.
Всему этому можно дать сле¬
дующее объяснение.
Например, строка 2870 исполь
зуется при подсчете комбина¬
ции две двойки. При подсчете
этой комбинации все ситуации,
когда Y-1 или Y-2, выявляются
до выполнения строки 2870, пе¬
ременная Y не может быть рав¬
на 1 или 2. Однако синтаксис
оператора ON требует указания
номеров строк. Поэтому и были
указаны номера, которых нет в
программе (номер 1) и которые
сразу бросаются в глаза. Ведь
перехода на эти строки все
оавно не будет.
И НЕБОЛЬШАЯ ПОЛЬЗА ОТ ЗЛА
ПРИ СОМНЕНИИ — ВОЗДЕРЖИВАЙСЯ.
5 7CHRB<148X>;CHRa<1587.>; 5 5
*
CHRH (1407. ) ; CHRB (1407. ) ; CHRB (1457. )
§ -*3
7 DATA &O12700,&O0,&O12701т Q
ScO0,&O11502,&O12703,&O0,&O10004,
8<O10205 , 8c011523, &O5025 , &O77403 ,
5
StO62702 , &0100 , &077110 , StO207
9 DATA &O12700,&O0,&O12701,&O0,
&011502, &010003 , 8tO5022 , &O77302,
&062715 , &0100 , «сО11502 , &077107 ,
&O207 |
11 DATA &O12700,&O0,&O12701,&O0,
&O11502,&O12703,&O0,&O10004,
8tO10205 , &0112325 , &O77402 , &O62702 ,
&0100 , Sc077107 , &O207 , &0177777
40 V17.=&O30000 п
^j Ш
220 X7.=USR1 (ScO40000+647.*157.> % »
230 PSET(1,1),4 | I
450 IF Хй="и THEN 500 1 Q
03 >
550 IF ASC<XB>=277. THEN MJ7.=647.
840 X%=USR2<&O40000*SI7.<N7.>>
X
860 IF SI%(NX)<iO35000 GOTO 900
880 NP7.=NP7.-17. §
уЖЕ XOPOiUO!
ПЛАТОН — ДРУГ, HO ИСТИНА ДОРОЖЕ,
П 26 Персональная ЭВМ «Микроша». — М.: Знание, 1992.
— 48 с. — (Новое в жизни, науке, технике. Сер. «Вычис¬
лительная техника и ее применение»; № 1).
ISBN 5-07-002407-8
90к.
Предлагаем вниманию читателей статьи по персональной электрон¬
ной вычислительной машине «МИКРОША». В дальнейшем редакция
предполагает открыть соответствующую рубрику по этой ПЭВМ.
Материал рассчитан на широкий круг читателей.
2404000000 ББК 32.97
ТЕМА СЛЕДУЮЩЕГО НОМЕРА:
HAND HELD
<MK-85)
Научно-популярное издание
ПЕРСОНАЛЬНАЯ ЭВМ «МИКРОША»
Редактор Б.М.Васильев
Мл. редактор Н.А.Васильева
Художник В.Н.Конюхов
Худож.редактор И.А.Емельянова
Техн.редактор Т.В.Луговская
Корректор В.И.Гуляева
ИБ № 12140
Подписано к печати 26.12.91. Формат бумаги 70xl00V16. Бумага офсет¬
ная. Печать офсетная № 1. Усл. печ. л. 3,90. Усл. кр.-отт. 8,45. Уч.-изд.
л. 3,60. Тираж 47 350 экз. Заказ 2722. Цена 90 коп. Издательство «Зна¬
ние». 101835, ГСП, Москва, Центр, проезд Серова, д. 4. Индекс заказа
924701. Отпечатано с оригинал-макета издательства «Знание» на ордена
Трудового Красного Знамени Тверском полиграфическом комбинате
Министерства печати и массовой информации РСФСР. 170024, г. Тверь,
пр. Ленина, 5.
Цена 90 коп.
Индекс 70195
Адрес подписчика :
Подписная
научно-
популярная
серия
Издательство
Знание
ВЫЧИСЛИТЕЛЬНАЯ
ТЕХНИКА
И ЕЕ ПРИМЕНЕНИЕ
Для меня не подлежит сомнению, что наше мышление протекает в
основном минуя символы (слова) и к тому же бессознательно...
...Подлинной ценностью является, в сущности, только интуиция.
Альберт Эйнштейн
Требуй невозможного — получишь максимум.
Наполеон
Наш адрес:
101835,
Москва,
Центр,
проезд
Серова,4