Deja Vu
#04
31 марта 1998 |
|
Семь и 1/2 - Урок Ламера или сто и одна процедура очистки аккумулятора.
SoundTrack: "FuCK iSn'T A FacT Yet"(A.FER) __________________________________________ (C) PLAYGEAR COMPANY/BD Автор: Card!nal & dAn!!L __________________________________________ ++++++++++++++++++++++++++++++++++++++++++ + Урок ламера или сто и одна процедура + + очистки аккумулятора v0.007T++ demo. + ++++++++++++++++++++++++++++++++++++++++++ Привет всем читателям самого крутого (без ложной скромности) журнала для всеми нами любимого компьютера └S SPECCY!!! Мы, Card!nal и c└S dAn!!L, решили настучать ╞└S эту статейку для кого бы )┴S вы думали... для ламеров. М┴S Сразу скажу, чтобы вы не я┴S воспринимали ее серьезно, R┬S ведь сегодня сами знаете ╡┬S какой день (кто не сразу проинсталлировался,look'ни на дату выпуска журнала). А началось все с того, что я, Card!nal, завалил как-то к dAn!!L'у и после корот- кой, но содержательной беседы типа: -Новье есть? -До хрена!!! - dAn!!L начал мне по- казывать "новый soft". Среди новья был журнал Zx-Element или Energy#9, который подозрительно был похож на ZX-FORMAT и упорно не хотел работать на компостере... эээ, извините, компьютере с неподключенной мышой. Мы, конечно, принялись за лом, что бы выявить в программе драйвер мыша и отключить его. Нажав на Magic Scorp'а, на- чали копаться в программе. Там мы увидели прикол: аккумулятор очищался по XOR A, а проверка на ноль делалась по CP 0. Жур- нальчик мы исправили, но CP 0 нас сильно приколол, и мы, посмеявшись, решили напи- сать статейку, которая освещает похожий вопрос, а точнее очистку аккумулятора. Итак, внимание!!! Поехали! ;----------------------------------------- LD A,0 XOR A SUB A Эти команды, как вы поняли очищают ак- кумулятор, но я не рекомендую их использо- вать, не смотря на высокую скорость выпол- нения, т.к. хакер, который неизбежно будет ломать вашу программу, увидив их, сразу поймет, что здесь происходит очистка акку- мулятора, а не расксорка тела программы!!! ;----------------------------------------- Следующая процедура делает тоже самое, но оригинальнее. RES 7,A RES 5,A RES 3,A RES 1,A RES 6,A RES 4,A RES 2,A RES 0,A Тут не сразу понимаешь в чем дело, пока не протрассируешь STS'ом v1.0 или MONS. ;----------------------------------------- Следующая процедурка делает это в цик- ле, но она почему-то вместе с аккумулято- ром очищает еще и регистр B вашего микроп- роцессора PENTIUM II 333 или MOTOROLLA 68060 (у всех по разному). LD B,8 SLA A DJNZ $-2 ;----------------------------------------- Тут сам черт ноги поломает, до сих пор не понял почему так получается. LD C,#80 SLI A RRC C JR NC,$-4 XOR C RRC C JR NC,$-3 ;----------------------------------------- Далее сделано хитро, на скорость выпол- нения процедурки влияют регистры B и C, которые потом грохаются. Скорость в преде- лах от 32 до 1310732 тиков... фантасти- ка!!! Вот уж поистине потрясающие ско- ростные возможности Z80A. LD H,D LD L,E LDIR LD A,B ;----------------------------------------- Вообще, процедуру очистки аккумулятора лучше оформить в виде подпрограммы и обра- щаться к ней по мере необходимости. CALL CLR_A RET CLR_A XOR A RET ;----------------------------------------- Пока тут набивал статью, услышал по ра- дио прикольную фразу, цитирую: Счастье есть - оно не может не есть! Далее процессор заряжает аккумулятор, до глюков и выходит по знамени Z. ADD A,A JR NZ,$-1 ;----------------------------------------- Ха-Ха-Ха!!! Опять по радио прикол ска- зали: Крепче за шоферку держись баран! Дальше объяснять не буду. AND 0 ;----------------------------------------- Одна процеДУРА отлична от другой с точ- ностью до наоборот. DEC A JR NZ,$-1 INC A JR NZ,$-1 ;----------------------------------------- По радио опять шутку сморозили: Лучше переспать, чем недоесть! Эту программу запускать опасно, т.к. порт 0 может оказаться портом расширения памяти, мыша, джойстика, монитора, принте- ра, дисковода, клавы, микропроцессора, дисковода... ой, это уже было или все вместе взятое!!! IN A,(0) CPL ;----------------------------------------- Здесь ничего объяснить не могу... глюк полнейший. LD C,#7F AND C RRC C JR C,$-3 ;----------------------------------------- Эти четыре процедурки похожи друг на друга, как подгузники хагис, либеро и др. LD A,1 ADD A,#FF LD A,#FF ADD A,1 LD A,1 DEC A LD A,#FF INC A ;----------------------------------------- Тут пояснять, думаю, не надо. Скажу только, что вместо B можно использовать все остальные регистры и порты Спектрума. LD B,0 LD A,B ;----------------------------------------- Здеся вовлекаются не только команды LD, ADD и DJNZ, но и PUSH и POP. Если вы поня- ли мой бред, тогда спустите шары пониже... я не в том смысле... LD B,16 ADD HL,HL DJNZ $-1 PUSH HL POP AF ;----------------------------------------- Вместо последовательности команд RRA и AND A можно использовать последователь- ность ( люблю я это слово ) команды SLA A. LD B,8 RRA AND A DJNZ $-2 ;----------------------------------------- Следующая процедура восемь раз крутит в цикле архисложную команду NEG. LD B,8 SCF RRA NEG RRA DJNZ $-3 ADD A,#56 ;----------------------------------------- Если ты не смог разобраться, как рабо- тает следующая процедурка, то я могу тебя поздравить, ты - олень! DJNZ $ LD A,B ;----------------------------------------- Сегодня похоже завал приколов по радио: Желаю здоровья, счастья и творческих узбе- ков! Следующая программка прикалывается сле- дующим образом: она прикалывает #FF к ре- гистрам B и A, а потом откалывает от них по единичке. LD B,#FF LD A,#FF DEC A DJNZ $-1 ;----------------------------------------- LD HL,#FFFF INC HL PUSH HL POP AF Эта процедура работает также, как: LD DE,#FFFF INC DE PUSH DE POP AF или как: LD BC,#FFFF INC BC PUSH BC POP AF Как видите - никакой разницы. ;----------------------------------------- Вместо метки METKA можно использовать метку SHIT, а вместо DATA_A использовать SUXX. Выбирайте сами, что для вас прият- нее. LD HL,DATA_A LD DE,METKA+1 LDI METKA LD A,1 RET DATA_A DEFB 0 ;----------------------------------------- Не понятно, зачем здесь примазались ко- манды CP 0 и JP Z,... ну да ладно, байтом больше - байтом меньше (логика писишника). LD A,0 CP 0 JP Z,$+3 ;----------------------------------------- Если у вас нестандартная прошивка ПЗУ, то вместе с аккумулятором очистится вся память. LD A,(#3D03) LD B,A LD A,(#3D04) ADD A,B CP 0 JP NZ,0 ;----------------------------------------- Наконец-то появилась программа ис- пользующая индексный регистр, советую зво- нить к ней по CALL. LD IX,DATA LD A,(IX+0) RET DATA DEFB 0 ;----------------------------------------- Следующий глюк не только разряжает ак- кумулятор до нуля, но врубает трубу на Скорпионе. Чтобы вырубить трубу поставте #1FFD вместо #7FFD в четвертой строке сни- зу. LD BC,#7FFD IN A,(C) AND %00001111 AND %11110000 ;----------------------------------------- Программа может не пойти, если у вас ПЗУ не RULEZ, а SUCKS AND MUST DIE! LD A,(#3D00) ;----------------------------------------- Что-то я совсем забил на TR-DOS... Дан- ная процедура юзает этот интерфейс. LD HL,#8000 LD DE,#0000 LD B,1 LD C,5 CALL #3D13 LD A,(#8000) LD B,A XOR B ;----------------------------------------- Следующие два глюка настолько глючные, что у меня просто язык... а точнее пальцы не поворачиваются их комментировать. LD A,#FF CPL AND %00000001 RES 1,A ;----------------------------------------- Многие начинающие ламеры до сих пор не знают как использовать второй режим преры- ваний. Поэтому смотрите и учитесь. А как научитесь, так пришлите не менее 5 долла- ров США на мой адрес, можно больше, какие могут быть возражения. ORG #8000 DI LD HL,#BE00 LD DE,#BE01 LD BC,256 LD (HL),#BF LDIR LD A,#BE LD I,A IM 2 EI HALT DI IM 1 PUSH AF LD A,#3F LD I,A POP AF RET INT DI PUSH HL PUSH DE PUSH BC PUSH IX PUSH IY LD A,0 POP IY POP IX POP BC POP DE POP HL EI RETI ORG #BFBF JP INT Конечно, программу можно немного сокра- тить по длине, стерев все команды, кроме LD A,0, а вместо нее использовать XOR A. ;----------------------------------------- Данная процедурка привязана к конкрет- ному адресу, ибо сказано, что изменение этого адреса повлечет за собой преждевре- менную инсталляцию wINDOWS 95 со всеми вы- текающими от сюда последствиями. ORG #BFFC DI CALL #0052 DEC SP DEC SP POP HL LD B,L LD C,H PUSH BC POP AF EI RET ;----------------------------------------- Вместо метки BYTE можно использовать любую не длинную последовательность букв. Больше добавить нечего. LD A,(BYTE) RET BYTE DEFB 0 ;----------------------------------------- Если вы немного шарите в кодах, то программа в конце концов выходит по RET либо уходит по JP 0. LD A,(#0000) M CP 0 JR NZ,YEP JP 0 YEP LD A,(M+1) CP 0 JP Z,RETURN JP 0 RETURN RET Help для ламеров: используйте RST 0 вместо JP 0 и тогда ваши волосы не будут сухими и безжизненными, а будут мокрыми и шевелиться. ;----------------------------------------- Ну что я еще могу сказать?! LD A,0 CP 0 JR NZ,0 RET LD A,0 CP 1 JP Z,0 RET ;----------------------------------------- Печать символов по RST #10 тоже приго- дилась для разрядки аккумулятора. LD A,2 CALL 5633 LD HL,MES M1 LD A,(HL) CP 255 JR Z,CONT RST #10 INC HL JR M1 CONT LD A,(#4000) RET MES DEFB 22,0,0,"0",255 ;----------------------------------------- Тут как повезет. Либо очистится аккуму- лятор, либо очистится компьютер от памяти либо память от компьютера, одно обещаю, вирусы сдохнут сразу! LD A,B CP 0 RET Z LD A,C CP 0 RET Z LD A,H CP 0 RET Z LD A,L CP 0 RET Z LD A,D CP 0 RET Z LD A,E CP 0 RET Z LD A,R CP 0 RET Z LD A,I CP 0 RET Z LD A,A CP 0 RET Z JP 0 ;----------------------------------------- Тут закручивается итарационный цикл (горе тем, кто не учится на программиста), и делается выход, поэтому вызывайте ее по CALL. LD HL,0 NEXT_B LD A,(HL) CP 0 RET Z INC HL JR NEXT_B ;----------------------------------------- Ну и последний шедевр очистки аккумуля- тора завершает лучшие сто и одну процеду- ру. Программа должна работать, хотя не знаю... не проверял... числа dAn!!L явно взял от балды. LD A,4 LD B,101 LD C,38 LD D,41 LD E,19 LD H,9 LD L,43 ADD A,B ADD A,C ADD A,D ADD A,E ADD A,H ADD A,L INC A P.S. Весь этот бред набил Card!nal/PGC/ BD. Процедуры придумывали dAn!!L/PGC/BD и Card!nal/PGC/BD. Мы можем продолжить эту рубрику, а поэтому присылайте отзывы и, конечно, свои оригинальные процедуры очис- тки аккумулятора. P.P.S. А Ze Pagan сидел, как придурок до трех ночи и раскрашивал всю эту бредя- тину, которую вы тут сочинили, кисточкой для окраски ногтей! P.P.P.S. Кисточку я спер у жены, а то я знаю вас, извращенцев:))! END...
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября