Faultless #02
08 апреля 1996 |
![]() |

+++++++++++++++++++++++++++++++ ТЕКСТ:ВОРОЖКИН АЛЕКСАНДР. ИНФОРМАЦИЯ:БАЖЕНОВ СТАНИСЛАВ. МУЗЫКА:КОШПАРЕНОК ПАВЕЛ. РАЗДЕЛ:ПОЛЬЗОВАТЕЛЯМ. +++++++++++++++++++++++++++++++ О ПРОГРАММЕ 'СЖАТИЕ'. ОПЫТ ИСПОЛЬЗОВАНИЯ ЭТОЙ ПРОГРАМ МЫ ПОКАЗЫВАЕТ,ЧТО ПОЛНОЙ КОМПРЕ ССИИ ТЕКСТОВ ОНА НЕ ПРОИЗВОДИТ. ПЕРЕД КАЖДОЙ МНЕМОНИЧЕСКОЙ КОМА НДЫ ОСТАЕТСЯ ОДИН ПРОБЕЛ,И ЕСЛИ ЕГО УБРАТЬ,ТО МОЖНО СЭКОНОМИТЬ ЕЩЕ 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:
|
|
|
|
|
|
|
|
|
Similar articles:
В этот день... 1 October
Scream #04(scl),
Bred #02,
Screamergy #01,
Bred #01,
Open Letters #08,
Millenium #01,
Body #2F,
Deja Vu #0A,
X-Magazine #17,
ZX Chart #01,
Skimer #02,
X-Magazine #12,
Body #17,
Bugs #01,
Adventurer #10,
X-Magazine #07,
Wallpaper #05,
Proton #48,
ZX Pilot #29,
Cheat #03 demo,
Proton #48,
Deja Vu #06,
Deja Vu #02,
ZX-News #41,
Spectrum Progress #01,
Nicron #01,
Maximum #18,
ZX Digest #02,
Speccy #01,
Emulate #02,
Speccy #01,
200 #B,
Spectrofon #09,
ZX Revija #01