Автор: Матвеев А.А. Осипов Л.А. Смотров В.М.
Теги: радиоэлектроника электротехника вычислительная техника персональные эвм брошюра знание новое в жизни науке технике - серия вычислительная техника и ее применение
ISBN: 5-07-002407-8
Год: 1992
' 1&агпалистЬ
' 'ЧнйнййГ-
ВЫЧИСЛИТЕЛЬНАЯ
ТЕХНИКА
И ЕЁ ПРИМЕНЕНИЕ
Новое
в жизни,
науке,
технике
Подписная
научно-
популярная
серия
Персональная ЭВМ
«Микроша»
Издается
ежемесячно
с 1988 г.
- । •
ч I
к
1992
Новое
в жизни,
науке,
технике
Подписная
научно-
популярная
серия
ВЫЧИСЛИТЕЛЬНАЯ
ТЕХНИКА__________
И ЕЁ ПРИМЕНЕНИЕ
1/1992
Издается
ежемесячно
с 1988 г.
ПЕРСОНАЛЬНАЯ ЭВМ
«МИКРОША»
OldPGsu
7 0 0 6
музей компьютеров
в номере:
А.А.Матвеев
ПЕРСОНАЛЬНАЯ
ЭЛЕКТРОННАЯ
ВЫЧИСЛИТЕЛЬНАЯ fl
МАШИНА «МИКРОШft? I
Л.О.Осипов
РАБОТАЕМ НА «МИК ГОШЕ'
Р* А.Сузи
ПЕРЕМЕЩАЕМЫЕ
ПРОГРАММЫ
РУБРИКИ
БК Ла рога
Доска объявлений
ь.‘1 Смотров, Д.П.Павл овец
ПРО! ТАММНО-АППАРАТНЫ
КОМ 1ЛЕКС НА БАЗЕ ПЭВМ
IBM PC ХТ/АТ ДЛЯ
ПРОГРАММИРОВАНИЯ
МИК * kCXEM
Москва
Издательство
«Знание»
1992
ББК 32. 97
П 26
МАТВЕЕВ АЛЕКСЕЙ АНАТОЛЬЕВИЧ — инже-
нер Лианозовского электромеханического завода.
ОСИПОВ ЛЕВ АЛЕКСЕЕВИЧ — кандидат техни-
ческих наук, доцент, специалист по информатике
и вычислительной технике. Лауреат Всесоюзного
конкурса программных средств ПЭВМ.
СМОТРОВ ВЛАДИМИР МИХАЙЛОВИЧ — началь-
ник бюро У ральского оптико-механического завода.
ПАВЛОВЕЦ ВЛАДИМИР МИХАЙЛОВИЧ — ин-
женер Уральского оптико-механического завода.
СУЗИ РОМАН АРБИЕВИЧ — программист.
ИВАШИННИКОВ СЕРГЕЙ АНАТОЛЬЕВИЧ —
программист, работает в компьютерном центре
"Сигма";
ТАЛАНОВ СЕРГЕЙ ПАВЛОВИЧ — програм-
мист.
ас м
Редактор Б.М.Васильев
’•* Т1’.«Г I..-».. Г « (
ISBN 5-07-002407-8
© Издательство «Знание», 1992 г.
Многие наши читатели справедливо замечают, что редакция слиш-
ком много внимания уделяет ПЭВМ БК 0010. Есть материалы по
IBM и совместимым с ними машинам, есть материалы по програм-
мируемым калькуляторам. И это практически весь набор вычисли-
тельной техники, отображаемой на страницах ВТ. Сегодня предла-
гаем вниманию читателей несколько статей по ПЭВМ "Микроша".
Если активность наших читателей-”Микрошников" сравнится с ак-
тивностью БэКашников (даже частично), тогда возможна будет но-
вая рубрика. Пишите!
А. А. Матвеев
Персональная электронная
вычислительная машина
"Микроша"
Персональная электронная вычис-
лительная машина (ПЭВМ) ’'Микро-
ша", выпуск которой был освоен на
Лианозовском электромеханическом
заводе в 1987 году, явилась одной из
первых вычислительных машин, ори-
ентированных на использование в до-
машних условиях. Назначение ком-
пьютера предопределило особенности
его архитектуры и программного
обеспечения. При разработке предпо-
лагалось, что "Микроша" будет экс-
плуатироваться вместе с черно-белым
телевизором в качестве видеомонитора
и бытовым кассетным магнитофоном в
качестве накопителя, поэтому интер-
фейсы связи с этими устройствами пре-
дельно просты при одновременно высо-
кой надежности и эффективности.
Большую часть (до 70%) всего про-
граммного обеспечения, разработанного
к настоящему времени для "Микроши",
составляют игры. Немалый интерес
представляют и прикладные програм-
мы, позволяющие реализовать на
ПЭВМ базы данных, справочники,
математическую и статистическую об-
работку результатов. Для тех же, кто
не желает ограничивать себя чисто
"потребительским" общением с компь-
ютером, "Микроша" предложит языки
программирования BASIC, PASKAL,
FORTRAN, FORT, С и язык ассембле-
ра.
Конструктивно ПЭВМ "Микроша"
состоит из трех блоков: системного,
блока питания и модулятора.
Системный блок смонтирован на од-
ной плате вместе с 68-контактной кла-
виатурной матрицей. Такая компонов-
ка значительно снизила массу и габари-
ты всей ПЭВМ. Блок питания выраба-
тывает необходимые для работы компь-
ютера напряжения питания +5 В, +12 В,
и -5 В. Нагрузочная способность блока
по напряжению +5 В допускает подклю-
чение к системному блоку внешнего ус-
тройства с током потребления до 1 А. Мо-
дулятор — устройство, обеспечивающее
стыковку видеовыхода системного блока
и антенного входа телевизора. Модулятор
применяется в тех случаях, когда телеви-
зор, используемый как видеомонитор, не
имеет отдельного видеовхода.
В комплект поставки ПЭВМ "Микро-
ша" входят также кассета с программ-
ным обеспечением и руководство по
эксплуатации.
Архитектура
К характерной особенности компью-
тера относится широкое применение
больших интегральных схем (микро-
процессорного комплекта КР580). Та-
кое построение позволило резко со-
кратить количество микросхем сред-
ней степени интеграции, что в свою
очередь сказалось на цене компьюте-
ра, сняло все проблемы стыковки раз-
личных функциональных узлов ПЭВМ
и сделало возможным программный
доступ к ним.
Основным процессорным элементом в
"Микроше" является БИС КР580ВМ80А,
тактируемая частотой 1,8 МГц. Сигналы
синхронизации вырабатываются такто-
вым генератором, собранным на БИС
4
А.А.Матвеев
КР58ОГФ24. Тактовая частота в 1,8 МГц
позволяет процессору выполнять опера-
ции типа регистр — регистр за 3 мкс.
Внутренняя шина данных компьюте-
ра общая для всех функциональных уз-
лов. Выбор того или иного устройства
ввода-вывода или области памяти про-
изводится путем дешифрации старших
разрядов адреса. Шина данных ПЭВМ
— восьми-, а шина адреса — шестнад-
цатиразрядная.
Оперативное запоминающее устройст-
во динамического типа выполнено на шес-
тнадцати микросхемах КР565РУ6Д и
имеет объем 32 К восьмиразрядных слов.
Постоянное запоминающее устройство со-
держит одну микросхему ПЗУ типа
К573РФ2 и имеет объем 2 Кбайт. ПЗУ
хранит резидентную программу, назван-
ную "Системный монитор". С ее помощью
производится первоначальная установка
параметров компьютера и организуется
простейший диалоге пользователем.
Схемы регенерации ОЗУ и форми-
рования видеосигнала выполнены на
БИС КР58ОВТ57 и КР58ОВГ75. Зада-
вать режимы функционирования этих
микросхем можно программно. Следо-
вательно, в программах пользователя
возможны различные визуальные эф-
фекты.
Контроллер клавиатуры реализован
на БИС КР58ОВВ55А. Сканирование
нормально разомкнутой матрицы кла-
виатуры и опрос порта ввода произво-
дятся "Системным монитором". По ли-
ниям канала с этой микросхемы переда-
ются также сигналы чтения/записи с
накопителя и сигналы управления ди-
намической головкой.
В ПЭВМ "Микроша” применены еще
две БИС, выполняющие сервисные
функции: интегральный таймер
КР58ОВИ53 и программируемый па-
раллельный интерфейс КР58ОВВ55А.
Интегральный таймер имеет три про-
граммируемых канала. Сигнал с одного
из них подается на динамическую голо-
вку системного блока, обеспечивая зву-
ковое сопровождение программ, два
других введены на разъемы "Внутрен-
ний интерфейс" и "Интерфейс-2". Эти-
ми сигналами могут тактироваться раз-
личные внешние устройства. Програм-
мируемый параллельный интерфейс не-
обходим для организации параллельно-
го и последовательного обмена данными
с внешними устройствами. Наличие
трех разъемов для подключения внешних
устройств ("Интерфейс-1", "Интерфейс-2"
и "Внутренний интерфейс") очень важно
для расширения функциональных воз-
можностей "Микроши". Более подробно
с устройством ПЭВМ "Микроша" можно
ознакомиться в [ 1 ].
Внешние устройства
Конструкцией ПЭВМ "Микроша"
предусмотрена возможность подключе-
ния к системному блоку различных
внешних устройств. К таким устройст-
вам можно отнести: модули расширения
оперативной и постоянной памяти, про-
грамматоры РПЗУ, контроллеры диско-
водов, печатающие устройства, моде-
мы, джойстики и т.п. Для работы неко-
торых из них требуется доступ к внут-
ренним шинам компьютера. Так, в мо-
дуле дополнительного ПЗУ использу-
ются сигналы чтения и выбора микро-
схемы, формируемые соответственно
процессором и дешифратором адреса.
Подключение таких устройств произво-
дится через 64-контактный разъем
"Внутренний интерфейс".
В настоящее время на заводе-изгото-
вителе ПЭВМ "Микроша" освоен вы-
пуск дополнительных модулей ОЗУ и
ПЗУ. Если подключить эти модули к
"Микроше", то объем оперативной па-
мяти компьютера может достигнуть 48
Кбайт, а постоянной — 18 Кбайт. Мо-
дуль ОЗУ необходим прежде всего для
программистов, занимающихся разра-
боткой собственного программного
обеспечения. Программная поддержка
модуля осуществляется программами
"BASIC-PLUS 48К" И "Макроассемблер
48К". Модуль ПЗУ исключает потери
времени, связанные с необходимостью
ввода с магнитофона часто используемых
программ. Если компьютер эксплуатиру-
ется совместно с модулем ПЗУ, то языки
BASIC-PLUSh Ассемблер, а также про-
грамма "Редактор текстов" доступны
пользователю сразу после включения пи-
тания. Реализация модулей ПЗУ по цене
251 руб. и ОЗУ по цене 157 руб. (здесь и
далее цены на октябрь 1991 г.) произво-
дится в специализированных магазинах
"Радиотехника", "Электроника" и т.п.
В ближайших планах предприятия
намечен выпуск комплекта принтера
Персональная ЭВМ "Микроша"
5
для ПЭВМ "Микроша". Предполагает-
ся, что в комплекте будет отечественное
печатающее устройство "Электроника
МС6313" версии LX800/FX800. Это пе-
чатающее устройство реализует систе-
му команд EPSON и обладает широкими
функциональными возможностями: вывод
алфавитно цифровой и графической
информации, управление режимами и
шрифтами печати, задание формата пе-
чати и т.д. За небольшим исключением
этот принтер аналогичен широко изве-
стной модели "EPSON LX-800". Один-
надцатижильный соединительный ка-
бель, также включаемый в комплект,
необходим для обмена информацией
между принтером и ПЭВМ. "Микроша"
формирует и передает на принтер сиг-
налы данных и стробирования, а в об-
ратном направлении поступает сигнал
готовности печатающего устройства.
Кабель подключается к разъему "Ин-
терфейс-2" системного блока.
Для правильной работы печатающего
устройства обмен информацией с ПЭВМ
должен быть организован по интерфейсу
CENTRONICS (ИРПР-м). Сам интер-
фейс рассматривается в [2], а подпрог-
рамма, реализующая указанный прото-
кол обмена, подробно описана в [ 1 ].
В целях программной поддержки
печатающего устройства был разрабо-
тан целый ряд программ. Некоторые
из них, например COPYGRAF BASIC-
LPLUS и DRIVER вошли в состав мо-
дуля ПЗУ, поставляемого в комплекте
принтера. Кроме этого, в модуле содер-
жаться программы "Редактор текстов"
и "Текст".
Программа COPYGRAF служит для
получения на бумаге копии изображе-
ния, сформированного на экране теле-
визора. С ее помощью пользователь мо-
жет сформировать изображение на экра-
не из любых алфавитно-цифровых или
псевдографических символов, отредак-
тировать его, сохранить на магнитной
ленте и распечатать. Размер выводимого
изображения 64x32 знакоместа, что
приблизительно соответствует половине
страницы формата А4.
Язык программирования BASIC-
LPLUS аналогичен широко распростра-
ненной версии BASIC-PLUS. Единст-
венное их различие заключается в том,
что при использовании BASIC-LPLUS
программист может получать распечат-
ки текста программы и результатов ее
работы не только на экране, но и на бу-
маге. Это стало возможно после введе-
ния в язык программирования двух до-
полнительных операторов: LLIST и
LPRINT. Оператором LPRINT, кроме
этого, задаются режимы функциониро-
вания печатающего устройства.
Программа "DRIVER" предназна-
чена для вывода на печать текстов,
сформированных под управлением "Ре-
дактора текстов" (редактор "Микрон’).
С помощью специальных символов,
расположенных в тексте, производится
задание режимов работы печатающего
устройства. Например, пользователь
может управлять расположением пра-
вой и левой границ текста, длиной стра-
ницы, изменять алфавиты с латинского
на русский и обратно, а также выбирать
один из десяти основных шрифтов и лю-
бую их комбинацию. С помощью допол-
нительной функции программы
DRIVER имеется возможность распе-
чатки содержимого любой области па-
мяти ПЭВМ в виде шестнадцатиричного
дампа.
Программа "Текст" производит опе-
ративный контроль за правильностью
функционирования всего комплекта.
По программе "Текст" принтер копиру-
ет на бумаге свой знакогенератор, после
чего распечатка может быть сверена с
эталонной, приведенной в эксплуатаци-
онной документации.
Первая партия комплектов появится
в розничной торговле в начале 1992 г.
Цена комплекта ориентировочно соста-
вит 2 тыс. руб.
Как показывает опыт длительной экс-
плуатации ПЭВМ "Микроша", основные
затраты времени при работе с внешними
устройствами приходятся на информаци-
онный обмен с магнитофоном. Примене-
ние накопителя на гибких магнитных дис-
ках (НГМД), осуществляющего произ-
вольный доступ к информации, карди-
нально решает эту проблему. Специали-
стами Лианозовского электромеханиче-
ского завода разработан контроллер
НГМД, стыкующий накопители типа ТЕ-
АС FD55 (Япония) ЕС5323.01 (Болгария)
и МС5311 (СССР) с ПЭВМ "Микроша".
Запись информации производится на две
стороны 5.25 дюймовой дискеты с одинар-
ной плотностью. Форматированная ем-
кость диска — 400 Кбайт. Контроллер
6
А.А. Матвеев
НГМД выполнен на микросхемах боль-
шой и средней степени интеграции и не
содержит дефицитных элементов. Под-
ключается контроллер к разъему "Внут-
ренний инитерфейс" системного блока,
при этом никаких доработок ПЭВМ не
требуется. Функционирование устройст-
ва поддерживается специально разрабо-
танной дисковой операционной системой
DOS 2.4. При минимальном объеме (4
Кбайт) операционная система предо-
ставляет пользователю широкие воз-
можности по работе с файлами. Боль-
шинство команд операционной системы
аналогичны по синтаксису и функциям
командам ОС СР/М. В настоящее время
предприятием изучаются возможности
промышленного выпуска контроллеров
НГМД и спрос на указанное изделие.
В 1991 году поступила в розничную
продажу первая партия ПЭВМ "Микро-
ша", укомплектованных видеомонито-
ром "Электроника МС6105". Качество
изображения, получаемое на экране ви-
деомонитора, на порядок выше телеви-
зионного и приближается к уровню про-
фессиональных ЭВМ. Таким образом,
широкий набор периферийного обору-
дования превращает бытовой компью-
тер-игрушку в достаточно мощную вы-
числительную систему.
Программное обеспечение
С момента появления в розничной
торговле первых партий ПЭВМ прошло
почти 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. Наиболее привлекатель-
ными динамичными программами при-
знаны KROSSFIR, "Арканоид", ZYCAPS,
ALIEN AMBUSH, RISE и ряд других.
Персональная ЭВМ "Микроша”
7
Прикладное программное обеспече-
ние для ЭВМ "Микроша” представлено
программами "Загрузчик", "Графиче-
ский редактор", "Медиатор", "Микалк",
"Электронная картотека" и т.д.
Программа "Загрузчик" применяется
для ввода с магнитной ленты программ,
записанных в формате "Системного мо-
нитора" "Микроши" с произвольной (не-
известной) скоростью. Кроме этого,
применение "Загрузчика" позволяет ис-
ключить ошибки считывания программ в
машинных кодах, если скорость воспро-
изведения магнитофона, используемого в
качестве накопителя, отлична от номи-
нальной.
Программа "Графический редактор”
предназначена для оперативного создания
различных иллюстративных материалов:
графиков, схем, заставок и т.д. При работе
с редактором экран дисплея содержит
128 точек по горизонтали и 64 точки по
вертикали. В этом случае вертикальные
линии, так же как и горизонтальные,
отображаются как непрерывные. Такой
формат отображения достигается соот-
ветствующей настройкой контроллера
дисплея КР580ВГ75. Графический редак-
тор позволяет организовать в памяти
ПЭВМ девять экранов для хранения гра-
фической информации.
С помощью программы "Медитор" мож-
но составлять, редактировать и исполнять
различные мелодии. Звуковоспроизводя-
щим устройством при этом является дина-
мическая головка системного блока. Кроме
этого, в программе предусмотрена возмож-
ность сохранения файла данных, кодирую-
щих мелодию, на магнитной ленте.
Прикладная программа "Микалк"
предназначена для обработки таблич-
ной информации и сохранения резуль-
татов обработки на магнитной ленте
как в собственном формате "Микалка",
так и в формате редактора "Микрон”.
Последний формат дает возможность
представлять результаты вычислений в
форме, удобной пользователю.
Программа "Электронная картотека"
служит для создания, редактирования и
практического использования баз данных
на ПЭВМ "Микроша". База данных — это
набор самых разнообразных сведений о
каком-либо явлении, предмете или про-
цессе. В обычном виде такие базы данных
оформляются в виде справочников, одна-
ко поиск необходимой информации в
справочнике занимает немало времени.
Кроме этого, возможности расширения
объема справочника минимальны. Все это
делает предпочтительным использование
баз данных, организованных и управляе-
мых с 1 юмощью ЭВМ. Вариантом програм-
мы, обслуживающей такие базы, и явля-
ется "Электронная картотека".
Отдельного внимания заслуживают
языки программирования. Как уже от-
мечалось, к настоящему моменту
ПЭВМ способна вести диалог с про-
граммистом на языках высокого уровня
BASIK, PASKAL, С, FORTRAN. Язы-
ки С, FORTRAN и PASKAL, так же
как и программа "Ассемблер”, работа-
ют совместно с текстовым редактором
Микрон". Язык программирования
BASIK реализован в виде интерпрета-
тора, в то время как С и язык ассембле-
ра — в виде компилятора. Остальные
языки для выполнения программы фор-
мируют особый кодовый файл. Наибо-
лее широкая перспектива открывается
перед языком С.
Программирование на С менее трудо-
емко по сравнению с программированием
на Ассемблере из-за использования в нем
конструкций, присущих языкам высоко-
го уровня. Одновременно с этим резуль-
татом работы компилятора С служит
программа в машинных кодах; следова-
тельно, ее быстродействие сравнимо с бы-
стродействие программ, составленных на
Ассемблере, и в несколько раз выше, чем
у программ на BASIC. В качестве приме-
ра с возможностями языка С можно озна-
комиться по игре "Странный теннис",
текст которой приведен в Приложении 2.
В заключение необходимо рассмот-
реть проблему программной совмести-
мости ПЭВМ "Микроша" и других оте-
чественных компьютеров. Действитель-
но, "Микроша" полностью программно
совместима только с ПЭВМ "Криста" и
частично — С ПЭВМ "Радио-86РК", а
также моделями на ее основе. Компьюте-
ры "Апогей-01", "Партнер", "Вектор" и
другие, получившие сейчас широкое рас-
пространение, несмотря на принципиаль-
ное сходство с "Микрошей", не могут рабо-
тать с ее программным обеспечением Од-
новременно невозможно и обратное адап-
тирование. Л акая ситуация вряд ли может
быть поставлена в вину разработчикам и
изготовителям "Микроши", так как к мо-
менту проектирования компьютеров ново-
8
А.А.Матвеев
го поколения "Микроша" была уже се-
рийной моделью и этот факт можно бы-
ло бы в той или иной мере учесть. По
разным причинам этого не произошло, и
сейчас на рынке присутствует несколько
типов компьютеров, программно несовме-
стимых между собой. Конечно, были по-
пытки создать программы-адаптеры для
перевода программного обеспечения дру-
гих ПЭВМ в формат "Микроши". Однако
удачной можно считать лишь программу
"Адаптер ПО", позволяющую адаптиро-
вать на "Микрошу" часть ПО компьютера
"Радио-86РК".
Области применения
Недорогой, простой в управлении и
удобный в эксплуатации компьютер
"Микроша" приобрел известность имен-
но как бытовой компьютер, способный
удовлетворить потребности всех членов
семьи. Для детей он становится незаме-
нимым партнером в играх, школьникам
помогает в обучении и математических
расчетах, взрослые с его помощью мо-
гут, например, составить каталог до-
машней библиотеки или справочник ку-
линарных рецептов.
Однако в последнее время все отчет-
ливее прослеживается тенденция нетра-
диционного применения ПЭВМ "Мик-
роша". Несмотря ни на что, компьюте-
ры все шире внедряются в науку, тех-
нику, систему образования и медицину.
Для исследований и управления приоб-
ретаются дорогостоящие импортные
компьютеры, хотя чаще всего работают
они по два-три часа в день, да и то в ка-
честве электронной пишущей машинки.
Импортные ЭВМ приносили бы огром-
ную пользу при существовании в нашей
стране мощных информационных се-
тей, но пока их нет и компьютеры, к со-
жалению, большую часть времени без-
действуют. С другой стороны, недорогие
микро-ЭВМ типа "Микроши", оснащен-
ные специализированными контролле-
рами, способны в некоторых областях
заменить их без существенных затрат.
Конечно, речь не идет о том, чтобы, на-
пример, заменить IBM на "Микрошу" в
системах технического зрения или уп-
равления безлюдным технологическим
процессом. Область применения "Мик-
роши" значительно уже. Рассмотреть се
можно на нескольких примерах.
Специалистами ЛЭМЗа совместно с
Ивановским филиалом Института здо-
ровья семьи АМН СССР на основе
ПЭВМ "Микроша" был разработан кор-
ректор дыхания для людей, страдающих
нарушением ритмики дыхания. Прин-
цип действия корректора основан на ме-
тоде биологической обратной связи. На
груди пациента укрепляется специаль-
ный датчик, изменяющий свое электри-
ческое сопротивление в зависимости от
растягивающих усилий, прикладывае-
мых к нему. При дыхании объем груд-
ной клетки постоянно изменяется, и
сигнал, снимаемый с датчика, отслежи-
вает это изменение. Сшнал после уси-
ления до необходимого уровня подается
на вход аналого-цифрового преобразо-
вателя. Цифровой код с выхода АЦП
считывается процессором, обрабатыва-
ется и выводится на экран в виде стол-
бика переменной высоты. Таким обра-
зом на экране отображается ритм дыха-
ния пациента. Рядом с ритмом п .ци-
ента на экран выводится эталонный
ритм. Пытаясь их уравнять, пациент
учится удерживать правильный ритм
дыхания. Параметрами эталонного рит-
ма (частотой и глубиной дыхания, вре-
менем вдоха и выдоха) управляет леча-
щий врач с клавиатуры компьютера.
Устройство предназначено для исполь-
зования в поликлиниках, в лечебно-
физкультурных диспансерах.
По заказу ВНИИСпорта был разра-
ботан прибор для определения объек-
тивных параметров различных мышц
спортсменов. Измеряемыми парамет-
рами являются собственная частота
напряженной и расслабленной мышцы
и логарифмический коэффициент за-
тухания синусоидальных колебаний,
возникающих в мышце после кратко-
временного механического воздейст-
вия. Частота измеряемых колебаний
составляла от одного до нескольких
десятков гигагерц.
Основная сложность при разработке
прибора состояла в том, чтобы обеспе-
чить математическую обработку сину-
соидального колебания. Программа, ее
реализующая, была построена по алго-
ритму быстрого преобразования Фурье
и обеспечила погрешность измерений до
5%. По окончании всех преобразований
результат измерении выводится на све-
тодиодныи индикатор и одновременно
Персональная ЭВМ "Микроша1
9
на печатающее устройство. При работе
прибора не требуются телевизор и маг-
нитофон (управляющая программа со-
держится в ПЗУ контроллера), что сде-
лало возможным создать переносной ва-
риант прибора.
Заключение
Объем данной статьи не позволяет
более подробно ознакомить читателей с
функциями и возможностями ПЭВМ
"Микроша". Возможно, что не все воп-
росы получили в ней достаточное осве-
щение. Получить дополнительные кон-
сультации можно по московскому теле-
фону 485-25-88.
Литература
1. Попов С.Н. Персональный ком-
пьютер "Микроша" и его программ-
ное обеспечение. — М.: НПК "Эмис",
1990.
2. Мячев А.А., Степанов В.Н., Щер-
бо В.К. Интерфейсы систем обработ-
ки данных. — М.: Радио и связь, 1989.
ПРИЛОЖЕНИЕ 1
ПРОГРАММА "ПАНИКА”
0000 AF 32 6С 14 CD 1В 11 СЗ 78 00 21 1В 00 79 81 85
0010 6F 7Е 80 23 66 6F 7С СЕ 00 67 С9 С4 7Е 76 7Е 28
0020 7Е DA 7D 8С 7D ЗЕ 7D F0 7С А2 7С 54 7С 06 7С Ь8
0030 7В 6А 7В 1С 7В СЕ 7А 80 7А 32 7А Е4 79 96 79 48
0040 79 FA 78 АС 78 5Е 78 10 78 С2 77 74 77 16 00 19
0050 С9 16 00 19 19 19 С9 Е5 D5 21 6D 00 ЗА 77 00 86
0060 1Е 0А 56 77 7А 23 1D F2 62 00 D1 Е1 С9 IE 22 44
0070 5Е 12 6F 77 DC 0А 73 53 AF 32 8F 14 32 6F 14 32
0080 70 14 32 71 14 32 6Е 14 32 9F 14 32 АО 14 21 0D
0090 10 22 А1 14 21 63 07 11 8В 07 CD 31 02 CD В6 06
00А0 0Е 1F CD 09 F8 ЗЕ 0А 32 9В 14 01 01 01 CD ОА 00
оово 11 7F ЗЕ 73 23 15 С2 вз 00 0Е 01 CD 57 00 Е6 03
оосо 3D СА D2 00 3D СА D8 00 3D СА DE 00 11 76 01 СЗ
00D0 Е1 00 11 9В 01 СЗ Е1 00 11 BE 01 СЗ Е1 00 11 Е5
00Е0 01 1А 13 FE 80 С2 ED 00 06 F5 СЗ 2В 01 B7 С2 00
00F0 01 ЗС 32 82 14 ЗЕ 05 81 4F 1А 13 32 7D 14 1А 13
0100 32 7Е 14 ЗА 32 14 В7 СА 1Е 01 ЗА 7D 14 47 CD ОА
ОНО 00 36 17 04 ЗА 7Е 14 В8 F2 0Е 01 ЗА 82 14 2F 32
0120 82 14 ЗА 7Е 14 32 7D 14 СЗ Е1 00 1А 13 FE 80 СА
0130 07 02 В7 С2 45 01 ЗС 32 82 14 ЗЕ ОС 80 47 1А 32
0140 80 14 13 1А 13 32 81 14 ЗА 82 14 В7 СА 69 01 ЗА
0150 80 14 4F CD 0А 00 36 23 23 36 20 23 36 23 ОС ЗА
0160 81 14 В9 F2 53 01 ЗА 82 14 2F 32 82 14 ЗА 81 14
0170 32 80 14 СЗ 2В 01 00 01 0F 1В 27 33 ЗЕ 00 01 1В
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
01А0 ЗЕ 00 01 ЗЕ 00 0F 27 33 ЗЕ 80 00 02 ОС 00 ОВ 16
01В0 00 02 11 00 06 ОС 10 16 00 02 07 ОВ 16 80 00 01
01С0 ЗЕ 00 01 0F 1В 27 33 ЗЕ 00 01 ЗЕ 00 OF 33 80 00
10
А.А.Матвеев
OIDO 07 11 00 02 ОС 10 16 00 02 11 00 06 ОС 10 16 00
01Е0 02 07 OB 16 80 00 OF ЗЕ 00 01 IB 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 1A B7 C8 77 13 23 C3 31 02 IE 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 3C 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 AC 14 CD 4D 00 70 21 B6 14 CD 4D 00 71 21 CA
0290 14 CD 4D 00 36 00 21 CO 14 CD 4D 00 CD 57 00 Е6
02 AO 02 3D 77 05 CD OA 00 D5 E5 21 F2 14 CD 51 00 DI
02B0 CD 63 05 DI OE 28 CD D9 OF 3E 05 32 02 D8 CD E6
02C0 OF OE OA CD D9 OF 32 02 CO 1C ЗА 78 14 BB F2 ЗС
02D0 02 3E IE 32 8A 14 47 3E 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 3E OA 32 02 D8 CD E6 OF OE 80 CD D9 OF 32 02
0300 CO OE 5A CD D9 OF C3 B6 OA IE 01 7B 32 79 14 IE
0310 00 1C ЗА 88 14 BB F2 1C 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 AC 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 3C 4F CD
0350 OA 00 ЗЕ 09 11 4C 00 CD F8 05 19 E5 2B CD 04 06
0360 El CD F8 05 E5 23 CD 04 06 El 19 CD F8 05 ЗА 79
0-370 14 5F 21 D4 14 CD 4D 00 OD 04 3E 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 El 71 23 23 70 C3 29 05 05 OD CD OA 00 3E
03A0 IF 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 CO 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 AO 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 AO 04 CD
0470 6E 05 ЗА 83 14 57 AF 92 32 82 14 ЗА 85 14 57 AF
0480 92 32 84 14 C3 AO 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 CO 14 CD 4D 00 ЗА 82 14 77
Персональная ЭВМ "Микроша*
11
04С0 21 СА 14 CD 4D 00 ЗА 84 14 77 21 10 15 CD 51 00
04D0 D5 ЕВ ЗА 7Е 14 3D 47 ЗА 81 14 4F CD ОА 00 ЕВ CD
04Е0 63 05 D1 21 10 15 CD 51 00 D5 Е5 ЗА 7С 14 47 05
04F0 ЗА 7F 14 4F CD ОА 00 D1 CD 63 05 D1 21 F2 14 CD
0500 51 00 D5 ЕВ ЗА 7С 14 3D 47 ЗА 7F 14 4F CD ОА 00
0510 ЕВ CD 63 05 D1 21 АС 14 CD 4D 00 ЗА 7С 14 77 21
0520 В6 14 CD 4D 00 ЗА 7F 14 77 ЗА 78 14 1С ВВ F2 OB
0530 03 С9 7Е Е5 2А 9D 14 77 23 22 9D 14 Е1 В7 С8 FE
0540 20 С8 FE 23 С8 32 77 14 С9 ЗА 72 14 57 ЗЕ FF 15
0550 СА 5В 05 Е6 7F 15 СА 5В 05 ЗЕ 55 F5 CD 57 00 57
0560 F1 ВА С9 7Е 12 23 13 7Е 12 23 13 7Е 12 С9 ЗА 84
0570 14 32 83 14 ЗА 82 14 57 AF 92 32 85 14 С9 АУ 32
0580 72 14 ЗА 85 14 В7 С2 D3 05 ЗА 83 14 57 ЗА 7С 14
0590 82 82 47 ЗА 7F 14 4F CD ОА 00 7Е В7 СА А7 05 FE
05 АО 20 СА А7 05 FE 23 СО D5 11 4Е 00 19 D1 7Е В7 C8
05В0 ЗА 84 14 В7 СА CD 05 7Е FE 6F С8 FE 5D С8 FE 5B
05С0 С8 FE ЗЕ С8 FE ЗС С8 FE 28 С8 FE 29 С8 ЗЕ 01 32
05D0 72 14 С9 ЗА 7С 14 47 05 ЗА 85 14 57 ЗА 7F 14 82
05Е0 4F CD ОА 00 7Е FE 23 СО 23 7Е FE 20 СО 23 7Е FE
05F0 23 СО ЗЕ 01 32 72 14 С9 CD 04 06 23 CD 04 06 23
0600 CD 04 06 С9 BE СО F1 F1 СЗ 32 06 21 F2 14 CD 51
0610 00 Е5 21 Е8 14 CD 4D 00 43 5Е 21 26 06 CD 51 00
0620 D1 CD 63 05 58 С9 20 20 20 29 6F 28 ЗЕ 6F ЗС 5D
0630 6F 5В ЗА 7Е 14 С1 3D 47 ЗА 81 14 4F CD ОА 00 E5
0640 ЗА 79 14 5F 21 10 15 CD 51 00 D1 CD 63 05 ЗА 8A
0650 14 3D 47 ЗА 8В 14 ЗС 4F CD ОА 00 Е5 ЗА 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 Е6 OF ОЕ 01 CD D9 OF 32 02 СО 78 33
0680 47 FE 14 F2 8В 06 FE 01 F2 6F 06 AF 93 5F 15 C2
0690 6F 06 ОЕ 00 CD D9 OF 21 84 07 23 7Е В7 СА 04 00
06 АО FE 09 С2 9А 06 36 20 ЗЕ 2F 32 9F 14 ЗА 78 14 B7
06В0 С2 АО 00 СЗ 9D 00 ЗА 8F 14 ЗС 32 8F 14 ЗА 6F 14
06СО ЗС 32 6F 14 FE 04 FA F2 06 ЗЕ 01 32 6F 14 ЗА 70
06D0 14 ЗС 32 70 14 F5 ЗА 71 14 В7 СА DF 06 ЗЕ 01 C6
О6Е0 03 57 F1 ВА FA F2 06 AF 32 70 14 ЗА 71 14 ЗС 32
06F0 71 14 ЗА 6F 14 3D СА FB 06 ЗЕ FF 57 ЗА 6F 14 5F
0700 33 83 82 32 78 14 ЗА 6F 14 57 ЗА 70 14 82 57 ЗА
0710 71 14 82 57 ЗА 78 14 ВА F2 1F 07 7А 32 78 14 AF
0720 5F ЗА 70 14 32 90 14 ЗА 71 14 32 91 14 1С ЗА 78
0730 14 ВВ F8 21 Е8 14 CD 4D 00 ЗА 91 14 В7 СА 49 07
0740 36 03 21 91 14 35 СЗ 2D 07 ЗА 90 14 В7 СА 59 07
0750 36 02 21 90 14 35 СЗ 2D 07 36 01 СЗ 2D 07 7С 6B
0760 72 61 6Е 20 20 34 20 20 72 65 7А 75 6С 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 7А 75 6С 78 74 61 74 20 20 20 20 20 30 30
07А0 20 20 77 72 65 6D 71 20 39 39 20 20 20 09 09 09
12
А.А.Матвеев
07В0 09 09 00 ЗА 8A 14 47 ЗА 8B 14 4F CD OA 00 ЗА 8Е
07С0 14 77 CD BD 10 FE 08 C2 D5 07 AF 32 95 14 3D 32
07D0 94 14 C3 IE 08 FE 18 C2 E5 07 AF 32 95 14 ЗС 32
07Е0 94 14 C3 IE 08 FE 19 C2 F5 07 AF 32 94 14 ЗС 32
07F0 95 14 C3 IE 08 FE 1A C2 05 08 AF 32 94 14 3D 32
0800 95 14 C3 IE 08 FE FF CA 22 08 FE 02 CA IB 09 FE
0810 04 CA IB 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 IF C2 ЗА 08
0830 ЗА 8B 14 3D 32 8B 14 03 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 80 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 8А 14
0880 ЗА 8B 14 57 ЗА 84 14 82 32 8B 14 ЗА 8C 14 07 Е6
0890 03 OF 57 ЗА 8D 14 B7 CA AO 08 F2 9E 08 3C С6 02
08 АО 82 OF OF OF 32 6B 14 ЗА 8A 14 47 ЗА 8B 14 4F CD
08В0 ОА 00 7E 32 8E 14 36 09 C9 AF 32 72 14 ЗА 84 14
0800 В7 02 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 СА 15
08Е0 09 FE IF 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 7Е В7
0900 08 03 15 09 4F ЗА 8B 14 81 4F ЗА 8A 14 47 CD ОА
0910 00 7E FE 20 CO ЗЕ 01 32 72 14 C9 ЗА 8C 14 В7 СА
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 ОА
0940 00 11 A3 14 CD 63 05 2B 2B ЗА 9F 14 FE 2F СС Е9
0950 OF ЗА 92 14 FE 04 CA ID OA IE 00 E5 21 16 01) CD
0960 51 00 D5 11 A3 14 CD F5 ОС DI ЗА 9A 14 B7 СА СС
0970 09 AF BB CA 8A 09 3E 02 BB D2 BE 09 CD 82 09 СЗ
0930 BE 09 AF 32 8C 14 32 94 14 C9 El 2B 3E 17 BE С2
0990 OF OA 23 23 23 23 BE C2 OF OA 2B 2E 2B E5 D5 ЗА
09А0 7A 14 3C 32 7A 14 5F 21 2E 15 CD 4D 00 36 96 21
09В0 40 15 CD 4D 00 70 21 6A 15 CD 4D 00 71 DI 21 16
0900 OD 10 CD 51 00 DI CD 63 05 C3 OF OA 1C 3E 03 вв
09D0 El F2 5B 09 23 7Е FE 6F C2 OF OA ЗА 89 14 ЗС 32
09Е0 89 14 FE 04 FA OF OA IE 01 21 AC 14 CD 4D 00 78
09F0 3C BE C2 00 OA 21 B6 14 CD 4D 00 79 BE CA 09 ОА
ОАОО 10 ЗА 78 14 BB F2 E9 09 76 CD Al OA CD 82 09 ЗА
0А10 9F 14 D6 2F C2 A7 08 32 02 CO C3 A7 08 IE 01 Е5
0А20 21 16 OD CD 51 00 D5 11 A3 14 CD F5 ОС DI ЗА 9А
ОАЗО 14 B7 C2 40 OA El 1C 3E 04 BB F2 IF OA C3 OF ОА
0А40 2B 2B 2B 7B DI F5 CD 63 05 Fl 3D C2 OF OA IE 01
0А50 21 40 15 CD 4D 00 ЗА 96 14 BE C2 6A OA 21 6А 15
0А60 CD 4D 00 ЗА 97 14 BE CA 73 OA 1C ЗА 7A 14 BB D2
0А70 50 OA 76 1C 21 2E 15 CD 4D 00 7E 2B 77 21 4С 15
0А80 CD 4D 00 7E 2B 77 21 6A 15 CD 4D 00 7E 2B 77 1С
0Л90 ЗА 7A 14 BB D2 74 OA 3D 32 7A 14 CD 82 09 СЗ OF
I
Персональная ЭВМ "Микроша"
13
ОААО ОА ЗА 88 14 ЗС 32 88 14 D5 21 DE 14 ЗА 88 14 5F
ОАВО CD 4D 00 D1 73 C9 ЗА 9F 14 FE 2F CA 12 OB ЗА 6E
ОАСО 14 В7 С2 05 ОВ 32 02 to 2A Al 14 7E 32 02 D8 23
OADO 7Е 32 02 D8 23 FE FF CA EF OA B7 C4 E9 OF OE 18
ОАЕО CD D9 OF 7Е 23 22 Al 14 3D 32 6E 14 СЗ 53 OE ЗА
OAFO АО 14 В7 С2 00 OB 3C 32 AO 14 21 OD 10 C3 CB OA
ОВОО ЗЕ 2F 32 9F 14 3D 32 6E 14 CD D7 OF CD D7 OF C3
0В10 53 ОВ ЗА 6В 14 B7 C2 21 OB OE 18 CD D9 OF C3 53
0В20 ОВ 32 02 D8 ЗЕ 05 CD E6 OF OE 06 CD D9 OF 32 02
ОВЗО СО ОЕ 06 CD D9 OF ЗА 6B 14 C6 80 32 02 D8 3E 05
0В40 CD Е6 OF ОЕ 06 CD D9 OF 32 02 CO OE 06 CD D9 OF
0В50 32 6В 14 AF 32 98 14 21 9B 14 35 C2 81 OB 36 OA
0В60 21 ЕС 7Е CD 7С OB DA 6D OB 77 C3 81 OB 36 39 2B
0В70 CD 7С ОВ D2 69 OB 23 36 00 C3 6A Oo 7E 3D FE 30
0В80 С9 21 9С 14 35 F2 B2 ОС 36 01 ЗА 98 14 3C 5F 32
0В90 98 14 ЗА 7А 14 BB DA B2 ОС 21 2E 15 CD 4D 00 35
ОВАО ЗЕ ОА BE DA 8А OB 21 4C 15 CD 4D 00 7E 47 T9 96
ОВВО 1'4 21 6А 15 CD 4D 00 7E 4F 32 97 14 CD OA 00 11
ОВСО А6 14 CD 63 05 IE 01 21 16 OD CD 51 00 D5 11 A6
OBDO 14 CD F5 ОС D1 ЗА 9A 14 3D CA 03 ОС 1C 3E 04 BB
ОВЕО F2 С7 ОВ 04 CD OA 00 7E FE 6F C2 8A OB 11 Bl FF
OBFO 19 AF BE С2 8А OB 23 BE C2 8A OB 23 BE C2 8A OB
осоо СЗ 53 ОС 7В 3D CA OB ОС C3 39 ОС D5 ЗА 98 14 3C
ОСЮ 5F 21 4С 15 CD 4D 00 7E 2B 77 21 6A 15 CD 4D 00
0С20 7Е 2В 77 21 2Е 15 CD 4D 00 7E 2B 77 1C ЗА 7A 14
осзо ВВ D2 11 ОС 3D 32 7A 14 DI ЗА 96 14 47 ЗА 97 14
0С40 4F CD ОА 00 ID E5 21 16 OD CD 51 00 DI CD 63 05
0С50 СЗ 8А ОВ 1Е 01 21 AC 14 CD 4D 00 ЗА 96 14 3C BE
0С60 С2 70 ОС 21 B6 14 CD 4D 00 ЗА 97 14 BE CA 79 ОС
0С7О 1С ЗА 78 14 BB D2 55 ОС 76 21 B6 14 CD 4D 00 34
0С80 21 10 15 CD 51 00 AF 77 23 77 23 77 ЗА 96 14 47
0С90 ЗА 97 14 ЗС 4F CD OA 00 E5 21 F2 14 CD 51 00 DI
ОСАО CD 63 05 21 4C 00 19 36 10 23 36 IF 23 36 04 C3
ОСЕО 8А ОВ CD 47 OD ЗА 78 14 B7 C4 09 03 CD B3 07 ЗА
ОССО 8В 14 FE 17 C2 B6 OA 21 90 10 7E FE FF CA El ОС
OCDO 32 02 D8 23 7E CD E6 OF OE 14 CD D9 OF 23 C3 CA
ОСЕО ОС AF 32 02 CO OE 80 CD D9 OF 21 65 07 3E 01 CD
OCFO 25 0D СЗ 9D 00 E5 D5 AF 32 9A 14 1A BE C2 13 OD
ODOO 23 13 1А BE C2 13 OD 23 13 1A BE C2 13 OD 3E 01
OD1O 32 9А 14 D1 El C9 17 17 17 15 IF 16 14 IF 14 10
0D20 1F 04 1F IF IF 57 CD 2E OD 15 C2 2F OD C9 7E FE
OD3O 30 D2 36 OD 3E 30 3C FE ЗА DA 45 OD 36 38 E5 2E
0D40 CD 2Е 0D El C9 77 C9 ЗА 88 14 3C 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 AC 14 CD 4D 00 46 05 21 B6 14
0D70 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 2В 2В 2В
0DA0 АС 14 CD 4D
ODBC 14 CD 4D 00
ODCO ЗА 93 14 ЗС
ODDO ЗА 79 14 ВА
ODEO А6 14 2Р 2В
ODFO DI IB IB CD
ОЕОО В6 14 CD 4D
0Е10 51 00 DI CD
0Е20 СЗ 4Е OD Е5
ОЕЗО 7В 14 ЗС ВА
0Е40 14 3D С2 4D
0Е50 FF 19 DI AF
0Е60 D5 CD 4D 00
0Е70 ВВ D2 5D ОЕ
0Е80 В6 14 CD 4D
0Е90 99 14 86 32
ОЕАО 14 CD 4D 00
ОЕВО 21 Е8 14 CD
OECO Е5 DI IB 1В
OEDO Е5 DI IB 1В
ОЕЕО 21 88 14 35
OEFO 21 ЕО 7Е ЗА
OFOO 0D ЗЕ 14 32
0F10 83 4F CD ОА
0F20 ВО FF 19 11
0F30 99 14 F6 30
0F40 IB 1В 11 А9
0F50 32 7В 14 ЗА
0F60 6С OF 4F ЗЕ
0F70 00 36 23 23
0F80 ЗЕ 17 В9 D2
0F90 А6 OF FE 20
OFAO OF FE 18 D2
OFBO 14 C9 IE 01
OFCO OF 21 B6 14
OFDO 78 14 BB D2
OFEO OF OD C2 DC
OFFO 32 02 CO C9
1000 D8 CD E6 OF
1010 DC OE 03 BE
1020 OD 02 7F ОС
1030 08 D6 13 02
1040 7F ОС 02 ЗЕ
1050 00 08 22 OB
1060 02 7F ОС 01
1070 ЗЕ OD 01 7F
AF 32 93 14 7E FE
00 ЗА 93 14 86 D6
7E 3D 32 7F 14 D5
FE 05 DA 95 OD C3
C2 DE OD ЗА 7B 14
CD 63 05 DI D5 E5
63 05 DI 21 AC 14
00 4E 35 CD OA 00
63 05 2B 2B 11 A6
21 E8 14 CD 4D 00
F2 4D бЕ’ЗА 99 14
OE 32 88 14 AF 32
77 23 77 23 77 D5
DI 7E BA DA 6C OE
DI 21 AC 14 CD 4D
00 7E 32 7F 14 21
99 14 1C ЗА 78 14
7E 2B 77 21 B6 14
4D 00 7E 2B 77 21
IB CD 63 05 DI D5
IB CD 63 05 DI C3
C2 47 OD 21 A9 14
99 14 F5 CD 25 OD
6B 14 IE 00 ЗА 7C
00 D5 E5 21 A9 14
A9 14 CD 63 05 36
77 DI CD F4 OF 1C
14 EB CD 63 05 AF
78 14 B7 CO 06 01
ОС 80 47 79 3D СЗ
7E FE 09 СА 7C OF
6E OF C9 7E B7 C8
СА A6 OF FE 23 CA
AC OF 3E 01 32 86
21 AC 14 CD 4D 00
CD 4D 00 ЗА 7F 14
B4 OF 76 OE ОС CD
OF C9 32 02 D8 ЗА
CD F7 OF ЗА 6B 14
OE 14 CD D9 OF 32
OF 01 DC OE 02 3E
02 DC OE 02 AE 10
DC OE 03 BE OF 01
OD 02 7F ОС 02 22
01 EA 09 03 EA 09
22 OB 03 22 OB 01
ОС 03 7F ОС 01 7F
6F C2 BF OD E5 21
02 32 7C 14 21 B6
CD B2 OF DI El 23
47 OD ЗА 88 14 57
ЗС 32 7E 14 D5 11
21 F2 14 CD 51 00
CD 4D 00 46 05 21
D5 E5 21 10 15 CD
14 EB CD 63 05 DI
7E 87 87 57 El ЗА
B7 C2 4D OE ЗА 88
7B 14 C9 D5 11 BO
53 IE 01 21 DE 14
3D 77 1C ЗА 88 14
00 7E 32 7C 14 21
E8 14 CD 4D 00 ЗА
BB DA DC OE 21 AC
CD 4D 00 7E 2B 77
F2 14 CD 51 00 D5
21 10 15 CD 51 00
96 OE 3D 32 78 14
AF 77 23 77 23 77
21 75 07 Fl CD 25
14 3D 47 ЗА 7F 14
DI CD 63 05 EB 11
30 2B 36 30 2B ЗА
7B FE 07 DA 08 OF
32 6B 14 32 99 14
CD 57 00 E6 05 CA
5F OF OE 07 CD OA
36 20 23 36 23 ОС
FE IF C8 FE 17 CA
A6 OF FE 7F CA A6
14 C9 3E 01 32 87
ЗА 7C 14 ЕЕ C2 CE
BE CA Al OA 1C ЗА
D2 13 AF 3D C2 DD
6C 14 B7 CO 3E 06
3D 32 6B 14 32 02
02 CO C9 D6 13 02
OD 02 7F ОС 02 ЗЕ
08 D6 13 04 00 00
DC OE 02 3E OD 02
OB 02 EA 09 08 00
01 EA 09 01 00 00
22 OB 01 00 00 02
ОС 01 00 00 02 DC
Персональная ЭВМ '’Микроша'
15
1080 ОЕ 01 ЗЕ 0D 03 ЗЕ OD
1090 00 19 45 16 D6 13 В9
10А0 22 ОВ ЕА 09 5С 09 57
10В0 F4 04 AD 04 2В 04 В6
10С0 47 ЗА 8D 14 FE 1В СА
10D0 BD 10 ЕЕ 07 СО ЗА 6С
10Е0 10 90 ED 10 32 6D
10F0 92 14 ВА СА FB 10 7А
1100 В7 FA ОС И FE 7F С8
1110 13 47 71 23 05 С- d» 12
1120 И CD FE 10 2Е 14 CD
ИЗО FE 10 CD ЗВ И FE 20 а
1140 57 00 CD BD 10 FE 20\
1150 С9 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
И АО 07 80 02 17 00 14 80
ИВО ОА 04 10 80 03 17 80
И СО 01 80 05 83 02 00 ЮЗ,
11D0 И 80 04 94 02 80 04
ИЕ0 02 06 И 80 05 17 13
11F0 07 80 02 17 80 02 06
1200 06 И 00 16 И 80 03
1210 17 02 05 14 80 02 04
1220 01 00 17 80 02 06 И
1230 15 03 06 И 80 03 02
1240 01 80 05 14 12 01 80
1250 07 80 02 17 00 14 00
1260 02 83 02 80 1D 07 14
1270 02 00 03 80 12 94 05
1280 33 94 08 83 06 80 FF
1290 6F 77 00 65 2Е 61 2Е
12 АО 6F 73 6В 77 61 80 FF
12В0 73 74 6F 6С 78 6В 6F
12С0 00 70 6F 6С 75 7Е 69
12D0 6F 28 80 02 АЕ 05 00
12Е0 02 АЕ 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 6В 6F 70 61 74 78
1340 77 79 62 69 74 78 00
1350 00 АЕ ОЕ 00 7А 61 6В
1360 32 00 АЕ 09 00 73 74
01
12
08
03
Е1
14
14
32
77
11
3D
С2
С8
80
94
03
17
11
1С
02
80
06
01
11
17
94
80
15
1D
06
04
83
80
80
80
00
74
31
80
70
73
00
77
2С
70
6F
6F
ЗЕ 0D 01 00 00 08 00 FF
АЕ 10 DC ОЕ ЗЕ OD 7F ОС
6Е 07 ЭЕ 06 3F 06 90 05
4F 03 1F 03 FF CD ЕВ 10
10 78 FE 1В 32 6D 14 СА
47 7А 90 32 6С 14 СЗ FB
СЗ FB 10 CD ЕА FE 57 ЗА
92 14 С9 ЗЕ FF С9 1А 13
23 СЗ FE 10 Е6 7F 4F 1А
СЗ FE 10 21 00 77 11 51
11 21 00 77 11 АА 12 CD
1В 11 С9 2Е 40 26 ПО CD
25 С2 3F 11 2D С2 3D 11
4-Ф 04 94 02 12 '83 02 01
02 12 83 02 01 80 ОВ 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
1С 04 13 00 17 80 02 06
11 00 06 11 80 03 17 80
80 07 04 94 03 10 80 1В
80 03 16 80 02 15 80 03
80 02 16 11 00 10 80 03
02 03 01 80 03 06 80 1С
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 38 94 07 33 06 80
2Е AD 1С 80 34 73 65 64
02 31 39 38 39 80 02 6D
FD 7F 80 FF 80 FF 80 0D
6F 7Е 6В 6F 77 00 77 79
65 00 7А 61 ЗА 80 86 29
ВО 02 80 8Е ЗЕ 6F ЗС 80
8Е 5D 6F 5В 80 02 АЕ 05
72 61 77 6С 65 6Е 69 65
74 72 65 6С 6В 69 00 АЕ
77 6Е 69 7А 00 77 6С 65
6F 80 2В 46 33 00 АЕ 06
61 00 74 61 6В 76 65 00
61 75 6В 61 80 29 46 35
70 61 74 78 80 34 61 72
70 2F 70 72 6F 64 6F 6С
16
А.А.Матвеев
1370
1380
1390
13А0
13В0
13С0
13D0
76 65 6Е 69 65 80 30
77 75 6В 00 77 6В 6С
6F 62 65 6С 00 АЕ 03
00 70 72 6F 64 6F 6С
79 80 2А AD 25 80 33
69 67 72 79 00 А1 03
FF 7F 79 0F Е6 7F 81
75 73 2D 47 00 АЕ 09 00 7А
2F 77 79 6В 6С 80 32 70 72
00 6Е 61 7Е 61 6С 6F 00 69
76 65 6Е 69 65 00 69 67 72
75 73 70 65 7В 6Е 6F 6А 00
80 FF 80 FF 80 FF 30 FF 80
4F С9
КОНТРОЛЬНЫЕ СУММЫ БЛОКОВ В 1 КБАЙТ;
0000...03FF - А27С
0800...0BFF = 0785
1000...13D8 = D2BC
0400...07FF = 43Е7
0C00...0FFF = ОЗЕА
КОНТРОЛЬНАЯ СУММА ПРОГРАММЫ: 0000...13D8 - 3748
ПРИЛОЖЕНИЕ 2
ПРОГРАММА "СТРАННЫЙ ТЕННИС
^DEFINE BEGIN 30658
INT LEV,BASE,RND1,RND2;/^ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ ТИПА INT*/
CHAR *TEST; /♦ГЛОБАЛЬНАЯ ПЕРЕМЕННАЯ ТИПА CHAR*/
MAIN() ЕС CHAR С; INT NUMER; RND1=RND2=1; WHILE(l) [[ PUTCHAR (’\C’); /♦НАЧАЛО ПРОГРАММЫ*/ ’ • /♦ЛОКАЛЬНАЯ ПЕРЕМЕННАЯ ТИПА CHAR*/ /♦ЛОКАЛЬНАЯ ПЕРЕМЕННАЯ ТИПА INT*/ /♦ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ В ФУНКЦИИ*/ /♦БЕСКОНЕЧНЫЙ ЦИКЛ*/ /♦ВЫЗОВ СИСТЕМНОЙ ФУНКЦИИ*/
0UTSTR("ВЫБЕРИ УРОВЕНЬ ИГРЫ");
WHILE ((C=INKEY())<’1••О’9’)
г г
IF (С==31) RETURN; RND(l); ]] PUTCHAR (С); LEV=1<<(C-’0’); NUMER=6; WHILE(--NUMER) [[ CLEAR(); TEST[2]=’0’+NUMER; /♦ВОЗВРАТ ИЗ ФУНКЦИИ БЕЗ ЗНАЧЕНИЯ*/ /♦ВЫЗОВ ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ*/ /*С ФАКТИЧЕСКИМ ПАРАМЕТРОМ*/ /♦ВЫЗОВ ФУНКЦИИ БЕЗ ПАРАМЕТРОВ*/
GAME();
J ] ] ]
]]
Персональная ЭВМ "Микроша"
17
CLEAR()
[[ /^НАЧАЛО ТЕЛА ФУНКЦИИ*/
INT NUM,
F jTCHAP:( ’ \С’ ) ;
TEST-BEGIN;
NUM=64;
BASE=0;
WHILE(--NUM)TEST[++BASE3=127;
NUM=24;
WHILE (—NUM)
[[ /*НАЧАЛО ТЕЛА ЦИКЛА*/
BASE=BASE+78;
TEST[BASE]=127;
J] /*КОНЕЦ ТЕЛА ЦИКЛА*/
BASE=1872;
NUM=64;
WHILE(—NUM)TEST[++BASE 3 = 127;
]] /*КОНЕЦ ТЕЛА ФУНКЦИИ*/
OUTSTR(ADDR) /^ФУНКЦИЯ ИЗ БИБЛИОТЕКИ*/
CHAR *ADDR;
[[
WHILE(*ADDR)PUTCHAR(*ADDR++);
PUTCHAR(’\R’); /*ВОЗВРАТ КАРЕТКИ*/
PUTCHAR(’\N’); /*ПЕРЕВОД СТРОКИ*/
]]
INKEY()
[[
it ASM /*ПЕРЕХОД А АССЕМБЛЕР*/
CALL OFEEAH
MOV L.A ; ТЕКСТ НА АССЕМБЛЕРЕ
MVI H,0
itENDASM /*ПЕРЕХОД В СИ*/
]]
GAME() /*ОПИСАНИЕ ФУНКЦИИ БЕЗ ФОРМАЛЬНЫХ ПАРАМЕТРОВ*/
[[
CHAR CODE;
INT COUNT,NUMER,XMEN,MEN,MENO,MEN1,BALL,VOL,RN,X,Y,VX,VY;
INT GEN;
GEN=MEN0=MEN=COUNT=0;
MEN1=312;
NUMER=6;
XMEN=MEN0;
WHILE (—NUMER)
[[
TEST[XMEN] = ’ it’ ;
XMEN=XMEN+78;
]]
TEST[BALL=(X=RND(62)+1)+(Y=RND(22)+1)*78]=’O’;
VX=1;
VY=RND(2)*((RND(2)<<1)-1);
VOL=VX+VY*78;
WHILE(l)
OldPGra
7 0 0 6
музей компьютеров
18
А.А.Матвеев
[[
IF ((CODE=INKEY())==3) BREAK;
XMEN=RN=O;
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[MENO]=0;
TEST[MEN1+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;
]J
NUMER-O;
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==0) COUNT=RND(100)+l;
IF(COUNT) --COUNT;
IF(COUNT==0)
[[
VY=RND(2)*((RND(2)<<1)-1);
IF(RND(4)==1)
VX=1;
ELSE VX=-1;
VOL=VX-*-VY*78;
]]
]]
ELSE GEN=1;
NUMER=LEV;
WHILE(--NUMEk);
1
*41 »•.
Персональная ЭВМ "Микроша'
19
]]
RND(MOD) /^ОПИСАНИЕ ФУНКЦИИ С ФОРМАЛЬНЫМ ПАРАМЕТРОМ*/
INT MOD;
[L
INT SOM;
SOM=(7*RND2+3*RND1+12345)>>1;
RND1=RND2;
RND2=SOM;
RETURN SOM%MOD;/*ВОЗВРАТ ЗНАЧЕНИЯ ИЗ ФУНКЦИИ В ПРОГРАММУ*/
]]
МАЛОЕ ПРЕДПРИЯТИЕ «ТАКТ»
Публичная электронная библиотека
Публичная лтек грс«пая библиотека — это избранная коллекция (Ибких магюпных дисков, содержащих согни но-
вых гекоьыерческих программ типа Pubik Domain и Shareware, сригтальные копт которых мы получаем прямо от ав-
торов и ияотоеителей из резнях стран со всего света, демонстрашюжых и оценочных программ, тексты, документац ию
и другие полезные ьетериалы, которые могут применяться на любых совместимое с ШМ персональных компьютерах.
Публичная электронная библиотека была создана МП «Такт» в 1990 году, и с тех пор ее каталог регулярно обновля-
ется и пополняется Каждые два месяца МП «Такт» выпускает обновленный каталог на гибком магнитном диске (5*25
360Ю. Наш каталог 1 /91 впервые был представлен читателям электронного журнала «Мир ПК Диск». Всего же в 1991
году было уже выпущено три каталога Публичной электронной библиотеки, а ДО конца года выйдут еще три выпуска.
Пользоватъсч услугами Публичной электронной библиотеки могут любые частные лица, организа-
ции, предприятия и учреждения. За довольно умеренную плату вы можете быстро получить точные копии
оригинальных дисков, аннотации которых представлены в каталоге Публичной электронной библиотеки.
Чтобы стать абонентом Публичной электронной библиотеки, вам следует сегодня же заказать дискету с ее ката-
логом. По мнению многих наших нынешних абонентов, каждый такой каталог ценен даже сам по себе, ибо являет-
ся удобным информативно-справочным средством, которое поможет вам и вашим коллегам приобретать новые
идеи и лучше ориентирована в безбрежном море информации о непрерывно обновляющихся программах д ля ПК
Наш каталог и все копии дисков Публичной электронной библиотеки поставляются без защиты от
копирования. Вы имеете право свободно копировать эти диски, не подвергая изменениям их содержание.
Ж те того, дискета с текущим каталогом 3/91 содержит копию новейшей версии японского архиватора
V.2.11 с документацией на английском языке и полным переводом ее на русский
Мы немедленно вышлем вам дискету с копией текущего каталога по почте. Для этого нужно перечислить
148 рублей на расчетный счет МП «Такт», указав в платежном поручении: «За текущий выпуск каталога». Если
же вы хотите подписаться на все 4 выпуска каталога до конца нынешнего года (с 3/91 по 6/91), мы предостав-
ляем вам скидку: это стоит всего 498 рублей. Затем просим направить нам письмо, где необходимо сообщить
ваш точный почтовый адрес, номер телефона, а также имя, фамилию и должность лица, сделавшего заказ.
Просим приложить к этому письму копию платежного поручения либо просто указать его номер и дату.
Тор Теп Публичной электронной библиотеки
Из многих десятков дисков, представленных в нашем каталоге, наибольшим спросом и популярно-
стью среди абонентов Публичной электронной библиотеки пользуются сегодня такие 10 наименований:
1. Коллекция демонстрационных программ из США для брокеров и биржевиков, среди которых
представлены Broker’s Choice, Broker’s Ally, Broker’s Helper’Sales Professional Helper’ Eignty/20 и др.
2. Бесструктурная база данных несекретных сведений Центрального разведывательного управления США «The
CIA Factbook» на 6 дисках, содержащая множество сведении, которых нельзя найти в обычных энциклопедиях и
справочниках. Предоставлена I Публичной электронной библиотеке издательством СО-ROM дисков Quanta Press.
3. Два диска с подборками наиболее популярных в США утилит для начинающих (LB 3.0) и для бо-
лее опытных (LB 4.0) пользт ьателей ПК. Представлены фирмой Publuc Brand Software.
4. Текстовой процессор MindReader с элементами искусственного интеллекта: потрясающе «угадывает»
дальнейший текст по первым же буквам слова и помогает быстро и безошибочно писать по-английски всем
слабо владеющим языком. Сам настраивается на вашу лексику. Предоставлен фирмой Brown Bag Software.
5. Последняя версия музыкального генератора Pianoman. Прекрасное и умное развлечение. Также
позволяет легко вставлять музыкальные фрагменты в любые прикладные программы. Публичной элект-
ронной библиотеке программу прсдостави i ее автор Neil J. Rubenkind.
6. Два диска последней версии Fansi Console Эти драйверы резко ускоряют отображение графической
информации на экране монитора. Предоставлены фирмой-изготовителем Hersey Micro Consulting, Inc.
7. Чрезвычайно удобный и быстрый редактор текстов QEdit Advanced. Широко используется программистами-
профессионалами в США. При фантастических возможностях исполнительный файл Q.E ХЕ занимает всего лишь
47 Кбайт- Предоставлен автором и владельцем фирмы SemWare из Атланты Сэмми Митчелом (Sammy Mitchell).
8. PC-Outline — программа для составления планов, расписаний, оглавлений, научных работ, списков «что
сделать»... Позволяет расставлять и организовывать мысли, идеи, дела, главы, телефоны, события и прочее (воз-
можные применения невозможно перечесть!) в иерархической последовать тьности Чрезвычайно пояс ттая вещь
для всякого занятого человека Может устанав.1иваться резидентно. Предоставлена ф ирм и Brown Bag Software.
9. PFROI — программа для управления портфелем ценных бумаг на фондовой бирже Предоставил
нам ее автор Robert Nils Hobbs
10. Учетная демонстрационная версия европейского варианта пакета FoxPro на английском языке. Два ди-
ска. Знакомит с основными возможностями и приемами работы с СУБД FoxPro. Представлена Fox Software
Милости просим в нашу Публичную электронную библиотеку!
Наш почтовый адрес: 214036 Смоленск, а/я 248, МП «Такт».Телефон в Смоленске (08100) 5-58-05.
"Микроша" — одна из первых отечестввенных бытовых ПЭВМ, по-
ступившая в 1988 г. в розничную торговлю. Стоит она всего 500
руб.(на конец 1991 г.). "Микроша" работает с обычными кассет-
ным магнитофоном и телевизором и нашла применение как учеб-
ный компьютер в средних и высших учебных заведениях. Однако
литературы по использованию "Микроши", кроме руководства по
эксплуатации, практически нет. Данную статью мы публикуем по
просьбам читателей.
Л.О.Осипов
Работаем на "Микроше"
Структура ЭВМ
Системный блок (СБ) "Микроши” (рис.1) состоит из микропроцессора (МП),
постоянного запоминающего устройства (ПЗУ) емкостью 2 Кбайт (2048 ячеек
по 8 двоичных разрядов), оперативной памяти (ОП) емкостью 32 Кбайт и кла-
виатуры. МП типа КР580ВМ80А обеспечивает быстродействие в 300 тыс. простых
операций в секунду. В комплект ЭВМ входит модулятор, позволяющий подклю-
чать ее к антенному входу телевизора (ТВ), а также блок питания. На экране ТВ
размещается 25 строк по 64 алфавитно-цифровых символа или в графическом ре-
жиме 50x128 точек.
Функционирование ЭВМ обеспечивает набор служебных программ — систем-
ный монитор, размещенный в ПЗУ, и операционная система (ОС), вводимая в ОП
с магнитофона (МГ). Пользователь записывает программу решения задачи на язы-
ке Ассемблера или на Бейсике и с клавиатуры вводит ее в оперативную память. Эта
исходная программа с помощью интерпретатора, входящего в оперативную систе-
му, переводится на внутренний машинный язык и исполняется. Решение задачи
или программа выводятся на экран. Программу можно записать на кассету МК-60
и затем вводить ее в ЭВМ.
Здесь рассмотрим Бейсик "Микроши”, так как программирование для ЭВМ тре-
бует учитывать особенности языка, реализованного в данной машине.
Алфавит Бейсика
Буквы
прописные латинские от А до Z. Русские буквы можно использовать только в
комментариях и в текстовых данных.
Дополнительные символы:
# — знак номера; @ — коммерческое "Ат"; & — коммерческое "И" (амперсанд);
о — знак денежной единицы (далее этот знак будем обозначать $);?,!, %.
Цифры:
0, 1,2, 3, 4, 5, 6, 7, 8, 9 (нуль перечеркнут для его отличия от буквы О).
Знаки арифметических действий (по старшинству):
* возведение в степень;
*, / умножение, деление;
+,- сложение, вычитание.
Знаки отношений:
-,>,<,>-( >) ,<-( <) ,<>(*).
Работаем на "Микроше”
21
Логические операции (по старшинству):
NOT (НЕ);
AND (И);
OR (ИЛИ).
Разделительные знаки и их назначение:
. — отделение целой части числа от дробной;
: — разделение предложений на одной строке;
, — разделение элементов списка величин или данных;
; — разделение элементов для вывода их без пробелов;
” ” — выделение текстовых данных;
( ) — математические скобки, выделение аргументов функции или индексов
массива.
Основные служебные слова:
REM — примечание;
DATA — данные;
READ — чтение;
IF — если;
THEN — то;
GOTO — переход;
DIM — массив;
INPUT — ввод;
PRINT
FOR
ТО
STEP
ON
NEXT
STOP
— вывод;
— для;
— до;
— шаг;
— при;
— конец цикла;
— останов.
Другие слова будут вводиться по мере необходимости.
Структура программы
Программа составляется из строк. Каждая строка начинается с номера, за кото-
рым следует одно или несколько предложений. Предложения делятся на две груп-
пы: операторы и объявления. Операторы определяют действия по обработке данных
или управляют порядком испол-
нения операторов. Объявления
задают входные данные (DATA),
особенности размещения данных
в памяти ЭВМ (DIM), примеча-
ния к программе (REM) или опи-
сания функций (DEF).
На одной строке можно раз-
мещать несколько предложений,
разделенных двоеточием. Конец
предложения в строке не требует
разделительного знака. Строка
языка может иметь до 72 симво-
лов и на экране она изображается
на двух строках: 64 и до 8 симво-
лов. В записи предложений мож-
но оставлять пробелы, интерпре-
татор их игнорирует.
Строки вводятся в любой по-
следовательности, а в программе
они расставятся в порядке их но-
меров. После набора строка вво-
дится нажатием клавиши ВК
Рис. 1
22
Л.А.Осипов
("возврат каретки"). Повторный ввод строки с тем же номером замещает старый
текст на новый, а ввод только номера удаляет строку из программы. Ввод операторов
без номера приводит к их немедленному исполнению после нажатия клавиши ВК.
Номера строк выполняют и роль меток (адресов) для переходов к их исполне-
нию. Обычно строки исполняются по возрастанию номеров (в естественном поряд-
ке). Операторы управления изменяют такой порядок работы. Номера строк указы-
ваются в пределах от 1 до 32767.
При использовании телевизора часто первые символы строки не видны, поэтому
строки целесообразно нумеровать числами: II, 22, 33, ... , 99, 111, 122 и т.д. Это
также позволит вставлять в программу новые строки.
ЭВМ прекращает работу после исполнения оператора STOP или строки с наи-
большим номером.
Данные
Операторы, как правило, задают выражения, обеспечивающие обработку дан-
ных. Данные могут быть числовыми и текстовыми (наборами символов). Числовые
данные делятся на целые и вещественные.
Целые числа определяют точное количество (единиц, штук) и требуют точной
обработки (без округлений). Целые значения допускаются в пределах ±32767. Их
запись: -123; +5; 32000.
Вещественные числа являются результатом приближенных измерений или вы-
числений. Их точность оценивается половиной единицы младшего значащего раз-
ряда. Вычисления с вещественными числами выполняются с округлением до 6-7
десятичных цифр. Вещественное число должно иметь или подразумевать точку, от-
деляющую его целую часть от дробной. При этом оно представляется в форме с
фиксированной (ФТ) или с плавающей точкой (ПТ).
а) Числа с ФТ записываются в виде мантиссы цифровой части с точкой или без
нее: +17.3; -24.0; 0.; .056; 809; 12345678.
Знак + и нулевую целую часть можно не писать. ЭВМ воспринимает только
старшие шесть значащих цифр, а остальные полагает нулями.
б) Числа с ПТ записываются в виде мантиссы, умноженной на 10, где П — поря-
док числа. Для ввода в ЭВМ ".10" заменяется буквой Е, и порядок пишется на одном
уровне с мантиссой. Числа с ПТ по абсолютному значению имеют диапазон 10
...10 , а мантисса содержит до шести цифр. Мантисса может быть с точкой или без
нее:
+.173Е2; -2400Е-02; ОЕО; 56.Е-3; 809ЕО; 1.23456Е+7.
Текстовые данные используются как пояснения к решению или являются пред-
метом обработки на ЭВМ. Текст может содержать по 255 любых символов, включая
русские буквы и пробелы. Текст выделяется кавычками: "РЕШЕНИЕ:"; "СУММА
КУБОВ"; "Х="; "ДВК-2М".
Имена даются величинам, используемым в вычислениях, и играют роль адресов
величин, по которым в памяти ЭВМ хранятся их значения. Имена должны состоять
из одной или двух латинских букв или из буквы и цифры. К именам текстовых ве-
личин дописывается $:
А, А$, AM, АМ$, М5, М5$.
Заметим, что А и А$ являются разными величинами.
Массивы — совокупности значений, объединенных по некоторому свойству и
упорядоченных по своему размещению в памяти ЭВМ. Местоположение каждого
значения определяется (как координатами) целочисленными индексами. Индексов
может быть 1 или 2 одно- или двумерные массивы. Каждый индекс должен нахо-
диться в диапазоне от 0 до 32767. Примеры массивов: вектор A{ai, аг, аз}; набор
текстов С{со, ci, сг, сз, сч}; совокупность К чисел P{pi, рг,...,рк); матрица
Работаем на "Микроше"
23
х00
х10
х01 х02
Х11 х12
Массивы, чтобы их элементам в памяти ЭВМ резервировалась последователь-
ная группа ячеек, в программе описываются в виде:
DIM А(3), С$(4), Х(1,2), Р(К)
Описание состоит из имени массива и заключенных в скобки верхних границ
каждого индекса в виде чисел или ранее определенных величин. Объявлений мас-
сивов может быть несколько и они могут размещаться в любом месте программы и
в любой части строки.
Обращение к элементу массива (запись или чтение его значений) производится
указанием его имени с фактическими индексами в виде чисел, имен или выраже-
ний: А(2), А(М), С$(2.6), Х(0,1), Р(3*М-4). Если фактический индекс окажется
дробным, то от него берется целая часть. Значения индексов не должны быть отри-
цательными или большими границ, указанных в объявлении DIM. При вводе эле-
ментов массива не обязательно заполнять все зарезервированные ячейки.
Заметим, что А, А2 и А(2) считаются разными величинами. Если описания мас-
сива не давать, то по умолчанию его границы полагаются равными 10. Это значит,
что одномерному массиву резервируется 11 ячеек, а двумерному — 121. При мень-
ших фактических размерах массива это приводит к нерациональному расходу па-
мяти ЭВМ.
Выражения. Оператор присваивания
Выражение — запись, составленная из чисел, величин и функций, разделенных
знаками отношений, арифметических или логических операций и скобками, опре-
деляющая арифметическое или логическое значение.
Встроенные функции входят в состав языка и готовы к использованию простым
указанием имени функции с фактическим аргументом в виде числа, имени или вы-
ражения. Указатель функции — се имя, за которым без пробелов в скобках постав-
лен аргумент. Все переменные, входящие в аргумент, должны быть численно опре-
делены до ссылки на функцию. Указатель функции в выражениях рассматривается
как число.
Основные встроенные функции:
VxT—SQR(X);
Ixl -*ABS(X);
ех-»ЕХР(Х);
Inx -*LOG(X);
наибольшее целое <Х
sin X -*SIN(X);
cosX-*COS(X);
tgX-*TAN(X);
arctg X -> ATN(X);
ent X-* INT (X);
Знак X (1 при X>0, 0 при Х=Ю, -1 при Х<0) sign X -*SGN(X);
случайное число (0...1) -*RND(1).
Аргумент тригонометрических функций задается в радианах
Оператор присваивания служит для присвоения значения простой величине
или элементу массива и имеет вид:
имя-число или выражение
Слева от знака присвоения (=) может стоять одно имя или имя с индексами, но
не число или выражение. После выполнения оператора величина слева от ”=" полу-
24
Л.А.Осипов
чает значение вычисленного выражения. Если эта же величина входит и в выраже-
ние, то в нем используется его старое значение.
Арифметические выражения составляются из числовых данных. Порядок рас-
крытия выражений:
1) вычисление индексов;
2) вычисление аргументов функций;
3) вычисление функций;
4) возведение в степень;
5) умножение или деление;
6) сложение или вычитание.
В логических выражениях добавляется:
7) определение отношений;
8) выполнение логических операций.
Операции одного ранга выполняются слева направо. Выражения записываются
в линию, что позволяет вводить их символ за символом. Последовательность дейст-
вий изменяется круглыми скобками. Все величины, входящие в выражение, долж-
ны быть количественно определены до этого выражения. Выражение, составленное
из целых данных и знаков +, -, * и дает целое значение, если по абсолютной ве-
личине оно менее 32768.
Примеры:
y-=sin26x » 8tgx3
lnaK+VkT
<s/x+- aretg*-
л
Y=SI N (6*Х) ~2+8*Т AN (Х~3);
В(К)=(А(КИ(С~(-К))-ЕХР(-С~К))/
(LOG(A(K))+SQR(ABS(C)));
Р = SGN(X)*ABS(X)Z4(l/3)+ATN(X)/3.1416
Логические выражения (условия) образуются с использованием операций
арифметических, отношений и логических. Отношения (сравнения) служат для
проверки условий (>< ) и формирования логического ответа — ДА или НЕТ. Над
такими логическими значениями можно выполнять и логические операции. На-
пример, условие нахождения точки (X, У, Z) внутри цилиндра радиуса R и высоты
Н определяется выражением:
(Х~2 + Y~2 < R~2) AND (Z > О AND Z < H)
Операции отношения могут применяться и для сравнения слов текстов: А$=В$
или А$<>В$.
Текстовые выражения составляются из текстовых величин с использованием
специальных встроенных функций (эти функции здесь не рассматриваются) и опе-
рации присоединения, обозначаемой знаком +. Так для величин А$з"ТЕЛЕ",
В$=”ФОН" и С$="ВИЗОР" операциями Т$=А$+В$ и Е$=А$+С$ будет получено "ТЕ-
ЛЕФОН" и "ТЕЛЕВИЗОР".
Операторы ввода и вывода
Ввод из списка данных обеспечивается объявлением DATA и оператором
READ. С помощью DATA задастся список чисел и текстовых значений, разделен-
ных запятыми. Текстовые данные, не имеющие пробелов на краях или запятых,
кавычками можно не выделять. Объявлений DATA может быть несколько и ставят-
ся они в любом месте программы. Данные из всех списков DATA объединяются в
одну цепочку, из которой они по порядку читаются для переменных из списков
ввода READ:
Работаем на "Микроше"
25
И DATA "ЦЕНА”, 10, РУБ., 25, КОП.,42
22 READ А$,В: READ В$,С,С$
Будет введено: А$ - ЦЕНА, В=10, В$=РУБ.,О25, С$-КОП.
Для повторного чтения данных с начала цепочки применяется оператор RE-
STORE ("восстановление’'). Так, изменение в программе
22 READ A$,B:RESTORE:READ В$,С,С$
приводит к вводу
А$=ЦЕНА, В» 10, В$=ЦЕНА, С= 10, С$=РУБ.
Оператором READ запрещено присваивать числовым величинам текстовые зна-
чения. Некоторые данные из DATA могут остаться не введенными, но при недо-
статке данных ЭВМ останавливается и выдает сообщение:
04 ОШИБКА В 22 ("мало данных при вводе в строке 22").
Ввод данных с клавиатуры производится в процессе работы программы по тре-
бованию оператора INPUT со списком величин, ждущих значений. При выходе на
этот оператор ЭВМ выдает на экран ”?" и ждет ввода данных. С клавиатуры наби-
раются в соответствии со списком ввода числа и тексты, разделенные запятыми.
Тексты можно набирать без кавычек. Данные вводятся строками нажатием клави-
ши ВК ("возврат каретки"). При недостатке данных выдается "??" и ввод следует
продолжить. Ввод текста для числовой величины вызывает сообщение "?ПОВТО-
РИТЕ ВВОД". Избыток данных ЭВМ игнорирует, но выдает "?ЛИШНИЕ ДАН-
НЫЕ". Пока не нажата клавиша ВК, данные можно исправлять.
В операторе INPUT можно использовать подсказку: INPUT "А,В,С“”;А,В,С.
ЭВМ выведет "А,В,С-?" и остановится. После ввода трех чисел и нажатия ВК реше-
ние будет продолжено.
Вывод решения на экран производится оператором PRINT список вывода. В
список вывода включаются простые имена или с индексами, текст в кавычках,
функция табуляции (разметки) TAB, числа или выражения. При наборе програм-
мы вместо PRINT можно ставить ? .
Если разделителем в списке вывода является запятая, то вывод производится в 5
зон по 14 позиций (начала зон — позиции 0, 14, 28, 42 и 56). При двух запятых
подряд пропускается одна зона. После вывода четырех или пяти данных делается
переход на новую строку.
Если разделитель точка с запятой, то данные выводятся без пробелов (слитно).
Пробел при выводе обеспечивается разделителем Если в конце списка вывода
нет разделителей, то следующий оператор PRINT производит вывод с новой стро-
ки. При ";" в конце списка следующий вывод производится слитно, а при "," — со
следующей зоны. PRINT без списка пропускает одну строку.
Текстовые данные выводятся без кавычек. Числа в диапазоне 0,1...99999 выво-
дятся с фиксированной точкой или как целые, а остальные — с плавающей точкой
в виде Ц.ЦЦЦЦЦЕ ±ЦЦ, где Ц — десятичные цифры. При выводе чисел вместо
знака + оставляется пробел. Мантисса чисел с ПТ выводится в диапазоне
1...9.99999, а порядок — до 138.
Оформление документов заданной формы и построение графиков производятся
с помощью функции табуляции TAB (число или выражение). Значение в скобках
должно быть в пределах 0...255. ТАВ(М) включается как элемент в список вывода
PRINT и определяет номер позиции М на экране, после которой будет выводиться
очередное число или текст. В случае дробного М из него берется целая часть. Зна-
чение М не должно быть меньше номера позиции, на которой закончился предыду-
щий вывод. В противном случае ТАВ(М) игнорируется. Если перед очередным TAB
стоит запятая, то вывод может выполняться не ранее начала следующей зоны.
26
Л.А.Осипов
Пример:
PRINT "АРГ.=";Х;ТАВ(24);"ФУНКЦИЯ:";С
обеспечивает вывод в виде:
А РГ.=1.23456 ФУНКЦИЯ:-2.61700Е+08
Заметим, в списке вывода между текстом и именем величины точку с запятой
можно не ставить. После PRINT целесообразно ставить запятую, что исключит вы-
ход за экран первых символов строки. Приведенный выше оператор станет:
PRINT,"АРГ.'*Х;ТАВ(38) "ФУНКЦИЯГС.
Оператором CUR X,Y можно установить координаты (0<Х<63, 0<Y<24) точ-
ки, от которой надо начинать вывод.
Вывод графиков обеспечивается операторами: CLS — очистка экрана; PLOT
X,Y,C — высвечивание (О1) или гашение (С=0) точки с координатами X,Y
(0<Х<127, 0<Y<49); LINE XK,YK — провести линию к точке (ХК, 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 ш обеспечивает переход к исполнению оператора с
меткой т. После перехода операторы исполняются в естественном порядке, пока не
встретится новый оператор управления. Оператор используется для обхода некото-
рых операторов или для возврата к ранее записанным операторам:
11 A-.35:GOTO88
22 PRINT,A,B,C
88 B=LOG(A):C“EXP(B):GO10 22
Вычисляемый переход (переключатель) ON имя или выражение GOTO
выполняет переход на метку тк, стоящую на К-м месте в списке меток. К
— целая часть выражения, записанного после ON (1 <K<N). При К<1 или K>N опе-
ратор игнорируется. В списке меток некоторые метки могут быть одинаковыми.
Программа вычисления
2х+3а- 5 при к-1 или 5;
Pk(x,a,b) - Зх-Ь при к-2 или 4;
х+а+Ь при к=3:
11 INPUT К,Х,А,В
22 ON К GOTO 33,44,55,44,33
33 Р-2*Х+3*А-5: GOTO 66
44 Р~3*Х-В: GOTO 66
55 Р-Х+А+В
66 PRINT,К,Х,Р
Логический условный оператор: IF условие THEN операторы при истинности
условия исполняет операторы строки, стоящие после THEN, а при ложности —
сразу переходит к следующей строке
Работаем на "Микроше"
27
Программа вычисления
, 2х5
х 3 + 15
при I х I < 0,3;
при lx I >0,3:
11 INPUT X: Т-Х*(1+Х*Х/3)
22 IF ABS(X)>=.3 THEN Т»Т+2/15*ХА5
33 PRINT,Х,Т
Оператор условного перехода: IF условие THEN m при истинности условия осу-
ществляет переход на метку ш, а при ложности — к оператору, стоящему в строке за
ним, или при отсутствии такого — к следующей строке. Программа для примера п.7.3:
11 INPUT Х:Т=Х*(1+Х*Х/3)
22 IF ABS(X) < .3 THEN 33: Т=Т+2/15*ХЛ5
33 PRINT,X,T
Оператор цикла: FOR X - а ТО b STER с: тело цикла: NEXT X обеспечивает
многократное исполнение группы операторов, называемой телом цикла. Оператор
состоит из заголовка (FOR...TO...STER...), тела цикла и конца цикла (NEXT). В
заголовке: X — параметр цикла (простое имя числовой величины); а,в и с — выра-
жения, задающие начальное, конечное значения и шаг изменения параметра X (с >
0 или < 0). При с - 1 можно не писать STEP 1. Оператор цикла выполняется в сле-
дующем порядке:
1) параметру цикла присваивается начальное значение (X = а);
2) выполняется тело цикла;
3) в операторе NEXT параметр изменяется на шаг (X - X + с);
4) при (X - b). sign С > 0 делается переход к п.2, а при (X-b).sign С<0 — выход
из цикла к оператору, стоящему после NEXT.
Начинать цикл можно только через его заголовок. При выходе из цикла его па-
раметр сохраняет свое последнее значение. м
Примеры: 1. Вычисление факториала Р = М ! - 1 • 2 • 3 — М = П К :
К=1
И INPUT"M="M: Р=1
22 FOR К=1 ТО М: Р=Р*К: NEXT К
33 PR1NT,M "!=”Р
Ограничение чисел значением 1038 определяет максимальное М = 33.
2. В тело одного цикла можно вкладывать другой цикл. Вычислить
Е^сх=(((1 4+1)5+1)4 +0х
4 3 2'
для X, изменяющегося от 3 до -3 с шагом -1.2, можно по программе:
11 FOR Х-3 ТО -3.1 STEP -1.2: Е=1
22 FOR КМ ТО 1 STEP -1: Е=Е*Х/К+1: NEXT К
33 PRINT, "Х="Х, ”Е="Е: NEXT X
Во внешнем цикле по X граница параметра несколько расширена (до -3,1) с
тем, чтобы значение Е при Х~3 было получено при возможных ошибках округле-
ния -1,2.
Оператор паузы STOP приводит к останову вычислений с выдачей сообщения:
СТОП В т, где т — номер строки с оператором STOP. После останова ЭВМ пере-
28
Л.А.Осипов
ходит в режим редактирования, в котором можно вывести значения некоторых пе-
ременных (оператором PRINT), изменить значения определенных данных и про-
должить работу директивой CONT или с заданной строки и оператором GOTO п.
Процедуры
Внутренняя функция объявляется в программе в виде:
DEF FNX[$ ] (формальный аргумент) - выражение.
Здесь DEF означает "определить";
FNX — имя функции, где Ж — любые 1 или 2 символа;
$ дописывается к имени функции, если ее значение текстовое. Формальный ар-
гумент — простое имя, которое не имеет значения и служит для определения по-
рядка преобразования выражением значения фактического аргумента в выходное
значение функции. Определение функции располагается в любом месте програм-
мы, но до первого обращения к ней.
Обращение к функции производится указанием ее имени с фактическим аргу-
ментом в виде значения, имени или выражения. В операторах такое обращение
рассматривается как значение. В выражение функции, кроме формального аргу-
мента, могут входить и фактические переменные, значения которым должны при-
сваиваться до обращения к ней. Пример:
11 DEF FNK(B)~AA2+B~3+C*4
22 INPUT Х,А,С: PRINT, FNK(X+1)
Выводится значение функции FNK = А2 + (X + I)3 + С4 после подстановки Х+1
вместо В. Значения А и С входят в выражение как фактические величины.
Подпрограмма — группа операторов, заканчивающаяся оператором RETURN
("возврат"). Обращение к подпрограмме производится оператором GOSUB т, где т
— номер первой строки подпрограммы. После исполнения подпрограммы RETURN
осуществляет возврат к оператору, стоящему после GOSUB ш. Вычисления из п.8.1
можно оформить подпрограммой:
11 INPUT Х,А,С: В=Х+1: GOSUB 33
22 PRINT,K:STOP
33 K=AA2+B*3+C*4: RETURN
Подпрограммы можно вкладывать одна в другую.
Вычисляемый переход на по (программы ON выражение GOSUB m(, m2,..., mN
осуществляет обращение к подпрограмме, начинающейся со строки тк, где тк —
метка, стоящая на К-м месте после GOSUB, К — целая часть арифметического вы-
ражения после ON, 1<K<N. В зависимости от значения выражения (или величи-
ны) можно переходить к различным подпрограммам и возвращаться к оператору,
следующему за ON...GOSUB....
Работа на "Микроше"
Подготовка ЭВМ к работе начинается с соединения блоков в соответствии с инс-
трукцией (см. рис.1). Гнездо СБ "Магнитофон" подключается к выходу МГ. Моду-
лятор вставляетя в антенный вход ТВ и соединяется с гнездом СБ "Видео". Штек-
кер блока питания вставляется в гнездо СБ "Питание", а его вилка — в сеть 220 В.
ТВ включается на 4-й или 5-й канал. Включается магнитофон, а затем и блок пи-
тания. После нажатия клавиши СБ "Сброс" на экране появятся: -МИКРОША- и
Работаем на "Микроше"
29
Все программы на кассете МК-60 имеют речевое название, тональный сигнал,
текст и сигнал конца. Для ввода интерпретатора после -* надо набрать I, включить
магнитофон на воспроизведение и после названия "Бейсик" нажать клавишу ВК. В
случае успешного ввода на экране появится колонка из трех чисел. Если этого нет
или высветится ОШИБКА, то ввод надо повторить. Для запуска интерпретатора в
работу нажать клавиши G и ВК. Сообщение ЭВМ о готовности принимать програм-
мы: *МИКРОША* BASIC.
Работа с программами. ЭВМ имеет клавиатуру с четырьмя группами клавиш:
1) символьные черные клавиши (буквы, цифры и др. знаки, входящие в програм-
мы); 2) красные клавиши управления режимами работы клавиатуры (ВК,
РУС/LAT и др.); 3) клавиши управления курсором; 4) функциональные клавиши
(F1,F2 и др.).
На символьных клавишах нанесено по два символа. С клавиш, не имеющих
букв, нижний символ выбирается при нажатой клавише HP, а верхний — при от-
пущенной. Русские буквы (верхний ряд) выбираются после переключения клави-
шей РУС/LAT на русский алфавит (светится "РУС") или при латинском алфавите
и нажатой клавише HP.
Курсор перемещается по экрану клавишами |, | и \ (перевод в первую
позицию первой строки). Работа других клавиш будет рассмотрена по мере необхо-
димости.
Диалоговая работа на ЭВМ обеспечивается директивами, запускаемыми в рабо-
ту клавишей ВК. Набор программы начинается с ввода первой позиции чистой
строки директивы NEW, очищающей оперативную память для приема программы.
Далее вводятся строки программы:
11 строка 1 ВК
22 строка 2 ВК и т.д.
Заметим, что курсор в чистое поле строки клавишей -* не сдвигается. Это надо
иметь в виду и в начале строки, когда курсор не виден. Его смещение можно полу-
чить, нажимая клавишу пробела. Ошибочно набранные символы удаляются клави-
шей F2. Для удаления всей строки достаточно ввести только ее номер. Для исправ-
ления строки курсор подводится к ее номеру, перемещается к нужному месту, где
набирается новый текст, а лишние символы удаляются. После этого курсор выво-
дится в конец этой строки, и нажимается ВК.
Запуск программы на диагностику и счет производится переводом курсора в
первую позицию чистой строки и вводом директиы RUN ("прогон"). Если в про-
грамме не обнаружены ошибки, то через некоторое время появится решение задачи
или запрос (?) данных к оператору INPUT. При завершении работы оператором
STOP выдается сообщение: СТОП В т. При обнаружении ошибок будет сообще-
ние: ? №№ ОШИБКА В m (ошибка номер №№ в строке ш). Директивой LIST
обеспечивается просмотр до 23 последних строк программы. При этом возможно
редактирование программы. Прерывание исполнения программы производится на-
жатием клавиши F4. Программу из ЭВМ можно записать на МГ директивой
MSAVE и считать обратно директивой MLOAD.
Пример программы для ’’Микроши"
Для иллюстрации возможностей "Микроши" рассмотрим решение системы ли-
нейных алгебраических уравнений с комплексными коэффициентами:
<акм+]Ькт)хм,“ак.ы+1 + jbK,N+i; к-1,2,...,N,
М=1
где N — порядок системы;
аКм + |Ькм — коэффициент в К-м уравнении при переменной хм;
aK,N+i + jbK,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-l: DIM A(L,N),B(L,N)
44 FOR K-0 TO L: FOR M=0 TO N
55 READ A(K,M), NEXT M: NEXT К
66 FOR M=0 TO L: D=0
77 FOR K-M TO L: W=A(K,M)*2+B(K,M)~2
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(1,J)=P:NEXT J
155 FOR J-M+l 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 MtFOR K=0 TO L
244 PRINT,”X"K+r’-'A(K,N)’’+J*"B(K,N):NEXT К
Для работы программы следует в строке 11 указать порядок системы, а в стро-
ках 12, 13 и т.д. в объявлениях DATA записать коэффициенты уравнений в поряд-
ке: ап, вн, а12, в12>—> al,N+l» B1,N+1» а21» В21 »•••» a2,N+l»—’aN,N+l» BN,N+1-
Приданных, указанных в программе, получено решение:
X 1-2+J*1
X2»l+J*-2
ХЗ—2 + J*2
Программа позволяет решать уравнения и с действительными коэффициента-
ми, при этом все мнимые части полагаются равными нулю. Так, для уравнений
2x2 + Зхз - 8;
2xi + Зхз-0;
3x1 +Х2+ -2
задаются данные:
12 DATA 0,0,2,03,0,8,0
13 DATA 2,0,0,03,0,0,0
14 DATA 3,0,1,0,0,0,-2,0
Решение системы:
X 1-1,5+ J*0
X 2-2.5 +J*O
ХЗ-.999999 + 3*0
На "Микрошу" можно переложить многие программы, имеющиеся в справочни-
ках по Бейсику.
Предлагаю вам для публикации разработку, по моему мнению, ин-
тересную для программистов "Микроши" и других машин с 580-м
микропроцессором.
Р.А.Сузи
Перемещаемые программы
Имеющие дело с кодами 580-го микропроцессора знают, что программа в них
будет работать только на том месте, какое было определено при трансляции. Одна-
ко было бы очень удобно, если бы некоторые программы были перемещаемым
и , то есть могли бы работать на любом месте ОЗУ, предварительно настроившись
на него.
Я хочу предложить реализацию метода, позволяющего писать перемещаемые
программы.
Принцип настройки на новые адреса довольно прост.
В самом начале программа определяет свое новое местонахождение. Как нельзя
поднять самого себя за волосы, так нельзя и в кодах 580-го описать перемещаемую
программу без "суши" (участка с известным абсолютным адресом). Роль участка "су-
ши" в моей программе играет "остров", состоящий из трех команд, которые при вызове
"острова" засылают в Н адрес возврата, относительно которого и определяется смеше-
ние всех адресов.
Далее программа определяет, насколько новое место отличается от старого, и
корректирует все операнды по адресам, занесенным в таблицу меток, одновремен-
но корректируя и ее данные. В таблицу заносятся метки, которые указывают на ко-
манды, операнды которых зависят от начального адреса программы. Остальные
операнды не нуждаются в коррекции.
Когда программа принимает работоспособный на данном месте вид, запускается
главная часть. Если программу больше не предполагается перемещать, то старто-
вую часть можно убрать, заняв память чем-то другим.
Плата за возможность перемещения средняя: удлинение выполнимых ко-
дов на длину стартовой части и таблицы; удлинение текста программы из-за
необходимости помечать все обращения к внутренним адресам отдельной
меткой.
Текст программы (проверен на "Микроше") с кодами для проверки возможных
опечаток:
ORGO
QUANTITY: EQU 3
ISLAND: EQU О
START:
LHLD ISLAND
PUSH H
LDA ISLAND+2
PUSH PSW
LXI H, 0E5E1H
SHLD ISLAND
MVI A, 0C9H
ST A ISLAND+2
; длина таблицы меток
; местоположение "острова"
; эвакуация "острова" в стек
; размещение на острове команд:
; (El) РОРН
; (Е5) PUSH Н
; (С9) RET
32
Р.А.Сузи
CALL ISLAND OLD: LXI D, OLD ; вызов подпрограммы — "острова" ; команды "острова" образовали; ; в HL адрес метки OLD на момент выполнения
MOV A,L SUBE MOV C,A MOV A,H SBBD MOV B,A PUSH H LXI D, TABLE-OLD DADD MVI A, QUANTITY CYCL: ; BC:eHL-DE — вычисление ; смещения между старым и новым ; адресами (в DE — старый адрес ; метки OLD) ; сохранение нового значения OLD ; только так можно ; узнать адреса начала таблицы меток ; определяет число повторений цикла
MOV E,M INXH MOV D,M XCHG DAD В XCHG MOV M,D DCXH MOV M,E INXH INXH PUSHH XCHG INXH MOV E,M INXH MOV D,M XCHG DAD В XCHG MOV, M,D DCXH MOV M,E POPH DCR A _CYCL ; DE:* очередной элемент таблицы ; коррекция адреса из таблицы: DE:=DE+BC (через HL) ; запись измененного адреса ; в таблицу ; и настройка ; HL на следующий элемент таблицы ; заполнение в стеке указателя таблицы ; работа с изменяемым местом программы. ; наведение HL на операнд команды ; взятие подлежащего коррекции ; адреса в DE ; опять прибавляется смещение: ; DE:=DE+BC (через HL *-DE обмен) ; новый адрес в DE, адрес, откуда его взяли, i в HL ; занесение скорректированного адреса ; на его место ; достаем указатель таблицы ; цикл выполняется QUANTITY раз ;JNZCYCL ; метка _CYCL должна стоять в таблице первой, ; чтобы быть скорректированной метке CYCL до i ис- пользования перехода цикла.
POPH _OLD: SHLDOLD+1 ; достается новый OLD и записывается ; на свое место
Перемещаемые программы
33
POP PSW
STA ISLAND+2
POPH
; возвращение на "остров"
; команд-"аборигенов"
SHLD ISLAND
JBEGIN: JMP BEGIN TABLE: DW_CYCL,_OLD DW _BEGIN BEGIN: END ; переход к началу ; таблица mqtok, по которым находятся ; команды, операнды которых требуют коррекции ; из-за возможной перемены положения в ОЗУ (вместе ; с программой) ; дозаполнив таблицу, не забудьте ; изменить QUANTITY. ; программа
2A 00 00 Е5 ЗА 02 00 F5 21 Е1
E5 22 00 ЗЕ С9 32 02 00 CD 00
00 11 16 00 7D 93 4F 7С 9А 47
E5 11 ЗВ 00 19 ЗЕ 03 5Е 23 56
EB 09 ЕВ 72 2В 73 23 23 Е5 ЕВ
23 5E 23 56 ЕВ 09 ЕВ 72 2В 73
El 3D С2 26 00 Е1 22 17 00 F1
32 00 02 43 00 Е1 00 4Е 22 00 00 СЗ 57 00 3F
БЕЗОПАСНОСТЬ ТЕРМИНАЛОВ Широкое распространение компьютерной техники поднимает проблему безопасности работы с дисплеем. Исследованию этой проблемы было посвящено около 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
"CHrMa"LVM-00-1900-ZM 0- 0,12 0,13 - 0,25 0,13-0,25 0,13-0,25
"Макинтош" М0401 0,26 - 0,50 0,26 - 0,50 0,51 - 0,75 0,51 - 0,75
(ПРОДОЛЖЕНИЕ НА СТР.4О,
БКЗАРОГА
НННЖНННФННННФН ♦
♦♦♦»•♦»»>»>»«>>»»♦»»♦»»♦♦♦»♦♦>>»»»»♦»!
С.П.Таланов (г.Яранск)
Использование программ
от БК-0010 на БК-0011
В последнее время на прилавки магазинов поступил компьютер марки
БК-0011.
Я не буду останавливаться на его достоинствах и недостатках, они очень хорошо
известны всем владельцам, хочу только сказать, что программ для него практиче-
ски нет, а какой-то "умник" сделал его программно не совместимым с широко рас-
пространенным компьютером БК-0010, для которого, по различным данным, суще-
ствует от 4 тысяч программ.
Что же сделать, чтобы владельцы БК-0011 получили доступ к такому бо-
гатству? Оказывается, следует всего-навсего эмулировать БК-0010, т.е. со-
здать среду на БК-0011, в которой программы БК-0010 будут работать без
проблем.
Начнем с различий в системном программном обеспечении обоих компьютеров.
Как известно, удобным и широко применяемым обращением к функциям систем-
ного ПО БК-0010 являются командные прерывания ЕМТ, выполняемые через
ЕМТ-диспетчер, представляющий собой часть монитора.
Номера (аргументы) ЕМТ (и во многом выполняемые ими функции) обеих ком-
пьютеров совпадают, но различаются входные данные, задаваемые в регистрах об-
щего назначения перед обращением к прерыванию ЕМТ. Попытка запустить про-
грамму, написанную в системе команд БК-0010 на БК-0011, как правило, приводит
к зависанию, а переделать программу с заменой всех входных данных ЕМТ обычно
так сложно, что проще написать ее заново.
Покажу различия прерывания ЕМТ на примере часто применяемой команды
ЕМТ 20, осуществляющей вывод на экран строки символов.
БК-0010 БК-0011
Команда: ЕМТ 20 ЕМТ 20
Машинный код: 104020 104020
Функция: вывод на экран строки символов Вывод на экран строки символов
Входные R1 — адрес начала R0 — адрес начала
данные строки; строки;
Действие: R2 — ограничители строки: мл.байт — длина строки (если 0-20000) ст.байт — код символа — ограничителя строки. Строка выводится на экран: курсор в конце строки. строка выводится на экран; курсор в начале строки, если конец строки — код 0, и в конце строки, если конец строки — код 200.
БК за рога
35
Как видим, различия так велики, что ни о какой работоспособности программ
БК-0010 на БК-0011 не может быть и речи.
Полностью совпадают по входным данным следующие ЕМТ: 4, 6,14, 16, 36, а не
совпадают — все остальные.
Кроме того, на БК-0011 отсутствует язык ФОК АЛ.
Несмотря на его невысокое быстродействие, пренебречь наработанными на нем
сотнями программ, особенно вычислительного и тестового характера, было бы не-
правильно. Да и в некоторых системных и игровых программах в кодах использу-
ются обращения к функциям ФОКАЛа.
Как же эмулировать архитектуру БК-0010 на БК-0011?
Если у вас есть БК-0010, то проблема решена! Перепишите на магнитную ленту
драйвер-мониторную систему и язык ФОК АЛ БК-0010. Для этого нужно выйти в
режим отладки БК-0010 (на БК-0010-01 обязательно подключив блок МСТД).
Привожу последовательность действий: Р (пробел) Т (ввод) (РУС)ТС. На экране
появится знак диалога мониторной системы диагностики БК-0010 '‘колесо*'.
Затем дайте директивы: М3
адрес=100000
длина=20000
ИМЯ=Монит
Мы записали на магнитофон драйвер-мониторую систему. Для записи ФОКАЛа
нужно изменить адрес — 120000, а для записи и того и другого сразу изменить дли-
ну на 40000.
Итак, у вас на МЛ есть запись монитора БК-0010 с ФОКАЛОМ (или без него)
Включите БК-0011. На экране появится:
БК-0011 KEYBOARD MONITOR
000000
И знак приглашения к диалогу — @. Отведем под монитор и ФОКАЛ третью
страниц ОЗУ и загрузим программу:
(лат) 3:1 С
L
NAME FILE? В: (ввод)
(ответ В: означает загрузку первого попавшегося файла в формате БК-0010).
После правильной загрузки будет выдано сообщение, например:
100000, 20000 -МОНИТ.
После чего остается только запустить монитор директивой 100000G. В слу-
жебной строке появится надпись ЛАТ, а на экране — знак диалога монитора
БК-0010-"?".
Монитор готов к приему директив. Каких?
М (ввод) — загрузка файла в кодах, на запрос ИМЯ? — наберите имя файла и
нажмите ввод. Если файл загружен неправильно, будет выдано сообщение —
"ОШИБКА", если же правильно и если файл снабжен автозапуском, он сразу запу-
стится. Если автозапуска нет, то после загрузки файла будет выдан ответ — "?”.
Для запуска файла с адреса загрузки дайте директиву S (ввод), а для запуска с лю-
бого другого адреса — S (адрес) (ввод), где "адрес" — восьмеричное число. Пробелы
в директивах недопустимы, при ошибке набора нажмите (стоп) и повторите ввод
директивы заново.
Если вы загрузили монитор вместе с ФОКАЛом, то после запуска 100000G про-
изойдет выход в ФОКАЛ, появится сообщение "ГОТОВНОСТЬ К РАБОТЕ" и знак
диалога ФОКАЛа-"*".
Для загрузки фокал-программ наберите: (лат) L G (имя файла), пробелы после
L и после G обязательны. Запуск программ: G (ввод), просмотр листинга — W
(ввод).
Если вам нужно перейти из ФОКАЛа в монитор, дайте директивы — (лат) Р М
(ввод), для обратного перехода из МОНИТОРА В ФОКАЛ — F (ввод). При выходе
36
БК за рога
в ФОКАЛ содержимое ОЗУ пользователя теряется, кроме зоны адресов
1000....1377.
Некоторые программы используют при работе тест-ПЗУ БК-0010, эмулировать
которое на БК-0011 невозможно, и поэтому владельцам БК-0011 придется о них
забыть.
Кроме того, в БК-0011 различаются аппаратные средства подачи звуковых сиг-
налов, поэтому будет "молчать" клавиатура, не будут работать директивы вывода
из программ, звуковые эффекты, речь. Эти недостатки можно устранить программ-
но, вставив операторы, записывающие 1 в 11 разряд системного регистра, непосред-
ственно перед подпрограммами вывода и подачи звуковых сигналов в самой про-
грамме.
Такую операцию можно выполнить с помощью отладчика.
Опытные программисты могут доработать сам МОНИТОР БК-0010, используя
место в его конце, где расположен драйвер телеграфного канала.
Руководствуясь материалом этой статьи, вы получите доступ к обширнейшему
программному обеспечению, написанному первоклассными программистами, из
которого вы сможете выбрать понравившееся или нужное вам для работы. Равно-
ценный запас ПО БК-0011, скорее всего, не будет наработан никогда.
Программы, в которых предусмотрено управление от джойстика, с равным
успехом работают в режиме эмуляции, джойстик подключается к порту БК-
0011. Работают также и многие системные программы, в частности отладчик-ас-
семеблер "МИРАЖ" С.М.Зильберштейна (не работает, правда, директива выво-
да "SAVE").
Конечно, данное краткое описание не дает полной картины работы в среде БК-
0010, на БК-0011, но навык придет со временем, а проверяя в работе на БК-0011
все новые программы БК-0010, вы получите подлинное удовольствие от сделанных
открытий.
В заключение хочу выразить благодарность Ю.А.Зальцману (г.Алма-Ата) за по-
мощь, оказанную в написании данной статьи.
Эта статья подготовлена для представления в издательство на компьютера БК-
0010, в среде редактора МИКРО 10, отпечатана на принтере МС-6313/EPSON.
Заключение рецензента
Описанный С.П.Талановым способ запуска программ в машинных кодах и на
ФОКАЛе, разработанных для БК-0010, работоспособен на ВК0011. Однако я вы-
нужден разочаровать читателей — владельцев БК-0011, так как по имеющимся
у меня сведениям эти компьютеры снимаются с производства, а вместо них за-
пускается новая модель — БК-0011М, полностью несовместимая с БК-0011, но
зато гораздо более совместимая с БК-0010 (так какие-либо сложности со звуком
в программах БК-0010, описанные в рецензируемой статье, исключаются, кро-
ме того БК-0011М имеет принципиально новую клавиатуру и в отличие от БК-
0011 способна работать с магнитофоном в уплотненных форматах записи, как и
БК-0010).
Что касается БК-0011, то я. во-первых, могу предложить использовать для за-
грузки монитора и фокала не третью, а четвертую страницу ОЗУ, так как в этом
случае упрощается переделка звука в программах. Для этого достаточно с по-
мощью любого отладчика найти в программе все обращение по записи к регистру
внешних устройств 177716 и прибавить ко всем посылаемым в него данным кон-
станту 16000.
Так, например, реализация звуковых эффектов в 90% программ достигается
непосредственной записью в регистр 177716 констант 220 и 320. Достаточно изме-
нить их соответственно на 16220 и 16320, и ваша программа "зазвучит" на БК-
001 1. Точно так же можно переделать в мониторе звук нажатой клавиши и запись
на магнитофон. Для этого привожу таблицу изменений в мониторе, предложенных
московским программистом В.Савиным, известным многим по компьютерным иг-
рам.
БК за рога
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/ 000220 016200
В заключение могу несколько скрасить горе владельцев БК-0011, сообщив им,
что для переделки их компьютеров в БК-0011М требуется не так уж и много — за-
мена всех ПЗУ и небольшое изменение в схеме. Насколько мне известно, уже не-
сколько фирм занимаются переделкой БК-0011 в БК-0011М.
А. М. Наде ж ин
v
После трудных исследований и попыток недавно удалось реализо-
вать новый канал обмена текстами и графикой между Б К 0010 и
IBM. Новый канал прост, дешев и, что важно, общедоступен. В ро-
ли "посредника" от ПК IBM-архитектуры выступают компьютеры
семейства "ПОИСК" Киевского НПО "Электронмаш”.
С.А.Ивашинников (г.Арсеньев)
НОВЫЙ КАНАЛ ОБМЕНА
ДЛЯ БК0010
Канал обмена реализован с помощью
эмуляции (имитации) драйвера бытово-
го магнитофона ПК "ПОИСК" на
БК0010. При этом не требуется ника-
ких аппаратных изменений как со сто-
роны БК0010, так и со стороны "ПО-
ИСКа".
Элементарной формой обмена мо-
гут выступать записи на кассетах.
Другой более перспективной формой
обмена может быть модемная связь
между указанными семействами ПК
или связь по радиоканалу. В послед-
нем случае уже можно говорить об ор-
ганизации широкомасштабных сетей
из удаленных компьютеров с несовме-
стимыми архитектурами.
В последнее время довольно часто
ведутся разговоры о быстром моральном
старении средств вычислительной тех-
ники, об отставании отечественных мо-
делей от зарубежных. Но массовое пе-
реоснащение недешево, а для большин-
ства пользователей просто недоступно.
В этом случае описанный канал обмена
при желании мог бы стать практически
бесплатным или относительно дешевым
путем общения не только со стороны ор-
ганизаций, но и со стороны массовых
владельцев домашних компьютеров.
Уже десятилетия ведутся бесплод-
ные разговоры о разработке государст-
венной программы создания компью-
терных сетей, но не только "воз и ныне
там", но и "воз" почти потерян. Поэтому
предлагаемый канал обмена, развивае-
мый поначалу пусть стихийно, может
быстро стать масштабным, а уже много-
численный и разнородный отряд деше-
вых компьютеров получит новые сферы
применения.
Реально уже существуют подобные
каналы и на семейство ПК фирмы Син-
клер, и на Intel-8090/8085. Развить
идеи на другие модели и разработать
прикладное программное обеспечение
не составит большого труда, важно
лишь начать.
Таким началом могут послужить хо-
тя бы мои программы для БК:
- TURBO3ZX
- TURBOIBM3
- БК-РК86
- DIS5-ZX
- DIS5-IBM
- BASIC-ZX
- МАШКОД88
Первые две программы являются ос-
новными и обеспечивают чтение как с
кассет записей, сделанных на ПК ZX-
SPECTRUM (Синклер) и ПК "ПОИСК",
так и кассетную запись от БК0010 в фор-
мате Синклеров и "ПОИСКов”.
Следующие программы — приклад-
ные и обеспечивают преобразование за-
груженных программ в форму ЕДАСП-
текстов на Ассемблере или Бейсике.
Последняя программа "МАШ-
КОД88" уникальна хотя бы потому, что
при малых ее объемах обеспечивает
разработку программ для всех 8-разряд-
ных процессоров и IBM на БК0010.
На первый взгляд разрабатывать
программы для несовместимых архи-
тектур компьютеров нелепо, так как та-
кие программы нелегко отладить, про-
верить тут же на месте. Но не следует
забывать, что в большинстве случаев
доработки уже имеющихся программ
Новый канал обмена для БК0010
39
совершенно не требуются сложные пре-
образования, объемные программы реа-
лизации. Такие преобразования при
элементарном навыке можно с большой
гарантией выполнить и не на родствен-
ном компьютере.
Другой момент связан с привычными
навыками и условиями работы. Доста-
точно простого примера из личной
практики. Совсем недавно я приобрел
ПК "ПОИСК". В комплекте с ним был
лишь Бейсик и тест-отладчик. Мои на-
дежды на многочисленную литературу
по IBM PC не оправдались, так как на
"нулевом" уровне никто на PC не рабо-
тает, а работают всегда в какой-то
мощной программной оболочке. Пона-
чалу я, конечно, применил Бейсик. Но
так как он загружаемый, то сразу встал
вопрос времени. Наконец, отнимая
много времени, нещадно эксплуатируя
"ПОИСК", я дождался дня, когда он
сломался...
И тут я подумал: а почему нельзя
часть рутинных забот поручить изучен-
ной вдоль и поперек БК0010?! Ведь на
нее имеется столько прикладных про-
грамм, которым может позавидовать
любая модель ПК в отечестве, как это
ни странно. Надежность работы БК0010
тоже общеизвестна, как бы ни кивали
на Америку.
С этого дня процесс постижения
"ПОИСКа" многократно ускорился. По-
сле нескольких же попыток открыл, что
формат записи "ПОИСКа" довольно
прост, чтобы считать данные с кассеты
"ПОИСКа” в память БК0010.
После этого сразу встала задача: а
что с этими данными делать? Какая бы
ни была литература, но архитектуру
команд PC понять можно, и очень быст-
ро удалось сделать IBM-дисассемблер
DIS5-IBM, отнимающий у БК0010 всего
2 Кб. Как и ранее сделанный DIS5-ZX
для Синклеров, эта программа преобра-
зует кодовые записи "ПОИСКа", загру-
женные через TURBO IBM, в текстовый
файл, читаемый в любом EDASP-совме-
стимом редакторе. А следовательно, та-
кие тексты легко разбираются, редакти-
руются и, самое важное, распечатыва-
ются на принтере.
Разобрать и проанализировать полу-
ченные тексты программ на БК0010 от-
нюдь не сложнее, чем на PC с мощной
конфигурацией. Таким образом мне,
например, удалось "взорвать" святая
святых — базовую операционную сис-
тему BIOS (В Кб ПЗУ) "ПОИСКа". При
этом сам "ПОИСК" (уже отремонтиро-
ванный) я включил лишь раз — для вы-
вода на кассету самой BIOS.
После анализа BIOS сразу спала пе-
лена с глаз, и го, что ранее казалось
"тайной фирмы", за секреты которой,
наверное, надо было платить немалые
деньги, стало быстро проясняться. И
пусть меня упрекнут "фирмачи" за не-
прошенное вторжение, но иного пути у
меня просто не было.
Вывод из всего описанного напраши-
вается такой — не следует пренебрегать
старыми вещами на фоне ужасного де-
фицита. И не соглашайтесь с теми "все-
знающими" экспертами, которые вам
будут рекомендовать выбросить куп-
ленный за свои кровные устаревший
компьютер как ненужный хлам. Он еще
может очень пригодиться.
Но вспомним о МАШКОД88. Из на-
звания файла просматривается его
связь с известными версиями операци-
онной среды МАШКОД для БК. Я не
стану утверждать, что эта программа
получила признание. Но в ней был и ос-
тается ряд очень полезных идей, кото-
рые забыть грешно.
Одна из таких идей, положившая на-
звание самой программы, — это незави-
симый от архитектуры процессора Ас-
семблер. Назовите мне что-нибудь по-
добное даже после 5 лет существования
первой версии МАШКОДа!
Скептики сразу скажут, что вот,
мол, гора родила мышь, что даже в
полном родном Ассемблере работать
нелегко, а тут пропаганда работы чуть
ли не в непосредственных машинных
кодах.
Но кто сказал, что МАШКОД не
позволяет развивать базовый МАШ-
КО Д^-ассембл ер с помощью опять же
нигде еще не применяемых макрофун-
кций до уровня полного Ассемблера, а
то и повыше ??? Делается это с по-
мощью простой макробиблиотеки в ре-
дакторе.
Вместе с тем многие БКманы давно
убедились, что в ряде случаев можно
обойтись и без Ассемблера, если есть
определенный навык. А если учесть,
что такой навык быстро приобретают
даже непрограммисты, школьники, то
40
С.А.Ивашинников
специалисты искушенные тем паче.
Достаточно лишь раскрепостить себя от
псевдонаучных шор и методических
пособий.
Итак, в базовом варианте (без мак-
робиблиотеки) МАШ КОД 88 позволяет
вести кроссассемблирование на любую
8-разрядную модель ПК, в том числе —
свят-свят — даже на IBM PC.
Пожалуй, это может впечатлить
даже теперешних прожженных скеп-
тиков и удалых критиков. И пусть
меня съедят, если я вру или преуве-
личиваю-преукрашиьаю свои брен-
ные труды.
В отличие от известного МАШКОДа
в МАШКОД88 за базовый элемент про-
граммы принимается не двухбайтное
слово, а естественный байт программы,
который может быть командой.
Отладчик и дисассемблер, являю-
щиеся, по сути, продолжением МАШ-
КОДа, теперь также позволяют опери-
ровать восьмеричными байтами. Вось-
миричная система счисления, менее
принятая в среде 8-разрядных процес-
соров, тем не менее в ряде случаев бо-
лее органично отражает специфику ти-
пизации команд, чем, положим, шест-
надцатиричная.
Вместе с тем предусмотрена возмож-
ность записи словных, двухбайтовых
представлений.
Правила работы с МАШКОД88 в ос-
нове остаются прежними, и их вы мо-
жете постичь в серии текстовых файлов
МАШКОДОК.
Небольшие отличия легко постижи-
мы на разборе прилагаемых образцов
программ, написанных в МАШКОД88
для ПК "ПОИСК”.
В заключение ко всему
изложенному следует добавить, что
нынче ни одно предприятие не пред-
почтет IBM PC-совместимый ПК како-
му-то другому, это, слава богу, дока-
занный факт. На PC имеется в избыт-
ке самое мощное программное обеспе-
чение, которое развивается с каждым
днем и не только в отдельно взятой
стране. Поэтому, если вы хоть на ми-
нуту оставите игрушки и подумаете о
своем реальном будущем, о своих
близких, то безусловно со мной согла-
ситесь и поспешите применить свою
пусть не ахти какую могучую, но лич-
ную собственность в лице Б КОО 10 по
назначению. Право, вас ожидает впе-
реди немало открытий и интересных
вещей. Вы, конечно, столкнетесь с
трудностями. Но где их нет? Все пре-
одолимо!
г.Арсеньев
(тел.261-235-51)
(ПРОДОЛЖЕНИЕ. НАЧАЛО НА СТР 33)
Калифорнийская фирма "Си!ма дизайн" ввела стандарт на свои мониторы, отвечающий стро-
жайшим требованиям безопасности, которые приняты в Швеции еще в 1986 г. Уровень излучения по
шведскому стандарту не должен превышать 0,50 мГс на расстоянии 0,5 м от дисплея В терминал фирмы
"Сигма дизайн" встроена дополнительная обмотка для экранирования магнитных полей. В 1991 г фирма пла-
нирует представить на рынок первый монитор с пониженным уровнем ЧНЧ-иалучения. Фирма IBM в своих
новых видеодисплеях также снижает уровень излучения, хотя не собирается вносить изменения в существую-
щие компьютеры Фирма 'Сейф компьютер” (Массачусетс) предложила альтернативу Ее мониторы с
жидкокристаллическим табло, которые используются в устанавливаемых на транспортных средствах
ЭВМ, не излучают измеряемую радиацию
Телекомпания CBV перепроектировала рабочие места в Чикаго и Нью-Йорке так, чтобы все со-
трудники располагались не ближе 0,9 м от боковых и задних стенок работающих дисплеев Округ Сан-
Франциско рекомендует дать беременным женщинам шанс на отказ от работы с видеотерминалами
Technology Review, 02 - 03.91, v.94 № 2, р. 16.
Программно-аппаратный комплекс предназначен для работы с
микросхемами серий 573РФ и 556 РТ и им подобных импортных
микросхем. Комплекс позволяет готовить и редактировать данные
для ПЗУ, программировать эти данные в любую область ПЗУ, счи-
тывать их из ПЗУ и и сохранять на магнитных дисках. Комплекс
функционирует на 16-разрядных ПЭВМ, совместимых с IBM PC,
под управлением операционной системы MS DOS. Требуемый объ-
ем оперативной памяти — не менее 256 Кб.
Смотров В.М.
Павловец Д.П.
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС
НА БАЗЕ ПЭВМ IBM PC XT/AT
ДЛЯ ПРОГРАММИРОВАНИЯ МИКРОСХЕМ
Аппаратные средства
Аппаратные средства комплекса включают в себя программатор, адаптер сис-
темной шины (для подключения программатора к ПЭВМ), кабель связи адаптера с
программатором, модули сопряжения ПЗУ для обеспечения работы конкретных ти-
пов микросхем с программатором.
Основные технические характеристики
- обеспечивается чтение данных из ПЗУ и запись данных в ПЗУ командами пе-
ресылки MOV микропроцессора ПЭВМ;
- величина напряжения программирования устанавливается переключателем
программатора;
- длительность импульса программирования устанавливается хронирующим
конденсатором в модуле сопряжения ПЗУ;
Рис.1. Структурная схема аппаратных средств комплекса
42
В.М.Смотров, Д.П. Павлове ц
Рис.2. Структура программного обеспечения
для программирования микросхем
темной шины представляет собой печатную
- блок питания программатора
подключается к шине +12V ПЭВМ
через кабель связи адаптера с про-
грамматором и обеспечивает все не-
обходимые напряжения питания
для программирования;
- скорость программирования в ос-
новном определяется длительностью
импульса программирования и алго-
ритмом программирования. В данном
комплексе при использовании алго-
ритма фирмы "Infe!" для программи-
рования ПЗУ с ультрафиолетовым
стиранием импульсами длительно-
стью 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 (155РЕЗ, 556РТ4, 556РТ5, 556РТ6,
556РТ7). Эти модули вставляются в программатор с помощью разъема. Возможно
расширение номенклатуры программируемых микросхем дополнительными моду-
лями сопряжения для других типов ПЗУ.
Программные средства
Входящее в состав комплекса программное обеспечение функционирует под уп-
равлением операционной системы MS-DOS и состоит из 5 функционально незави-
симых модулей (рис.2).
Комплекс для программирования микросхем
43
Ядром системы является многоокон-
ный экранный редактор, позволяющий го-
товить и корректировать информацию для
записи в ПЗУ удобным и наглядным спосо-
бом как в шестнадцатиричном, так и в сим-
вольном виде. Кроме того, редактор обеспечи-
вает выполнение следующих функций:
- чтение ПЗУ в буфер редактирова-
ния;
- сравнение содержимого ПЗУ и бу-
фера редактирования с выдачей в от-
дельном окне результатов сравнения;
- сохранение информации в файле в
буфер;
- проверка "чистоты" ПЗУ;
FFFF
0000
СС01
FFFF
0000
0001
Рис.З. Соответствие адресов буфера
редактора и ПЗУ
- установка границ рабочей области (региона);
- перемещение содержимого региона в любое другое место буфера;
- подсчет контрольной суммы;
- поиск байта или слова;
- заполнение и маскирование региона.
Буфер редактирования (БР) имеет объем 64 Кбайта. Обмен информацией между
БР и ПЗУ осуществляется через участок основной памяти емкостью 64 Кбайта, кото-
рая не используется системными средствами ПЭВМ. Стандартная организация памяти
для компьютеров типа IBM PC предполагает использование адресного пространства
D0000H - EFFFFH для подпрограмм управления дополнительными нестандартными
устройствами. В большинстве конкретных реализаций персональных компьютеров
данная часть ОЗУ не задействована. И именно эту область с помощью предлагае-
мых аппаратных средств можно использовать для адресации ПЗУ.
При таком техническом решении максимально упрощается не только разработ-
ка программного обеспечения для программирования микросхем, но и обеспечива-
ется максимальная скорость записи и чтения ПЗУ. Обмен данными между буфером
и ПЗУ осуществляется с помощью команды микропроцессора MOV.
При запуске системы предполагается, что область памяти для адресации ПЗУ
начинается с сегментного адреса D000H. Однако в целях универсальности и обеспе-
начало:0000 573РФ2, 573РФ5 контрольная сумма:57Л0 F1-помоиь
коней: 07FF
0 1 2 3 4 5 6 7 8 9 А В С D Е F ASCII
0000 0D ОА 09 20 49 42 4D 20 49 53 20 41 20 54 52 41 ... IBM IS A TRA
0010 44 45 4D 41 52 4В 20 4F 46 20 49 4Е 54 45 52 4Е DEMARK OF INTERN
0020 41 54 49 4F 4Е 41 4С 20 42 55 53 49 4Е 45 53 53 ATIONAL BUSINESS
0030 20 4D 41 43 48 49 4Е 45 53 20 43 4F 52 50 2Е 20 MACHINES CORP.
0040 49 6Е 63 2Е 20 41 77 61 72 64 20 53 6F 66 74 77 Inc. Award Soft*
0050 61 72 65 20 49 6Е 63 2Е 20 41 77 61 72 64 20 53 are Inc. Award S
0060 6F 66 74 77 61 72 65 20 49 6Е 63 2Е 20 41 77 61 oftware Inc. Awa
0070 72 64 20 53 6F 66 74 77 61 72 65 20 49 6Е 63 2Е rd Software Inc.
0080 20 41 77 61 72 64 20 53 6F 66 74 77 61 72 65 20 Award Software
0090 49 6Е 63 2Е 20 41 77 61 72 64 20 53 6F 66 74 77 Inc. Award Softw
ООЛО 61 72 65 20 49 6Е 63 2Е 20 41 77 61 72 64 20 53 are Inc. Award S
ООВО 6F 66 74 77 61 72 65 20 49 6Е 63 2Е 20 41 77 61 oftware Inc. Awa
00С0 72 64 20 53 6F 66 74 77 61 72 65 20 49 6Е 63 2Е rd Software Inc.
00D0 20 41 77 61 72 64 20 53 6F 66 74 77 61 72 65 20 Award Software
00Е0 49 6Е 63 2Е 20 41 77 61 72 64 20 53 6F 66 74 77 Inc. Award Softw
OOFO 61 72 65 20 49 6Е 63 2Е 20 41 77 61 72 64 20 53 are Inc. Award S
0 1 2 3 4 5 6 7 8 9 А В С D Е F ASCII
Рис.4. Экран ПЭВМ при работе с редактором
44
В.М.Смотров, Д.П.Павловец
начало:0000 573РФ2, 573РФ5 1 Fl -помочь
конец: O7FF
0123456789ABCDEF ASCII
Тип микросхемы Иск. сост. Объем
573РФ1 FF 1 КЬ
573РФ2, 573РФ5 FF 2 КЬ
573РФ4А 573РФ6, 2764 FF 8 КЬ
27128 FF 16 КЬ
27256 FF 32 КЬ
27512 FF 64 КЬ
155РЕЗ 00 32 Ь
556PT4 F0 256 Ь
556PT5 FF 512 Ь
556PT7 00 2 КЬ
0123456789ABCDEF
ASCI I
Рис.5. Меню выбора микросхем
чения необходимой гибкости программного обеспечения предусмотрена возмож-
ность с помощью специальной команды изменять этот сегментный адрес.
Редактор поддерживает взаимно однозначное соответствие между относительными
адресами БР и физическими адресами ПЗУ (рис.З). Такое соответствие обеспечивает
наглядность представления информации и простоту в работе с программатором.
Запрос на выполнение той или иной функции производится нажатием соответст-
вующей функциональной клавиши на клавиатуре ПЭВМ. Имеется встроенная сис-
тема подсказок, которую в любой момент можно вызвать, нажав клавишу F1. Кро-
ме того, в отдельном окне редактора постоянно находится справочная информация,
отражающая текущие характеристики системы и той микросхемы, с которой ведет-
ся работа. На рис.4 показан экран монитора при работе с РПЗУ К575РФ5.
Модуль "Меню выбора микросхемы” позволяет настроить систему на конкрет-
ный тип микросхем. Этот модуль можно вызвать из редактора с помощью команды
Ctrk-Fl. При этом на экране появится меню, в котором перечислены все типы
ПЗУ, с которым можно работать (рис. 5). Выбор осуществляется с помощью кла-
виш управления курсором.
Запись в ПЗУ подготовленной в буфере редактора информации осуществляется
модулем "Программатор". Выбор параметров и алгоритма программирования про-
исходит автоматически согласно типу выбранной ранее микросхемы. Имеется так-
же возможность изменения значения некоторых параметров, установленных по
умолчанию. Например, можно уменьшить или увеличить максимальное число
импульсов записи в ПЗУ каждого байта или бита.
Для удобства работы с системой разработан файловый процессор, представляю-
щий собой диалоговую надстройку над ДОС типа Norton Commander. При необхо-
димости к услугам этого модуля можно обратиться прямо из редактора и в удобной,
наглядной форме с помощью клавиш управления курсором свободно перемещаться
по файловой системе и дискам, считывать информацию из файлов в буфер редактора и
сохранять ее в файле, удалять различные операции с поддиректориями и тщ.
Большие возможности для исследования и создания знакогенераторов предо-
ставляет модуль "Знакогенератор". С его помощью в графическом режиме можно
просмотреть и отредактировать изображения символов, хранящихся в ПЗУ. Размер
матрицы устанавливается динамически На рис. 6 представлено изображение сим-
вола "F", находящееся в области BIOS ПЭВМ IBM PC ХТ/АТ и полученное с по-
мощью этого модуля.
SSBM>WStiW Ч
□ Многие программисты часто сталкиваются с необходимостью создания
на экран/ рисунков, заставок и другого рода графической информации.
Обычно это отнимает много времени, особенно, если изображение доста-
точно сложно.
Я разработал программу GRAPH PR, которая, возможно, пригодится
тем, кто работает с языком TURBO-PASCAL. Внешне ее работа не-
сколько напоминает работу любого графического редактора (рисование
на экране с помощью курсора и функциональных клавиш квадратов, пря-
моугольников, эллипсов и окружностей, прямых и кривых линий, вывод
текста различными шрифтами TURBO-PASCAL). Особенность про-
граммы в том, что все сделанные вами построения автоматически пере-
водятся в операторы TURBO-PASCAL (SETCOLOR, LINE, PUTPIXEL,
BAR, ELLIPSE, SETTEXTMODE, О UTTEXTXT и m.n.) и no окончании
работы вы получите готовую к компиляции программу, которую можно
использовать саму по себе, а можно вставлять фрагменты из нее в дру-
гие программы. Управление программой осуществляется с помощью
удобной системы меню и командных клавиш, программа имеет подроб-
ный HELP.
С удовольствием обменяю эту программу на необходимую мне информа-
цию. Программа вместе с вспомогательными файлами занимает около
600 килобайт, архивированная — около 250 килобайт.
685020 г.Магадан пр.Карла Маркса д.43 кв. 19
Воронин Дмитрий Анатольевич
маммммжтммжмшммммжммшмммммжмтшмммммшмм
О Предлагаю переписку и сотрудничество всем кто занимается следующи-
ми вопросами на БКОО10-01 (БКОО 10): разработка развитого ПО для БК,
коллекционирование и обмен программами (архив > 5000 программ), рас-
ширение памяти и др. доработки (в т.ч. контроллер для НГМД).
196191, Ленинград, ул.Варшавская, д.31 кв.46
Сорокин Владислав Анатольевич.
□ Хочу переписываться и обмениваться программами для Радио 86-РК, а
также совместимыми с ним Микрошей и Спектром 001. Умею переделы-
вать программы "Микроши" для "Радио".
163061, Архангельск 61, ул.Внугейского, 28, кв. 104.
О Обменяюсь программами для ПЭВМ "Синклер С пек трум". Качество за-
писи высокое.
Обращаться письменно по адресу: 443009, г.Самара, до востребования,
Катайкину В.М.
□ "Киевский клуб "ATARI" меняет игры для п/к и программы ATARI 130
ХЕ и ATARI 65 ХЕ
Наш адрес: 252194, Киев-194, ул.3одчих 18 кв.29, Ткачуку Владику.
С Интересуюсь созданием программ для ПЭВМ ПК-01 "Львов". Желаю най-
ти друзей по увлечению. Готов обменяться с ними программами.
Мой адрес: 332313, г.Мелитополь, ул.4-я Продольная, д.17, кв.З
Кондакову Сергею Георгиевичу.
□ Интересует цветная графика Б КОО 10.01, динамические эффекты, бегу-
щая строка, спрайты, время в кадре, работа с дисководом, синхрониза-
ция с видеомагнитофоном, видеокамерой, обмен программ.
342343, Докучаевой Донецкой, Лихолетова 10/19, Степанову Л.И.
- ПРАВДА, НИЧЕГО КРОМЕ ПРАВДЫ, ПОЛНАЯ ПРАВДА.
ОЧЕПДТКтл^И
ОЧЕПАТКИ
С.Д Муканов (г.Ярославль)
В 8 номере ВТ (стр 49) программы HELP-драйвер для БК-0010 мною замечены несколько
ошибок в программе:
1) строку 430 нужно исправить так, чтобы она имела вид:
430 FOR 1% -0% ТО &0600 STEP 2%. так как в БК адресуются только четные биты.
2) Ошибка в строках DATA (480-550). Там признаком конца строки является символ ▼ а
проверка происходит по коду 169(АР2+1) — это код символа " А" Следует заменить все " V
" на " А ” После исправления программа работает прекрасно
М Т Лялин (Москва)
По помещенным в N 9/91 год программам (см.стр 31) выявлены опечатки
1 Питон
а) строка 3. цикл по Z FOR Z-ОТО 99
б) строка 7. часть FOR U-OTO X STEP 2 не влезает, поэтому перенос в начало 8 строки перед IF Yt^L
в) строка 8. условие IF Y - U; после :
г) строка 9 вставка IF A(U)-A(Y); снятие ; DRAWC B(Y), A(Y)
д) строка 10. в операторе /
е) строка 11 $ - KEY
ж) строка 30. IF A(U) > 0,
з) строка 31. IF A(U) > 6
ж) строка 33. IF ASCI $ — 57
к) строка 34. IF ASCI $ 49
2 Поймай точку (стр.33)
а) строка 80 IF S 0,1 - S
б) строка 100 IF К г^М;
Р. А.Сузи (г. Петрозаводск)
К сожалению, в публикацию (№ 9,1991, стр. 16-17) просочилось несколько опечаток и одна моя
неточность “.. программа выдает один кадр за секунду .", а не два, в чем я убедился, набрав ее.
Теперь о трех, на мой взгляд, самых нехороших опечатках
(страница; столбец; строка)
1 (16,1,8 черная сверху). Следует читать: "G100", напечатано ”С 100”
- вместо команды запуска оказалась совсем другая, правда, безобидная
2. (16,2,4 снизу) Следует читать LXID, FFB2H, - при трансляции была бы ошибка в этой строке
3° (17,2,7 снизу) Следует читать ”NOTCELL:EQU - при трансляции была бы ошибка.
Дм.Лаврик ( г. Жуковский)
На программу "Редактор спрайгов” Выйти из режимов: "Чтение файла с ленты", "Запись файла на ленту"
можно только выполнив их, хотя по замыслу автора должен быть выход по кдавише <Ввод>.Устранить эту
неточность можно поставив в строках 440 и 660 сравнение не raCHR$ (10). а на пустые кавычки” ".
А для того, чтобы выйти из этих режимов, если единожды уже давали имя можно 415 и 635
строками — обнуление переменной А $ (< А $ - " " >) ,PS Проверял программу на БК-0010.01.
В Зорин (г. Рига)
По поводу № 9, 1991, игра "Угадай число” При переносе кодов программы были допущены не-
которые ошибки Привожу первые строки исправленного текста.
00 10 20 30 40 50 60 70
0 ог 40 69 Г4 5С 11 0L 01
1 44 49 40 64 20 01 51 И
2 63 63 68 65 51 10 65 0L
3 50 0Е 23 50 02 62 53 15
4 40 ОС 35 4Е 66 51 69 52
После ввода программы в ПМК необходимо занести исходные данные:
в R1 8808888 В J 2204632 К V К {х} ВП 5
в R2 888888 В Т 665626 К V R {х} ВП 5
в R3 888808 В * 66770299 К V К {х} ВП I
с i НЕНИГМ гт
ИБО НЕДЕЕ1О*
ДОСТОЙНО BE • ОШИБД^яСВОЙСТВЕННОЧЕЛОВЕК^^овыпрЕдридет1,.
ИСТИНА ЕДИНА —
ЗАВДУ ЖДЕНИЕ МНОГООБРАЗНО. доСтОИНСП>*-
недостатки. ЯВЛЯЮТ" сколько голов столько УМОВ.
bR7 100
в R8 число в промежутке от О до 1, не включая их самих.
В. К. С мирное ( г Москва)
X
В статье А.В.Асеева и В В.Авсеева "Динамические изображения на БК-0010", опубликован-
ной в ВТ N 5 за 1991 г., мною выявлены ошибки.
Во-первых, в тексте статьи неправильно указано, что в операторе DATA по адресу 1040 содержатся
коды подпрограммы вывода изображения на экран. На самом деле эта подпрограмма таходится в опе-
раторе DATA по адресу 1072, а по адресу 1040 расположена подпрограмма стирания изображения.
Во-вторых, в строке 5 расположены функции CHR$, а не CHR%.
Д алее, все числа в операторах DATA должны быть восьмеричными, т.е. начинаться с символов &О.
В программе есть оригинальный способ использования оператора READ, но для его реализа-
ции в строку 11 после числа &О207 надо дописать восьмиричное число &О 177777.
Строка 450 должна выглядеть так:
450 IF Х$ THEN 500
В строке 550 число 64% должно быть без знака " — ".
В строке 860 вместо переменной S1 должно быть SI.
Есть и еще ряд не очень суще-
ственных опечаток, поэтому
прилагаю отдельную распе-
чатку исправленных строк:
Внеся поправки в указанные
строки прогоамма получается
работоспособной и очень на-
5 2CHRS (1487. ) ; CHRB (1587. )
CHRB (1407 ) ; CHRB ( 140Х ) ; CHRfi (1457.)
7 DATA 8<О12700,8<О0,8<О12701
2
Е
гч
х
глядной
А.Н.Лашков (г.Капустин Яр)
«<О0, 8<О 11502,&О12703,&D0,&D10004
Внимательные читатели бро-
шюры обнаружили еще две
ошибки, которые не вошли в
перечень, опубликованный в
№ 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 и т.д. Но стро-
ки номер 1 в программе нет
Всему этому можно дать сле-
дующее объяснение.
Например, строка 2870 исполь-
зуется при подсчете комбина-
ции две двойки. При подсчете
этой комбинации все ситуации,
когда Y-1 или Y-2, выявляются
до выполнения строки 2870, пе-
ременная Y не может быть рав-
на 1 или 2. Однако синтаксис
оператора ON требует указания
номеров строк. Поэтому и были
указаны номера, которых нет в
программе (номер 1) и которые
сразу бросаются в глаза. Ведь
перехода на эти строки все
равно не будет.
8<О10205, 8<О 11523,8<О5025, &О77403
«<062702 ,«<0100, «<077110,8<О207
9 DATA «<012700,8<О0,«<012701 ,«<00
«<011502,8<010003 , «<05022 , «<077302
8(062715,8<0100,8<011502,8<077107
«<0207
11 DATA 8<012700,8<О0,«<012701 ,«<00
8<011502,8<012703,8<О0,8<010004
«<010205,8<О112325,8<О77402,8<О62702
8<0100 , &077107 , «<0207,8<0177777
40 VI 7.-8<О30000
220
230
450
840
860
880
X7.=USR1 (8<О40000+64%* 157.)
PSET(1,1),4
IF Хй=”" THEN 500
IF А5С(ХЙ)=277. THEN MJ7.=647.
X7.=USR2 ( 8<O40000+S 17. (N7.) )
IF SIX (N7.X«<035000 GOTO 900
NP7.=NP7.-17.
птзЛА-УжеХОРОШ°!
и НЕБОЛЬШАЯ ПОЛЬЗА ОТ ЗЛА
ПРИ СОМНЕНИИ — ВОЗДЕРЖИВАЙСЯ.
2
*
ta
О
m
05
О
Е
m
m
05
х
E
о
ПЛАТОН — ДРУГ. НО ИСТИНА ДОРОЖЕ.
П 26 Персональная ЭВМ «Микроша». — М.: Знание, 1992.
— 48 с. — (Новое в жизни, науке, технике. Сер. «Вычис-
лительная техника и ее применение»; № 1).
ISBN 5-07-002407-8
90 к.
Предлагаем вниманию читателей статьи по персональной электрон-
ной вычислительной машине «МИКРОША» В дальнейшем редакция
предполагает открыть соответствующую рубрику по этой ПЭВМ
Материал рассчитан на широкий круг читателей.
2404000000
ББК 32.97
ТЕМА СЛЕДУЮЩЕГО НОМЕРА:
HAND HELD
(МК-85)
Научно-популярное издание
ПЕРСОНАЛЬНАЯ ЭВМ «МИКРОША»
Редактор Б М Васильев
Мл. редактор Н А. Васильева
Художник В.Н.Конюхов
Худож.редактор И. А. Емельянова
Техн.редактор Т.В.Луговская
Корректор В. И. Гуляева
ИБ№ 12140
Подписано к печати 26.12.91. Формат бумаги 70x100’/^ Бумага офсет-
ная. Печать офсетная № 1. Усл. печ. л. 3,90. Усл. кр.-отт. 8,45. Уч.-изд.
л. 3,60. Тираж 47 350 экз. Заказ 2722. Цена 90 коп. Издательство «Зна-
ние». 101835, ГСП, Москва, Центр, проезд Серова, д. 4. Индекс заказа
924701. Отпечатано с оригинал-макета издательства «Знание» на ордена
Трудового Красного Знамени Тверском полиграфическом комбинате
Министерства печати и массовой информации РСФСР. 170024, г. Тверь,
пр. Ленина, 5.
Цена 90коп.
Индекс 70195
Адрес подписчика.
Подписная
научно-
популярная
серия
ВЫЧИСЛИТЕЛЬНАЯ
ТЕХНИКА
И ЕЕ ПРИМЕНЕНИЕ
Для меня нс подлежит сомнению, что наше мышление протекает в основ-
ном минуя символы (слова) и к тому же бессознательно...
...Подлинной ценностью является, в сущности, только интуиция.
Альберт Эйнштейн
Требуй невозможного — получишь максимум.
Наполеон
Наш адрес:
101835,
Москва,
Центр,
проезд
Серова,4