+++++++++++++++++++++++++++++++
ТЕКСТ:ВОРОЖКИН АЛЕКСАНДР.
ИНФОРМАЦИЯ:БАЖЕНОВ СТАНИСЛАВ.
МУЗЫКА:КОШПАРЕНОК ПАВЕЛ.
РАЗДЕЛ:ПОЛЬЗОВАТЕЛЯМ.
+++++++++++++++++++++++++++++++
О ПРОГРАММЕ 'СЖАТИЕ'.
ОПЫТ ИСПОЛЬЗОВАНИЯ ЭТОЙ ПРОГРАМ
МЫ ПОКАЗЫВАЕТ,ЧТО ПОЛНОЙ КОМПРЕ
ССИИ ТЕКСТОВ ОНА НЕ ПРОИЗВОДИТ.
ПЕРЕД КАЖДОЙ МНЕМОНИЧЕСКОЙ КОМА
НДЫ ОСТАЕТСЯ ОДИН ПРОБЕЛ,И ЕСЛИ
ЕГО УБРАТЬ,ТО МОЖНО СЭКОНОМИТЬ
ЕЩЕ 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,СММ
*******************************
Other articles: