Body #0B
24 сентября 1997

PUSH HL - Быстрая процедура вывода точки.

<b>PUSH HL</b> - Быстрая процедура вывода точки.
┌══════════════════════════════════════════════════════════════┐
│▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 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 ПОНРАВИТЬСЯ БЫСТРОДЕЙСТВИЕ      :)

ВСЕ ПОКА!



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

Other Nets - Расскаp про Internet.

PUSH HL - Быстрая процедура вывода точки.

Базарная жизнь - Новости с Беларусского рынка. Хит парад игр.

Железяка - Повышение производительности Байта на 4%.

От авторов - BODY снова в сети минской ZX-NET.

Письмо - Письмо от Сережи и Тани.

Реклама - Реклама и объявления ...

Улыбнитесь - Свежие анекдоты.

Что нового - О новинках в Минске.


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

Похожие статьи:
Технология спрайтов - часть 2: охота на спрайты (поиск и выдирание).
Реклама - Реклама и объявления.
ЦП для вас - Достоинства языков программирования: Pascal, Basic, Assembler.
От редакции - Выход еженедельной газеты.
Энциклопедия - лучшие игры фирмы Ocean.

В этот день...   26 апреля