ZX Review #3-4
22 июля 1997

Этюды - А.Уржа. Процедура рисования окружности.

<b>Этюды</b> - А.Уржа. Процедура рисования окружности.
┌──────────────────────────────┐
│                              │
│            ЭТЮДЫ             │
│                              │
└──────────────────────────────┘

(c) Уржа Андрей,
г.Чебоксары, 1996.

 Процедура рисования окружности.

   Предлагаю вам процедуру рисо-
вания окружности  (намного  быс-
трее, чем стандартный CIRCLE).
   В регистровую пару  HL  зано-
сятся координаты центра, а в ре-
гистр D - радиус окружности.
140.
       ORG   50000
       LD    HL,87*256+127
; 87 - Y, 127 - X
       LD    D,50
; R
       LD    C,0
       LD    B,D
LOOP   CALL  PLOT
       LD    A,B
       NEG
       LD    B,A
       CALL  PLOT
       LD    A,C
       NEG
       LD    C,A
       CALL  PLOT
       LD    A,B
       NEG
       LD    B,A
       CALL  PLOT
       LD    A,C
       LD    C,B
       LD    B,A
       CALL  PLOT
       LD    A,C
       NEG
       LD    C,A
       CALL  PLOT
       LD    A,B
       NEG
       LD    B,A
       CALL  PLOT
       LD    A,C
       NEG
       LD    C,A
       CALL  PLOT
       LD    A,C
       LD    C,B
       LD    B,A
       INC   C
       LD    A,D
       SUB   C
       LD    D,A
       JR    NC,LOOP
       DEC   B
       LD    A,D
       ADD   A,B
       LD    D,A
       LD    A,B
       CP    C
       JR    NC,LOOP
       RET
PLOT   PUSH  DE
       PUSH  BC
       PUSH  HL
       LD    A,H
       ADD   A,B
       LD    B,A
       LD    A,L
       ADD   A,C
       LD    C,A
       CALL  #22E5
       POP   HL
       POP   BC
       POP   DE
       RET
2
   Длина процедуры 93 байта.
   Идея взята из ZX-FORUM 3.  Не
сомневаюсь, что процедуру  можно
намного упростить (особенно пер-
вую часть). Также есть ограниче-
ние  -  нельзя  задавать  радиус
равным нулю.

********************************



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

TR-DOS для начинающих - Часть 1.

Авторская разработка - General Sound - мультимедиа для ZX Spectrum!

Визитная карточка - Представляем новый электронный журнал "Major Wares" (c) Codebusters & V.M.G.

Компьютерная новелла - Knight Lore "Преданья рыцарских времен".

Новые программы - И.Рощин. HELP_Z80. В.Давыдов. Catalog's Base v1.8.

Описание оболочки журнала "ZX-РЕВЮ"

Перекресток драконов - Aavlon, Castle of Dreams, Erik the Viking.

Перекресток драконов - Eureka!, Eye of Bain, Kentilla.

Перекресток - Sherlock, Apollo, Shadows of Mordor, Rigels Revenge, Temple of Terror, ID, That's the Spirit, Return to Ithaka.

Ретро - Дж.Хардман, Э.Хьюзон. 40 лучших процедур.

Советы экспертов - Castle Master.

Советы экспертов - Firelord.

Советы экспертов - Stonkers.

Форум-игры - Insult Megademo, Catch 23, Livingstone, Rock Star ate my Hampster, НЛО-2: Дьяволы Бездны, Terminator 2, Venturama, The Spririts, Nipper, Sweewo'S World, King's Bounti-2, Hacker 2, Black Magic, Satcom, Звёздное Наследие.

Форум - А.Гура. Кодекс программиста.

Форум - А.Стрельников. Перспективы развития ZX Spectrum.

Форум - В.Давыдов. По материалам, опубликованным в ZX-РЕВЮ: Некоторые вопросы, связанные с автостартом Бейсик-программ. Redefine Keys. Процедура печати 42 символов в строке. Процедура умножения HL=B*C. Доработка посекторных загрузчиков. Мини-драйвер дисковых операций.

Форум - Группа 'Light'. Музыкальный процессор для ZX-Speccy.

Форум - Д.Федоров: Печать картинки с маской с точностью до пиксела. Алгоритм расчета адреса по координатам с точностью до пиксела.

Форум - И.Рощин. Совместное использование ZX ASM 3.0 и STS 5.1.

Форум - М.Бекарев. Расчет адреса экранной области по знакоместу и наоборот.

Форум - П.Федин. Доработка Profi для бесконфликтного подключения периферии.

Форум - С.Астров. Генератор псевдослучайных чисел.

Читатель-читателю - В.Сироткин. Защита программ (взгляд на проблему).

Читатель-читателю - И.Рощин. Драйвер экрана для компьютера "Пентагон-128".

Этюды - А.Савинов: Процедура вывода на экран символов двойной высоты. Процедура "растворения" символов.

Этюды - А.Уржа. Процедура рисования окружности.

Этюды - В.Сироткин. Программа подсчета контрольной суммы.

Этюды - Е.Волчков. Улучшение подпрограммы вычисления адреса в дисплейном файле.

Этюды - Е.Мороз. Бегущая строчка.

Этюды - И.Командин. Программа проявления экрана.

Этюды - И.Рощин. Два графических эффекта.

Этюды - М.Лазутов: Программа модернизации шрифта. Программа кодирования/декодирования блока кодов. Эффект с атрибутами.

Этюды - О.Смолянкин: Процедуры очистки экрана. Вывод текстовых сообщений на экран.


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

Похожие статьи:
Интервью - Интервью с CC'000. VIRUS/THE HOT HEADS.
Вступление - оглавление.
От редакции - Об авторах газеты.

В этот день...   5 декабря