Text
                    ВЫЧИСЛИТЕЛЬНАЯ
ТЕХНИКА

И ЕЕ ПРИМЕНЕНИЕ

Персональная ЭВМ
«Микроша»

Новое
в жизни,
науке,
технике

Подписная
научно-
популярная
серия

Издается
ежемесячно
С 1988 г.

Издательство Знание

1992

1



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