Техника - молодёжи 1987-02, страница 49

Техника - молодёжи 1987-02, страница 49

чение этого свойства показало, что сообщение из 1—5 знаков (первый — буква Е или Г) начинает после команды «ВП-точ-ка — цифра» выполнение программы с адреса 50, а из 6—8 знаков после той же команды записывает по адресу 50 или 51 (в зависимости от цифры после «ВП — точка») код «пусто — пусто». Если использовать команды «ВП — число — точка — число», то в программе по адресам 50—60 будут записываться команды типа «пусто — цифра». Все эти команды выполняют функции «пустой». Об их использовании рассказывалось в «ТМ» № 5 за 1986 год».

С. Ишутин из Свердловска рекомендует для получения «пустых» команд на адресах 50—60 набрать любое число от 10 до 10" и отдать команду ВП 99 ВП /—/ точка /—/. Аналогичные результаты по «пустым» командам получили С. Банников из Москвы, О. Сергеев из Ленинграда и другие. «Кроме программных кодов «пусто — цифра», можно получить код «пусто — пусто»,— пишет П. Марутенков из Оболенска Московской области.— Например, такая последовательность (начинать надо сразу после включения калькулятора): КППЕ FABT КППД КППД FABT КППС КППС FABT КППВ КППВ FABT КППА КППА — слева «пусто — пусто», справа адрес 39. ШГ вправо ШГ вправо ШГ вправо — «пусто — А» на своем законном месте. Есть другие способы получения кода «пусто — пусто», размещаться он может и не на адресе 38. Вопрос только с использованием этого кода».

Наконец, приведем алгоритм С. Пухова (Москва), позволяющий получать тройки команд «пусто — пусто» на произвольных адресах и даже сплошь заполнять ими программную память. Для этого надо сначала по методу Д. Кайкова получить шифр LE (L занимает «законное» место минуса, см. № 10 за 1986 г.), записать его, скажем, в регистр С и прочистить стек. Теперь отдается одна из двух последовательностей команд: ИПС ВП (целое число от 1 до 99) точка (целое от 0 до 9) или ИПС ВП /—/ (целое от 0 до 99) точка /—/. Программа запустится на счет. Остановив ее любой клавишей, перейдя в режим ПРГ и нажимая ШГ вправо, можно посмотреть, что вписалось в память.

Номер готовился к печати, когда

А. Бакши (Севастополь) прислал совсем простой способ: «Нусть надо вписать «пусто-пусто» по адресам: А, А+ 2, А + 4, А+ 6, А+8 (А — любой адрес). Тогда В = А+11. Сделаем (а к: В/0 FnPr ШГ влево ШГ влево ПП (число В) FABT. Теперь последовательность В/0 ШГ влево ШГ влево ПП повторим 5 раз и перейдем в режим ПРГ. Код «пусто-пусто» вписан в программу».

А что с теми «несуществующими» командами, которые не содержат «пусто»? «Пишет вам ученик 8-го класса из Москвы Сытов Николай. Недавно я купил новый программируемый микрокалькулятор МК-61. Читая в КЭИ о командах буквенных переходов, я решил посмотреть, а что будет, если записать в программную память микрокалькулятора команду БП и затем, как адрес перехода, ввести шифр, не имеющий собственной команды. Потом, перейдя в режим АВТ, нажать ШГ влево и командой ПП узнать, какую операцию произведет данный шифр. Я нашел семь подходящих сочетаний: 2L, 2С, 2Г, 2Е, ЗС, ЗГ, ЗЕ. При выполнении команд с кодами 2L, 2С, 2Г, 2Е и ЗС я получал ЕГГОГ. При выполнении шифра ЗЕ у меня получалось интересное перемещение в стеке: число из регистра У дублировалось в регистре X, вытесняя его содержимое в регистр X,. А самые странные превращения происходят при выполнении команды с кодом ЗГ». Похожие результаты по команде ЗЕ получил и И. Шмидт из Ленинграда и сформировал еще одну новую команду, с кодом «5-пусто». Вот что он пишет: «На микрокалькуляторе МК-52 я получал эту команду при помощи ППЗУ; на остальных калькуляторах эту команду можно получить, я думаю, только при помощи «сумасшествия». На нашем МК-52 эта команда делает Тьму во время исполнения программы — можно придумать игру со «смертельным исходом», используя ее в аварийной ситуации вместо С/П. Как действует она на других калькуляторах, я не знаю, но думаю, что на МК-61 она должна работать так же».

Но наиболее широкие исследования в области «несуществующих» команд проделал семиклассник из Пензы А. Анош-кин. Он правильно оценил значение команды ЗЕ, разобрался с кодом ЗГ (он «дублирует команду перевода градусных

величин»), а главное — дал исчерпывающий анализ команд^, коды которых заканчиваются на «пусто». Сразу оговоримся — все результаты получены на МК-52. «Если записать в ППЗУ сначала одну программу, затем, не стирая ее, записать туда же другую, коды программ логически сложатся и полученная информация запишется в ППЗУ. Таким образом, в ППЗУ можно записать коды, которые обычным способом получить невозможно, например содержащие «пусто». Как уже писалось в КЭИ, команды, начинающиеся на «пусто»,— это пустые команды. «1-пусто», «2-пу-сто», «3-пусто» и «пусто — пусто» также являются нейтральными. При выполнении операции с кодом «5-пусто» индикатор автоматически выключается, как при появлении «незамаскированной» Тьмы в регистре X. У владельцев МК-52 появилась возможность выключать калькулятор одной командой. Остальные коды связаны с тем, что регистров у наших калькуляторов даже не 15, о чем рассказывалось на страницах КЭИ, а 161 Есть еще один регистр — регистр «пусто». Если на ПМК Б3-34, МК-54, МК-56, МК-61 записать команды обращения к нему невозможно, то на МК-52 это вполне осуществимо. Коды «4-пусто» и «6-пусто» выполняют команды прямой записи и извлечения по этому регистру, коды «L-пусто» и «Г-пусто» — косвенной записи и косвенного извлечения. И так далее. Но содержимое регистра «пусто» всегда совпадает с содержимым регистра 01 При косвенном обращении к нему -его содержимое модифицируется — уменьшается на единичку».

Как можно прокомментировать это сообщение? Жаль, конечно, что при обращении к новому регистру происходит модификация его содержимого. В противном случае перед владельцами МК-52 (и, возможно, МК-61) открылась бы перспектива полноценной замены фрагментов программ для Б3-34, в которых используется связь регистров 0 и Е. Но отрицательный результат — тоже результат. Отрадно, что «белых пятен» в наших ПМК остается все меньше и меньше. А хогда их совсем не останется, промышленность, надо полагать, придумает для нас что-нибудь новое.

Михаил ПУХОВ

ПАМЯТИ ТОВАРИЩА

ВОЛКОВ СЕРГЕЙ АЛЕКСЕЕВИЧ 11947—1986)

В расцвете творческих сил, на 39-м ■ году жизни, трагически погиб научный редактор журнала Сергей Алексеевич Волков. В 1971 году он закончил Московский физико-технический институт, затем — аспирантуру МФТИ. Преподавал в Московском энергетическом институте и одновременно возглавлял молодежный агиттеатр МЭИ, удостоенный в 1981 году премии Ленинского комсомола.

Сочетание основательной физико-

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

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

47