┌══════════════════════════════════════════════════════════════┐
│▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ PUSH HL ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓│
└══════════════════════════════════════════════════════════════┘
(C)WRECKER PHN 271-23-24
HI! :(
ХЕ-ХЕ...НЕ ПУГАЙТЕСЬ, Т.К. ЭТО СНОВА Я, WRECKER. В СВЯЗИ С ТЕМ,
ЧТО НАШ ПОСТОЯННЫЙ ВЕДУЩИЙ РУБРИКИ 'PUSH HL' НАХОДИТСЯ В МЕСТАХ
НЕ СТОЛЬ ОТДАЛЕННЫХ, ТО Я БУДУ ВРЕМЕННО /Я НАДЕЮСЬ ТОЛЬКО В ЭТОМ
НОМЕРЕ/ ЕГО ЗАМЕЩАТЬ. СЕГОДНЯ Я ХОЧУ ПРЕДСТВИТЬ ВАМ ПРОЦЕДУРУ
ВЫВОДА ТОЧКИ НА ЭКРАН. А СВЯЗАНО ЭТО С ТЕМ, ЧТО НЕДАВНО МНЕ
ПОСЧАСТЛИВИЛОСЬ УВИДЕТЬ НУЛЕВОЙ ВЫПУСК ГАЗЕТЫ 'MASK' В КОТОРОЙ
ЕЕ АВТОР - SPACE5, ВЫСКЗАЛ СВОЕ НЕДОВОЛЬСТВО ПОДПРОГРАММОЙ,
КОТОРУЮ МЫ ПУБЛИКОВАЛИ В ОДНОМ ИЗ НОМЕРОВ НАШЕЙ ГАЗЕТЫ, И ПРИВЕЛ
СВОЙ "СПОСОБ" РЕШЕНИЯ ДАННОЙ "ПРОБЛЕМЫ".
ВОТ ПРОЦЕДУРА КОТОРУЮ НАПИСАЛ В 'MASK #0', SPACE5...
MASK_0 LD D,XPOSITION ;7t
LD B,YPOSITION ;7t
LD H,HIGH BYTE ;7t
LD L,D ;4t
LD E,(HL) ;7t
INC H ;4t
LD A,(HL) ;7t
LD L,B ;4t
INC H ;4t
OR (HL) ;7t
LD C,A ;4t
INC H ;4t
LD B,(HL) ;7t
LD A,(BC) ;7t
OR E ;4t
LD (BC),A ;7t
-----------------------------------
;91 TAKT
НЕ БУДУ СПОРИТЬ, ПРОЦЕДУРА ХОРОШАЯ, НО ЧТОБЫ ВЫ НЕ ПОДУМАЛИ, ЧТО
НАШ КОДЕР "ЛОПУХ" И СПЕЦИАЛЬНО НАПИСАЛ ТАКУЮ ГРОМОЗДКУЮ
ПРОЦЕДУРУ ДЛЯ ИСПОЛЬЗОВАНИЯ В ПРОГРАММАХ, Я СЕЙЧАС ВСЕ ОБЪЯСНЮ:
1) НАШ КОДЕР НЕ "ЛОПУХ"
2) ПОДПРОГРАММА БЫЛА НАПИСАНА ДЛЯ НАЧИНАЮЩИХ, И ЗАДАЧА СОСТОЯЛА
НЕ В ТОМ ЧТО БЫ НАПИСАТЬ НАИКРУТЕЙШИЙ АЛГОРИТМ, А НАДО БЫЛО
ПРОСТО И ДОСТУПНО ОБЪЯСНИТЬ ЛЮДЯМ ЧТО К ЧЕМУ.
3) СОБСТВЕННО СЕГОДНЯ МЫ ПУБЛИКУЕМ (СПЕЦИАЛЬНО ДЛЯ ПРОДВИНУТЫХ
КОДЕРОВ) ДОВОЛЬНО БЫСТРУЮ ПРОЦЕДУРКУ.
4) ЕСЛИ КТО-ТО СМОЖЕТ БЫСТРЕЕ, БУДЕМ ТОЛЬКО РАДЫ.
5) КАК ГОВОРИТСЯ ИЗ ЛЮБОЙ СИТУАЦИИ ЕСТЬ НЕСКОЛЬКО ВЫХОДОВ.
А ВОТ И ПРОЦЕДУРА НАЙДЕННАЯ МНОЮ НА ОДНОМ ИЗ SATSOFT'ОВСКИХ
РАБОЧИХ ДИСКОВ, ПО-МОЕМУ ОНА РАБОТАЕТ БЫСТРЕЕ И КРУЧЕ, ЧЕМ
ПРЕДЫДУЩАЯ.
PLOT LD H,'TABLE_P ;7t
LD L,B ;4t
LD D,(HL) ;7t
INC H ;4t
LD A,(HL) ;7t
INC H ;4t
LD L,C ;4t
ADD A,(HL) ;7t
INC H ;4t
LD E,A ;4t
LD A,(DE) ;7t
OR (HL) ;7t
LD (DE),A ;7t
-------------------------------------
;73 TAKT
ТАBLE_P EQU #FC00 ;АДРЕС ВАШЕЙ ТАБЛИЧКИ
ВОТ СОБСТВЕННО ГОВОРЯ И ВСЕ. ОСТАЕТСЯ ТОЛЬКО ДОБАВИТЬ, ЧТО ВСЕ
БЫЛО НАБРАНО В ALSM 3.8 (ЧИТАЙ BEST ASSEMBLER), И НЕ ЗАБУДЬТЕ
СДЕЛАТЬ ТАБЛИЧКУ. :)
P.S. НАДЕЮСЬ ТЕПЕРЬ SPACE5 ПОНРАВИТЬСЯ БЫСТРОДЕЙСТВИЕ :)
ВСЕ ПОКА!