<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE-86%D0%A0%D0%9A%2F%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE_03-91%2F%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%91%D0%95%D0%99%D0%A1%D0%98%D0%9A-%D0%9F%D0%9E%D0%98%D0%A1%D0%9A</id>
	<title>Радио-86РК/Радио 03-91/Программа БЕЙСИК-ПОИСК - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE-86%D0%A0%D0%9A%2F%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE_03-91%2F%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%91%D0%95%D0%99%D0%A1%D0%98%D0%9A-%D0%9F%D0%9E%D0%98%D0%A1%D0%9A"/>
	<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE-86%D0%A0%D0%9A/%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE_03-91/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%91%D0%95%D0%99%D0%A1%D0%98%D0%9A-%D0%9F%D0%9E%D0%98%D0%A1%D0%9A&amp;action=history"/>
	<updated>2026-05-04T02:52:35Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://emuverse.ru/w/index.php?title=%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE-86%D0%A0%D0%9A/%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE_03-91/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%91%D0%95%D0%99%D0%A1%D0%98%D0%9A-%D0%9F%D0%9E%D0%98%D0%A1%D0%9A&amp;diff=1206&amp;oldid=prev</id>
		<title>Panther: http://retro.h1.ru/RK86/Basic/BasPoisk.php</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE-86%D0%A0%D0%9A/%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE_03-91/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%91%D0%95%D0%99%D0%A1%D0%98%D0%9A-%D0%9F%D0%9E%D0%98%D0%A1%D0%9A&amp;diff=1206&amp;oldid=prev"/>
		<updated>2008-12-08T10:36:55Z</updated>

		<summary type="html">&lt;p&gt;http://retro.h1.ru/RK86/Basic/BasPoisk.php&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ДИ|Автор=Ю. СОЛНЦЕВ| Источник= http://retro.h1.ru/RK86/Basic/BasPoisk.php}}&lt;br /&gt;
&lt;br /&gt;
Не так уж редко в практике встречается ситуация, когда после&lt;br /&gt;
долгого и кропотливого набора программы она «отказывается» работать. На поиск&lt;br /&gt;
причин иногда уходит не меньше времени, чем на набор… Программа «Бейсик —&lt;br /&gt;
Поиск» предназначена для тех, кто работает с языком Бейсик и сталкивается с&lt;br /&gt;
описанной ситуацией.&lt;br /&gt;
&lt;br /&gt;
Толчком к ее созданию послужил общеизвестный факт: среди любителей&lt;br /&gt;
имеют хождение самые разнообразные версии интерпретаторов этого языка, в том&lt;br /&gt;
числе и несовместимые друг с другом версии одного и того же интерпретатора.&lt;br /&gt;
В распоряжении у автора имеется, по крайней мере, четыре версии интерпретатора&lt;br /&gt;
«Бейсик МИКРОН», не имеющие никакого отношения ни к версии, опубликованной в&lt;br /&gt;
журнале «Радио», ни к ее авторам. А сколько их еще пущено неизвестными «доброжелателями»&lt;br /&gt;
гулять по стране? (Ведь авторские права на программные продукты практически&lt;br /&gt;
никак не защищены…). Часто программы не работают на «чужой» версии интерпретатора,&lt;br /&gt;
даже если он корректен. Известны, например, варианты МИКРОНа, в одной из которых&lt;br /&gt;
длительность паузы задается в секундах, а в другой — в миллисекундах, по разному&lt;br /&gt;
задается высота тона звукового сигнала и т. д. Чтобы заставить программу работать,&lt;br /&gt;
необходимо в ее тексте отыскать «критичные» строчки и внести исправления. Аналогичная&lt;br /&gt;
задача возникает и при адаптации программы, переносе с одной машины на другую,&lt;br /&gt;
исправлении текстовых сообщений, когда необходимо редактирование текста программы,&lt;br /&gt;
а визуальный поиск нужного фрагмента затруднен. Во всех этих случаях автор пользуется&lt;br /&gt;
написанной несколько лет назад программой «Бейсик — Поиск».&lt;br /&gt;
&lt;br /&gt;
Что же умеет эта программа? Она предназначена для поиска в тексте&lt;br /&gt;
программы фрагментов текста (до 32 символов длиной) и ключевых слов Бейсика. Номера строк, в которых содержится искомый фрагмент или ключевое слово, выводятся&lt;br /&gt;
на экран в десятиричном виде. Остается только записать их и затем отредактировать&lt;br /&gt;
нужные строки обычным способом. Таким образом, наиболее утомительная и длительная&lt;br /&gt;
процедура визуального поиска автоматизируется. Нелишне упомянуть, что ошибки&lt;br /&gt;
и пропуски при таком поиске исключаются, тогда как при визуальном требуется&lt;br /&gt;
не один раз «пройтись» по тексту.&lt;br /&gt;
&lt;br /&gt;
Программа «Бейсик — Поиск» написана на АССЕМБЛЕРе и располагается&lt;br /&gt;
в области ОЗУ начиная с адреса 6000Н. Собственно программа заканчивается в ячейке&lt;br /&gt;
с адресом 625ЕН, а с 625FH по 6285Н расположен текстовый буфер и служебные ячейки.&lt;br /&gt;
Это следует учитывать при размещении программы ПЗУ.&lt;br /&gt;
&lt;br /&gt;
Коды программы «Бейсик — Поиск» приведены&lt;br /&gt;
в [[/Таблица 1|таблице 1]], а поблочные контрольные суммы — в табл.2. Программа ориентирована&lt;br /&gt;
на компьютер «РАДИО-86РК» с объемом ОЗУ 32Кб и интерпретатор «Бейсик МИКРОН».&lt;br /&gt;
Состоит она из нескольких блоков. В начале производятся очистка ОЗУ и ввод исходной&lt;br /&gt;
информации. Затем, если осуществляется поиск текстового фрагмента, идет побайтное&lt;br /&gt;
сравнение текста программы (начиная с адреса 2200Н) с содержимым текстового&lt;br /&gt;
буфера. При их полном совпадении на экран выводится номер строки, содержащий&lt;br /&gt;
искомый фрагмент текста, и поиск продолжается до конца текста программы. Очевидно,&lt;br /&gt;
что чем длиннее искомый фрагмент, тем дольше идет сравнение и тем продолжительнее&lt;br /&gt;
поиск, поэтому для ускорения процесса рекомендуется ограничивать размер фрагмента&lt;br /&gt;
минимально необходимой величиной, не добиваясь, например, законченности слова&lt;br /&gt;
или фразы.&lt;br /&gt;
&lt;br /&gt;
 Таблица. 2&lt;br /&gt;
 6000-60FF 4C3E&lt;br /&gt;
 6100-61FF 08BE&lt;br /&gt;
 6200-6285 EBC0&lt;br /&gt;
 6000-6285 8FBC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Поиск ключевых слов интерпретатора Бейсик проходит&lt;br /&gt;
несколько сложнее. Это связано с тем, что в памяти компьютера ключевые слова&lt;br /&gt;
хранятся в закодированном виде. Поэтому прежде всего нужно определить код&lt;br /&gt;
ключевого слова, а затем уже отыскать этот код в тексте программы. Таблица&lt;br /&gt;
ключевых слов расположена начиная с адреса 609ЕН по адрес 61В1Н. Для сокращения&lt;br /&gt;
объема таблицы каждое ключевое слово представлено в ней тремя символами. При&lt;br /&gt;
вводе слова для поиска можно набрать его полностью, а можно ограничиться первыми&lt;br /&gt;
тремя буквами (если слово содержит больше трех букв). Исключением является&lt;br /&gt;
ключевое слово INP, у которого первые три буквы такие же, как и у ключевого&lt;br /&gt;
слова INPUT. Конечно, ключевое слово INP (чтение из порта) можно было бы вообще&lt;br /&gt;
исключить, так как в интерпретаторах Бейсика для «Радио-86РК» оно не используется&lt;br /&gt;
однако для универсальности программы «Бейсик — Поиск» оно сохранено в таблице&lt;br /&gt;
и может быть найдено в тексте программы. Необходимо только помнить, что при&lt;br /&gt;
поиске этого слова нужно вводить только первые две буквы, то есть вместо INP&lt;br /&gt;
нужно набрать IN. Остальные ключевые слова набираются обычным способом.&lt;br /&gt;
&lt;br /&gt;
У читателя может возникнуть необходимость расположить программу&lt;br /&gt;
«Бейсик — Поиск» в другой области ОЗУ. Удобнее всего это сделать в соответствии&lt;br /&gt;
с рекомендациями по перемещению программ в машинных кодах Процедура перемещения&lt;br /&gt;
была подробно описана ранее, а требующаяся для этого таблица коррекции ВITMAP&lt;br /&gt;
приведена в табл. 3. Она занимает область ОЗУ с адреса 300Н по адрес 351Н, контрольная&lt;br /&gt;
сумма самой таблицы BITMAP=7А73Н.&lt;br /&gt;
&lt;br /&gt;
 Таблица 3.&lt;br /&gt;
 0300 20 80 48 00 42 00 10 80 80 01 21 04 II 10 84 0C&lt;br /&gt;
 0310 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0С&lt;br /&gt;
 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0С&lt;br /&gt;
 0330 00 00 00 00 00 00 08 04 90 44 21 08 22 10 44 9C&lt;br /&gt;
 0340 91 12 01 20 20 82 II 00 40 08 10 00 00 00 00 0С&lt;br /&gt;
 0350 00 00 &lt;br /&gt;
&lt;br /&gt;
Программу «Бейсик — Поиск» можно использовать и для работы с&lt;br /&gt;
другими интерпретаторами Бейсик, однако, если кодировка ключевых слов не совпадает&lt;br /&gt;
с, то может понадобиться корректировка таблицы соответствия. В разных версиях&lt;br /&gt;
интерпретаторов Бейсик могут быть разные адреса начала текста программы (в «МИКРОНе»&lt;br /&gt;
это 2200Н), при необходимости новое значение следует записать в ячейки 61С5Н&lt;br /&gt;
и 61С6Н, при этом в первую ячейку записывается значение младшего байта, увеличенное&lt;br /&gt;
на единицу, а во вторую — значение старшего байта адреса. Но в любом случае&lt;br /&gt;
маркировка конца строки, номера строки и конца текста должна быть такой же,&lt;br /&gt;
как и в Бейсик «МИКРОН».&lt;br /&gt;
&lt;br /&gt;
;Как работать с программой «Бейсик — Поиск»?&lt;br /&gt;
&lt;br /&gt;
Прежде всего нужно загрузить интерпретатор Бейсик «МИКРОН» и&lt;br /&gt;
анализируемую программу. Затем загружают и запускают директивой G6000 программу&lt;br /&gt;
«Бейсик — Поиск». На экран будет выведено приглашение ввести слово для поиска:&lt;br /&gt;
&lt;br /&gt;
 SEARCH&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь можно набрать фрагмент текста или ключевое слово, например:&lt;br /&gt;
&lt;br /&gt;
 SEARCH&amp;gt; СЛЕДУЮЩИЙ ХОД или: SEARCH&amp;gt; PAUSE &lt;br /&gt;
&lt;br /&gt;
При наборе фрагмента текста он не обязательно должен быть законченным&lt;br /&gt;
или осмысленным, может быть и такой:&lt;br /&gt;
&lt;br /&gt;
 SEARCH&amp;gt; С ЮЩИЙ Х Д АШ &lt;br /&gt;
&lt;br /&gt;
На этом этапе пока неважно, что будем искать — текст или ключевое&lt;br /&gt;
слово, главное, набрать его без ошибок. Если же ошибка допущена, нажмите клавишу&lt;br /&gt;
ЗАБОЙ; ввод прекратится, и на экране вновь появится приглашение:&lt;br /&gt;
&lt;br /&gt;
 SEARCH&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По окончании набора нажмите клавишу «ВК» (если набирался длинный&lt;br /&gt;
текстовый фрагмент и превышен объем буфера (32 символа), программа перейдет&lt;br /&gt;
в режим поиска автоматически). Фрагмент для поиска окажется «закрыт» угловыми&lt;br /&gt;
скобками:&lt;br /&gt;
&lt;br /&gt;
 SEARCH&amp;gt; ^PAUSE^&lt;br /&gt;
&lt;br /&gt;
Далее на экран выводится запрос:&lt;br /&gt;
&lt;br /&gt;
 TEXT (Y/N)? &lt;br /&gt;
&lt;br /&gt;
При поиске текстового фрагмента необходимо ответить Y, а при&lt;br /&gt;
поиске ключевого слова — N.&lt;br /&gt;
&lt;br /&gt;
Например, если после набора слова PRINT на запрос TEXT (Y/N)?&lt;br /&gt;
ответить Y, то произойдет поиск слова PRINT среди сообщений анализируемой программы,&lt;br /&gt;
взятых в кавычки и хранящихся в ОЗУ в виде кодов ASCII. Если же ответить N,&lt;br /&gt;
то произойдет поиск оператора PRINT.&lt;br /&gt;
&lt;br /&gt;
Как только в тексте программы встретится искомое ключевое слово&lt;br /&gt;
или текст, на экран будет выведен номер строки и так далее до конца текста.&lt;br /&gt;
По окончании поиска (независимо, успешного или нет) программа вернется в исходное&lt;br /&gt;
состояние и на экране вновь появится сообщение:&lt;br /&gt;
&lt;br /&gt;
 SEARCH&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поиск фрагментов текста или ключевых слов можно продолжить или,&lt;br /&gt;
нажав Е4, выйти в МОНИТОР.&lt;br /&gt;
&lt;br /&gt;
Номера строк нужно записать вручную или, если есть такая возможность,&lt;br /&gt;
распечатать на принтере (режим CTPL P). Далее, запустив интерпретатор Бейсик,&lt;br /&gt;
проводят редактирование обычным способом.&lt;br /&gt;
&lt;br /&gt;
Ю. СОЛНЦЕВ, г. Москва&lt;br /&gt;
&lt;br /&gt;
[[Категория:Радио-86РК/Публикации|59]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
</feed>