Техника - молодёжи 1987-08, страница 58xjs расстояние от точки попадания гарпуна до кита (точнее, до его центральной точки); 7 — рабочий регистр при вычислении координат кита; 9 — время маневра 573 с; время полета гарпуна. Все эти регистры перед началом игры не заполняются, а вот в остальные нужно ввести соответствующие числа: 6 — счетчик ходов (перед началом игры Сх П6); 8 — скорость гарпуна в м/с (180 П8); А — регистр хранения псевдослучайного числа (перед началом игры сюда вводится любое число из интервала 0—1); В — сообщения «выстрел разрешен» и «попадание», а также косвенный переход на адрес 68 (10000068 К—ВП ПВ); С — косвенный переход на адрес 73, время маневра, предельная дистанция сближения (573 ПС); Д — косвенный переход на адрес 04 (4 ПД). Краткое описание работы программы: 00—01 — запись в регистр 9 времени судна перед началом игры и восстановление его после промаха; 02—25 — формирование с помощью генератора псевдослучайных чисел (05—10) координат кита, скорости его движения и направления; 27—28 — перевод скорости судна в м/с; 29—32 — переход на подпрограмму (68), вызов в стек скорости и направление движения кита, переход на подпрограмму (73); 33—35 — контроль разрешения на выстрел; 36—38 — вызов в регистр X скорости гарпуна, переход на подпрограмму (68); 39—44 — проверка «попал — промазал»; 45—47 — отмена разрешения на выстрел при промахе; 48—49 — сообщение «подошел слишком близко» или «промах»; 50 — переход на начало программы; Система координат, используемая в игре «На горизонте кит»: а — направление движения кита (угол в данном случае отрицательный ); р — направление движения судна (положительный угол); у — угол наведения гарпунной пушки (положительный). Заштрихо вана зона на теле кита, куда надо попасть 51—55 — проверка, не подошло ли судно слишком близко; 56—58 — проверка права на выстрел; 59—62 — запись в регистр 9 времени, которое необходимо гарпуну для достижения цели; 63—66 — формирование сигнала «—Е0000068» или «Е0000068»; 67 — переход на адрес 04 после разрешения на выстрел; 68—96 — подпрограмма вычисления координат кита относительно судна или относительно точки по падания гарпуна, а также соответствующих расстояний. Надо отметить, что все углы задаются относительно положительного направления оси ОХ, против часовой стрелки. Направление движения кита задается в пределах от —90° до 90°, направление движения судна и угол наводки гарпунной пушки — от —180° до 180°. Переключатель Р—Г устанавливается в положение Г. Борис ЛАБУТИН, г. Пермь НОВОСТИ ЕГГОГОАОГИИ В февральском выпуске КЭИ за этот год в письме Н. Шмидта из Ленинграда было высказано предположение, что команду с кодо'м «5—пусто» на БЗ—34, МК-54, МК-61 можно получить только при помощи «сумасшествия». Мысль очень правильная, можно сказать, пророческая. Код «5—пусто», а также все остальные коды «символ—пусто» получаются однотипно, с помощью пустышки, методом «на краю пропасти». Лучше всего начинать со включения ПМК — иначе придется очищать всю ПРГ-память; легче выключить-включить. Приступим: 0000000 Ч-ВП ПА /—/ ПА Сх КИПА ИПА /—/ ВП /—/ 6 ПА Сх (сформировано и записано в регистр А исходное число «9—пусто») . Теперь вводим в ПМК упрощенную программу синтеза видеосообщений: 00.ХУ 01.ХУ 02.ВП ОЗ.С/П. Формируем символ, который нужен в начале кода (допустим, 5), и заменяем им девятку: В/О ИПА С/П ПА Сх. Скомандуем теперь КБПА. Начинается самое интересное: Ч- ВП FnPT (ждите ответа, примерно 10 с ожидания) О FABT Сх. Эту операцию пустышкой я и назвал «на краю пропасти». Теперь результаты. При просмотре памяти (FnPT ШГ вправо ШГ вправо и т. д.) обнаруживаем код «5—пусто» на адресе 68. Функционирует эта команда (впрочем, и другие с кодами «символ—пусто») точно так же, как и на МК-52. При помощи указанной процедуры коды «1—пусто», «2—пусто», «3—пусто», «4—пусто», «6—пусто» формируются на адресе 75, «9—пусто», «минус—пусто», «С—пусто», «Г— пусто», «Е—пусто» — на адресе 12, «7—пусто» — на 89, «8—пусто» — на 96 и «L—пусто» — на адресе 34. Если в указанных местах символов не будет, пошарьте по сусекам памяти — код всегда есть, но пустышка любит пошутить. Сергей Банников, Москва ISO-ISO 90' У / (Г X wmmjwwibtoc uji |