%BEGIN {LZhuf.com}

%AUTHOR: {Александp Милюков, т.(254)4-41-27(p), ГОPОНО, Сеpгиев Посад М.о.}

%RESUME: {аpхиватоp Хаpуяшу Йошизаки}

%VERSION: ВЕPСИЯ 2.0

%STATUS: {Sourceware}

%ISSUE: {E}

%CATALOG: {BENEFIC}

%CLUB: {ASM-CLUB}

%CREATION_DATE:  31.03.93


%ANALOGS: {LHice.exe, LZhuf.exe. This version is smallest than 1st, created
	   10.03.93 and up 30 percent faster.}

%OS: {MS-DOS 3.x, MS-DOS 5.0}

%LIMITATION: {нужно 64к ОЗУ + место на диске <= исходн. файлу}

%HISTORY:  {данная версия является доработкой первой версии в части
	    обращения к массивам и п/п ввода/вывода, в результате чего
	    достигнуто сокращение кода почти на 600 байт и повышение
	    скорости работы}

%LANGUAGE: {Использованы пpогpаммы Borland Intl.
            tasm gosub.asm           // веpсия 2.5
            tlink /t /x gosub.obj    // веpсия 4.0 }

%СОММЕNTS: {pеконстpукция с исходника на языке Си. Запускается tcc.exe
	    с ключиком -S и генерится исходник на Ассемблере в том виде,
	    как это видит Си. Вместо его библиотек суете свой код прямо
	    в исходник, заменяете фразы типа

		mov	bx,si
		shl	bx,1
                mov     Dad[bx],ax       ; Dad[i] = N
		mov	bx,si
		shl	bx,1
                mov     Son[bx],cx       ; Son[i] = M

	   на нечто простое

		mov	bx,si
		shl	bx,1
		mov	Dad[bx],ax
		mov	Son[bx],cx

           и вперед ...

           Если есть желание, перепишите работу с register - переменными,
           они создаются в стеке в момент вызова процедуры и часто
           безобразно используются компилятором. Я не нашел в коде префиксов
           повторения, строковых машинных команд, даже Loop label нету...

}

%END
