<?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%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0%2F%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_3</id>
	<title>Радио-86РК/Радио 03-91/Сортировка/Таблица 3 - История изменений</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%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0%2F%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_3"/>
	<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%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0/%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_3&amp;action=history"/>
	<updated>2026-05-03T22:05:11Z</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%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0/%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_3&amp;diff=1210&amp;oldid=prev</id>
		<title>Panther: http://retro.h1.ru/RK86/Programm/SortTbl3.txt</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%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0/%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_3&amp;diff=1210&amp;oldid=prev"/>
		<updated>2008-12-08T11:09:07Z</updated>

		<summary type="html">&lt;p&gt;http://retro.h1.ru/RK86/Programm/SortTbl3.txt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ДИ|Автор=M. ОВЕЧКИН| Источник= http://retro.h1.ru/RK86/Programm/SortTbl3.txt}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
				Таблица 3&lt;br /&gt;
;СОРТИРОВКА СПИСКА НА РУССКОМ ЯЗЫКЕ&lt;br /&gt;
; (ДОПУСТИМЫ ЦИФРОВЫЕ ДАННЫЕ).&lt;br /&gt;
;ПРЕДПОЛАГАЕТСЯ,ЧТО СЧЕТЧИК PSR&lt;br /&gt;
;ХРАНИТ ЧИСЛО 	СИМВОЛОВ СТРОКИ;&lt;br /&gt;
;СТРОКИ РАСШИРЕНЫ;&lt;br /&gt;
;В BUF3 НАХОДИТСЯ АДРЕС КОНЦА СПИСКА.&lt;br /&gt;
;СРАВНЕНИЕ ИДЕТ 	ОТ НАЧАЛА СТРОКИ.&lt;br /&gt;
	JMP 	NEWO	; ПЕРЕЙТИ К СОРТИРОВКЕ&lt;br /&gt;
WYH: 	POP 	D	;&lt;br /&gt;
	LDA 	FL	; БЫЛ ЛИ ОБМЕН?&lt;br /&gt;
	ORA 	А	;&lt;br /&gt;
	JZ 	0F86CH	;&lt;br /&gt;
	XRA 	А	; БЫЛ,СБРОСИТЬ ПРИЗНАК&lt;br /&gt;
	STA 	FL	; ОБМЕНА.&lt;br /&gt;
;ОЧЕРЕДНОЙ ПРОСМОТР СПИСКА&lt;br /&gt;
NEWO: 	LHLD 	BUF	; ЗАПОМНИТЬ ИСХОДНЫЙ&lt;br /&gt;
	SHLD 	BUF1	; АДРЕС ТЕКСТОВОГО БУФЕРА.&lt;br /&gt;
; ПРОСМОТР СТРОК&lt;br /&gt;
NEW1: 	LHLD 	BUF1	; ВСТАТЬ НА НАЧАЛО&lt;br /&gt;
	XCHG		; 	ТЕКУЩЕЙ СТРОКИ.&lt;br /&gt;
	LHLD 	BUF1	; ВЫЧИСЛИТЬ АДРЕС&lt;br /&gt;
	LDA 	PSR	; НАЧАЛА&lt;br /&gt;
	INR 	А	; СЛЕДУЮЩЕЙ&lt;br /&gt;
	CALL 	SUM	; СТРОКИ.&lt;br /&gt;
	SHLD 	BUF2	; СОХРАНИТЬ.&lt;br /&gt;
	PUSH 	D	; ПРОВЕРИТЬ ВЫХОД&lt;br /&gt;
	CALL 	STR2	; ЗА ПРЕДЕЛЫ СПИСКА&lt;br /&gt;
	JNC 	WYH	; ЕСЛИ KOHEЦ,TO ПРОВЕРИТЬ&lt;br /&gt;
	POP 	D	; НАЛИЧИЕ ОБМЕНА.&lt;br /&gt;
R0: 	LDAX 	D	; СИМВОЛ ТЕКУЩЕЙ СТРОКИ-&lt;br /&gt;
	СРI 	60Н	; БУКВА РУССКОГО АЛФАВИТА?&lt;br /&gt;
	JC 	N1	; ЕСЛИ &amp;quot;ДА&amp;quot;,ТО&lt;br /&gt;
R1: 	MOV 	А,М	; СИМВОЛ СЛЕДУЮЩЕЙ&lt;br /&gt;
	СРI 	60Н	; СТРОКИ- БУКВА РУССКОГО&lt;br /&gt;
	JC 	N1	; АЛФАВИТА?&lt;br /&gt;
R2: 	PUSH 	D	; ДА,ПЕРЕКОДИРОВАТЬ&lt;br /&gt;
	PUSH 	Н	; СИМВОЛЫ&lt;br /&gt;
	LDAX 	D	; ДЛЯ&lt;br /&gt;
	CALL 	PER	; СОРТИРОВКИ&lt;br /&gt;
	XCHG		;&lt;br /&gt;
	POP 	Н	;&lt;br /&gt;
	PUSH 	Н	;&lt;br /&gt;
	MOV 	А,М	;&lt;br /&gt;
	CALL 	PER	;&lt;br /&gt;
	LDAX 	D	; НОВЫЙ КОД СИМВОЛА&lt;br /&gt;
	SUB 	М	; ТЕКУЩЕЙ СТРОКИ&lt;br /&gt;
	POP 	Н	; МЕНЬШЕ НОВОГО&lt;br /&gt;
	POP 	D	; КОДА СИМВОЛА&lt;br /&gt;
	JMP 	N2	; ПОСЛЕДУЮЩЕЙ?&lt;br /&gt;
N1: 	LDAX 	D	;&lt;br /&gt;
	SUB 	М	; РАВЕН,ВЗЯТЬ СЛЕДУЮЩИЕ&lt;br /&gt;
M2: 	JZ 	PUZZ	; позиции СТРОК.&lt;br /&gt;
	JM 	CORR	; МЕНЬШЕ :ОБМЕН НЕ НУЖЕН,&lt;br /&gt;
;ОБМЕН ПО РЕЗУЛЬТАТУ СРАВНЕНИЯ ПЕРВЫХ ПОЗИЦИЙ&lt;br /&gt;
PUZ1: 	MVI 	А,0FFН	;ИНАЧЕ УСТАНОВИТЬ ПРИЗНАК&lt;br /&gt;
	STA 	FL	; ОБМЕНА&lt;br /&gt;
	LDA 	PSR	;&lt;br /&gt;
	MOV 	С,А	; И&lt;br /&gt;
	LHLD    BUF1	;&lt;br /&gt;
	XCHG		; ПОМЕНЯТЬ СТРОКИ &lt;br /&gt;
	LHLD    BUF2	; МЕСТАМИ. &lt;br /&gt;
PO:     MOV     8, M	; &lt;br /&gt;
	LDAX    D	; &lt;br /&gt;
	MOV     M,A	; &lt;br /&gt;
	MOV     A,B	; &lt;br /&gt;
	STAX    D	; &lt;br /&gt;
	INX     D	; &lt;br /&gt;
	INX     H	; &lt;br /&gt;
	DCR     C	; &lt;br /&gt;
	JNZ     PO	; &lt;br /&gt;
	JMP     CORR	;&lt;br /&gt;
; ПРОДОЛЖЕНИЕ СРАВНЕНИЯ ОСТАЛЬНЫХ ПОЗИЦИЙ &lt;br /&gt;
PUZ2:   INX     H	;    ПОДГОТОВИТЬ СЛЕДУМИЕ&lt;br /&gt;
	INX     D	;    ПОЗИЦИИ СТРОК. &lt;br /&gt;
	LDAX    D	;&lt;br /&gt;
	СРI     0DН	; ЕСЛИ КОНЕЦ СТРОКИ,ТО &lt;br /&gt;
	JNZ     RO;&lt;br /&gt;
CORR:   LHLD    BUF2	; ПОСЛЕДУЮЩУЮ СТРОКУ &lt;br /&gt;
	SHLD    BUF1	; СДЕЛАТЬ ТЕКУЩЕЙ. &lt;br /&gt;
	JMP     NEW1	; СОРТИРОВАТЬ.&lt;br /&gt;
;ПРЕОБРАЗ0ВАНИЕ КОДА СИМВОЛА ДЛЯ СРАВНЕНИЯ &lt;br /&gt;
PER:    SUI     60Н	; ВЗЯТЬ&lt;br /&gt;
	LXI     Н,ТАВ1	;НОВЫЙ КОД &lt;br /&gt;
SUM:    MVI     В,0	; СИМВОЛА.&lt;br /&gt;
	MOV     С,А	; &lt;br /&gt;
	DAD     В	; &lt;br /&gt;
	RET		;&lt;br /&gt;
;ПРОВЕРКА КОНЦА СПИСКА &lt;br /&gt;
STR2:   LHLD    BUF3	; АДРЕС СЛЕДУЮВЕй &lt;br /&gt;
	DCX     H	;    СТРОКИ СПИСКА &lt;br /&gt;
	XCHG		;         СРАВНИТЬ &lt;br /&gt;
	LHLD    BUF2	; С АДРЕСОМ ПОСЛЕДНЕЙ &lt;br /&gt;
	MOV     А,Н	; &amp;quot;00Н&amp;quot; СТРОКИ &lt;br /&gt;
	СМР     D	; &lt;br /&gt;
	RNZ		;&lt;br /&gt;
	MOV     A,L	; &lt;br /&gt;
	СМР     Е	; &lt;br /&gt;
	RET		;&lt;br /&gt;
;БУКВЫ РУССКОГО АЛФАВИТА,УПОРЯДОЧЕННЫЕ &lt;br /&gt;
;ПО ОТНОШЕНИЮ К КОДУ ASCII &lt;br /&gt;
TABL:   DB 1DH,00H,01H,16H	; Ю,А,Б,Ц &lt;br /&gt;
	DB 04Н,05Н,14Н,0ЗН	; Д,Е,ф,Г &lt;br /&gt;
	DB 15Н,08Н,09Н,0АН	; X,И,Й,К &lt;br /&gt;
	DB 0ВН,0СН,0DН,0ЕН	; Л,М,Н,О &lt;br /&gt;
	DВ 0FH,1EH,10H,11H	; П,Я,Р,С &lt;br /&gt;
	DB 12H,13H,06H,02H	; Т,У,Ж,В &lt;br /&gt;
	DВ 1АН,1ВН,07Н,18Н	; Ь,Ы,3,Ю &lt;br /&gt;
	DB 1СН,19Н,17Н,1FН	; Э,Щ,Ч,DEL&lt;br /&gt;
BUF:    DW 2100H		;исходный АДРЕС Т кетового БУФЕРА &lt;br /&gt;
BUF1:   DW 0			;    АДРЕС НАЧАЛА ТЕКУЧЕЙ СТРОКИ &lt;br /&gt;
BUF2:   DW 0			;    АДРЕС НАЧАЛА СЛЕДУЮЩЕЙ СТРОКИ &lt;br /&gt;
BUF3:   DW 0			;    АДРЕС КОНЦА РАСВИРЕННОГО СПИСКА &lt;br /&gt;
PSR:    DB 0			;    СЧЕТЧИК &amp;quot;МАХ&amp;quot; ЧИСЛА СИМВОЛОВ СТРОКИ &lt;br /&gt;
FL:     DВ 0			;    ФЛАГ ОБМЕНА&lt;br /&gt;
	END			;&lt;br /&gt;
&amp;lt;+&amp;gt; -А-Я(г), 0-9 &amp;lt;L) -ДАТ &amp;lt;R) - РУС&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Радио-86РК/Публикации|602]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
</feed>