Faultless #02
08 апреля 1996

Пользователям - программа "сжатия" для сжимания текстовых файлов.

<b>Пользователям</b> - программа
+++++++++++++++++++++++++++++++ 
ТЕКСТ:ВОРОЖКИН АЛЕКСАНДР.       
ИНФОРМАЦИЯ:БАЖЕНОВ СТАНИСЛАВ.   
МУЗЫКА:КОШПАРЕНОК ПАВЕЛ.        
РАЗДЕЛ:ПОЛЬЗОВАТЕЛЯМ.           
+++++++++++++++++++++++++++++++ 
                                
О ПРОГРАММЕ 'СЖАТИЕ'.           
ОПЫТ ИСПОЛЬЗОВАНИЯ ЭТОЙ ПРОГРАМ 
МЫ ПОКАЗЫВАЕТ,ЧТО ПОЛНОЙ КОМПРЕ 
ССИИ ТЕКСТОВ ОНА НЕ ПРОИЗВОДИТ. 
ПЕРЕД КАЖДОЙ МНЕМОНИЧЕСКОЙ КОМА 
НДЫ ОСТАЕТСЯ ОДИН ПРОБЕЛ,И ЕСЛИ 
ЕГО УБРАТЬ,ТО МОЖНО СЭКОНОМИТЬ  
ЕЩЕ 1О% ОБъЕМА ТЕКСТА,ЧТО ДЛЯ   
БОЛЬШИХ ПРОГРАММ НЕПЛОХО.АДРЕС  
ТЕКСТОВОГО БУФЕРА ЗАПИСАН В ЯЧЕ 
ЙКАХ СОО1 И СОО2,А АДРЕСС ВЫХО- 
ДА ПОСЛЕ ОКОНЧАНИЯ КОМПРЕССИ-В  
ЯЧЕЙКАХ СОО1,СОО2.ЕСЛИ ТЕКСТО-  
ВЫЙ БУФЕР РАСПОЛОЖЕН ПО ДРУГИМ  
АДРЕСАМ ИЛИ ПО ЗАВЕРШЕНИИ КОМП- 
РЕССИИ ИСХОДНОГО ТЕКСТА НУЖНО   
ПЕРЕХОДИТЬ НЕ В ASSEMBLER,ТО    
СОДЕРЖИМОЕ ЭТИХ ЯЧЕЕК СЛЕДУЕТ   
ИЗМЕНИТЬ.КОДЫ ПРОГРАММЫ:        
                                
 21 ОО 7О 54 5D О6 OD 7Е FE 27  
 С2 16 11 12 1З 2З 7Е FE 27 С2  
 OD 11 FE ЗВ С2 22 11 2З 7Е FE  
 OD С2 1В 11 FE OD СА 2С 11 FE  
 2О С2 З1 11 В8 С2 З1 11 1В 12  
 47 1З 2З FE FF С2 О7 11 С9     
                                
 ИСХОДНЫЙ ТЕКСТ ДИЗАССЕМБЛИРУЕ- 
МОЙ ПРОГРАММЫ ПРИВЕДЕН НИЖЕ.ПРИ 
НЦИПЫ РАБОТЫ ПРОСТЫ,ПОЭТОМУ ТРЕ 
БУЕТСЯ ЛИШЬ НЕКОТОРОЕ ПОЯСНЕНИЕ 
 В БЛОКЕ НАЧАЛЬНОЙ УСТАНОВКИ В  
РЕГИСТРАХ HL И DE ЗАПИСЫВАЕТСЯ  
АДРЕСС НАЧАЛА ОБРАБОТКИ ТЕКСТА, 
В НАШЕМ СЛУЧАЕ ОН РАВЕН 7ОООН.  
В РЕГИСТРЕ В,В КОТОРОМ В ПРОЦЕС 
СЕ РАБОТЫ ПРОГРАММ ХРАНИТСЯ ЗНА 
ЧЕНИЕ БАЙТА,ПРЕДШЕСТВУЕЩЕГО АНА 
ЛИЗИРУЕМОГО,ЗАПИСЫВАЕТСЯ OD,ТО  
ЕСТЬ ENTER.НА ПЕРВОМ ЭТАПЕ АНА- 
ЛИЗА ВЫЯСНЯЕТСЯ,ЯВЛЯЕТСЯ ЛИ СЛЕ 
ДУЮЩИЙ ТЕКСТ СООБЩЕНИЕМ (ПО НА- 
ШИМ ПРИЗНАКАМ СООБЩЕНИЕ-АПОСТ-  
РОФ);ЕСЛИ ЭТО ТАК,ТО ОН БЕЗ ИЗ- 
МЕНЕНИЯ ПЕРЕНОСИТСЯ В НОВЫЙ ТЕК 
СТ ПРОГРАММЫ,ЕСЛИ ЖЕ ДАЛЕЕ ИДЕТ 
НЕ СООБЩЕНИЕ,ТО ОСУЩЕСТВЛЯЕТСЯ  
ПЕРЕХОД К СЛЕДУЮЩЕЙ СТАДИИ ОБРА 
БОТКИ.ПРЕЖДЕ ВСЕГО УСЛОВНАЯ ПРО 
ВЕРКА НАЛИЧИЕ ; И ЕСЛИ РЕЗУЛЬ-  
ТАТ ПОЛОЖИТЕЛЬНЫЙ-ОНА ИЗ ТЕКСТА 
ПРОГРАММЫ ИСКЛЮЧАЕТСЯ,А ЕСЛИ    
ОТРИЦАТЕЛЬНЫЙ-ТО АНАЛИЗ ПРОДОЛ- 
ЖАЕТСЯ ВПЛОТЬ ДО ОКОНЧАНИЯ ИСХО 
ДНОГО ТЕКСТА.                   
                                
        ORG 49152               
        LD HL,TEXBUF            
        LD D,Н                  
        LD Е,L                  
        LD В,#OD                
 BEGIN  LD А,(HL)               
        СР #27                  
        JR NZ,СОМ               
 ТЕХТ   LD (DE),А               
        INC DE                  
        INC HL                  
        LD А,(HL)               
        СР #27                  
        JR NZ,ТЕХТ              
 СОМ    СР #ЗВ                  
        JR NZ,ENTER             
 СММ    INC HL                  
        LD А,(HL)               
        СР #OD                  
        JR NZ,СММ               
 ENTER  СР #OD                  
        JR NZ,ENTER2            
        СР #2О                  
        JR NZ,LLЗ               
        LD А,В                  
        СР #2С                  
        JR Z,МЗ                 
        СР #ЗА                  
        JR Z,МЗ                 
 ENTER2 LD А,В                  
        СР #OD                  
        JR Z,МЗ                 
        JP LLЧ                  
 LLЗ    СР #2С                  
        JR Z,LLS                
        СР #ЗА                  
        JR NZ,DR                
 LLS    LD А,В                  
 LLЧ    СР #2О                  
        JR NZ,LLб               
        DEC DE                  
 LLб    LD А,(HL)               
 DR     LD (DE),А               
        LD В,А                  
        INC DE                  
 МЗ     INC HL                  
        СР #FF                  
        JR NZ,BEGIN             
        RET                     
 TEXBUF EQU #7ООО               
                                
 ПРИМЕР ОБРАБОТАННОЙ ПРОГРАММОЙ 
'СЖАТИЯ':                       
                                
        ORG 49152               
        LD HL,TEXBUF            
        LD D,Н                  
        LD Е,L                  
        LD В,#OD                
 BEGIN  LD А,(HL)               
        СР #27                  
        JR NZ,СОМ               
 ТЕХТ   LD (DE),А               
        INC DE                  
        INC HL                  
        LD А,(HL)               
        СР #27                  
        JR NZ,ТЕХТ              
 СОМ    СР #ЗВ                  
        JR NZ,ENTER             
 СММ    INC HL                  
        LD А,(HL)               
        СР #OD                  
        JR NZ,СММ               
                                
******************************* 



Другие статьи номера:

На досуге - Рассказ "Хреновый диск".

Открытие - Десятка лучших программ. POKES к играм.

Новости - Новые программы в городе Харькове : CRIME SANTA CLAUSE-2 DEMO , Пятнашки , PRINCE OF PERSIA.

Сделай сам - Рекомендации по сборке радиосхем.

Пользователям - программа "сжатия" для сжимания текстовых файлов.

Пользователям - классификация игровых программ.

Презентация - Новык игры: DOOM 128, Crime Santa Claus 2.

СРU для всех - Адаптация программ на TR-DOS диск.

Реклама - дигитайзер для спектрума.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Werewolf - Оборотень в легендах и реальной жизни.
NEW GAME - Презентация игры ЗЕРКАЛО.
Power consumption of household devices and computers

В этот день...   3 марта