|
|
| Строка 1: |
Строка 1: |
| − | Процедура использует дополнительные данные, расположенные по адресу '''#6000-#63FF'''.Данные предназначены для построения точек. Перед использованием алгоритма необходимо вызвать '''mkbod'''. Входные параметры:,BC=YX координаты центра радиуса, A-радиус.
| + | Статья удаленна из-за самоуправства рязанского пидора Димачки Быстрова.Сдохни с туберкулеза гнида |
| − | Автор алгоритма-Busy.
| + | |
| − | | + | |
| − | пример вызова процедуры:
| + | |
| − | <code><pre>
| + | |
| − | ORG #8000
| + | |
| − | | + | |
| − | tabbod = #6000
| + | |
| − | | + | |
| − | begin
| + | |
| − | run call mkbod
| + | |
| − | xor a;радиус =0
| + | |
| − | slucka push af
| + | |
| − | ld bc,#6080; координаты центра
| + | |
| − | call circle
| + | |
| − | pop af
| + | |
| − | add a,#03;увеличим радиус на 3
| + | |
| − | cp #60
| + | |
| − | jr c,slucka
| + | |
| − | stu jr stu
| + | |
| − | ret
| + | |
| − | mkbod ld ix,tabbod
| + | |
| − | ld hl,#4000
| + | |
| − | mkbb1 ld (ix+#00),h
| + | |
| − | inc xh
| + | |
| − | ld (ix+#00),l
| + | |
| − | dec xh
| + | |
| − | call dole
| + | |
| − | inc xl
| + | |
| − | jr nz,mkbb1
| + | |
| − | inc xh
| + | |
| − | inc xh
| + | |
| − | mkbb2 ld a,xl
| + | |
| − | rrca
| + | |
| − | rrca
| + | |
| − | rrca
| + | |
| − | and #1f
| + | |
| − | ld (ix+#00),a
| + | |
| − | ld a,xl
| + | |
| − | cpl
| + | |
| − | add a,a
| + | |
| − | add a,a
| + | |
| − | add a,a
| + | |
| − | or #c7
| + | |
| − | ld (mkbb3+1),a
| + | |
| − | xor a
| + | |
| − | mkbb3 set 1,a
| + | |
| − | inc xh
| + | |
| − | ld (ix+#00),a
| + | |
| − | dec xh
| + | |
| − | inc xl
| + | |
| − | jr nz,mkbb2
| + | |
| − | ret
| + | |
| − |
| + | |
| − | dole inc h
| + | |
| − | ld a,h
| + | |
| − | and #07
| + | |
| − | ret nz
| + | |
| − | ld a,#20
| + | |
| − | add a,l
| + | |
| − | ld l,a
| + | |
| − | ret c
| + | |
| − | ld a,#f8
| + | |
| − | add a,h
| + | |
| − | ld h,a
| + | |
| − | ret
| + | |
| − | | + | |
| − | </pre></code>
| + | |
| − | | + | |
| − | процедура рисования окружности
| + | |
| − | | + | |
| − | <code><pre>
| + | |
| − | circle ld d,a
| + | |
| − | or a
| + | |
| − | jp z,bod
| + | |
| − | inc a
| + | |
| − | ld h,b
| + | |
| − | ld l,c
| + | |
| − | ld (xy14+1),hl
| + | |
| − | ld (xy15+1),hl
| + | |
| − | ld (xy16+1),hl
| + | |
| − | ld (xy17+1),hl
| + | |
| − | ld xl,a
| + | |
| − | dec a
| + | |
| − | ld e,a
| + | |
| − | ld a,d
| + | |
| − | add a,b
| + | |
| − | ld b,a
| + | |
| − | push de
| + | |
| − | call bod
| + | |
| − | pop de
| + | |
| − | ld a,b
| + | |
| − | sub d
| + | |
| − | sub d
| + | |
| − | ld b,a
| + | |
| − | push de
| + | |
| − | call bod
| + | |
| − | pop de
| + | |
| − | ld a,b
| + | |
| − | add a,d
| + | |
| − | ld b,a
| + | |
| − | ld a,c
| + | |
| − | add a,e
| + | |
| − | ld c,a
| + | |
| − | push de
| + | |
| − | call bod
| + | |
| − | pop de
| + | |
| − | ld a,c
| + | |
| − | sub e
| + | |
| − | sub e
| + | |
| − | ld c,a
| + | |
| − | call bod
| + | |
| − | ld d,#00
| + | |
| − | ld h,d
| + | |
| − | ld l,d
| + | |
| − | ld e,xl
| + | |
| − | ld ix,#ff
| + | |
| − | e130 inc d
| + | |
| − | ld c,d
| + | |
| − | ld b,#00
| + | |
| − | add hl,bc
| + | |
| − |
| + | |
| − | ld a,h
| + | |
| − | add a,a
| + | |
| − | jr nz,e130
| + | |
| − | push hl
| + | |
| − | add hl,hl
| + | |
| − | add hl,hl
| + | |
| − | xor a
| + | |
| − | ld b,a
| + | |
| − | ld c,e
| + | |
| − | sbc hl,bc
| + | |
| − | pop hl
| + | |
| − | jr c,e130
| + | |
| − |
| + | |
| − | ld b,#00
| + | |
| − | ld c,e
| + | |
| − | sbc hl,bc
| + | |
| − | dec e
| + | |
| − | push hl
| + | |
| − | call eelin
| + | |
| − | pop hl
| + | |
| − | ld xl,d
| + | |
| − | xor a
| + | |
| − | xor xh
| + | |
| − | jr z,e130
| + | |
| − | ret
| + | |
| − |
| + | |
| − | eelin inc xl
| + | |
| − | ld a,xl
| + | |
| − | cp e
| + | |
| − | jr z,eeln1
| + | |
| − | ld a,e
| + | |
| − | cp d
| + | |
| − | jr nc,eeln1
| + | |
| − | ld xh,d
| + | |
| − | ret
| + | |
| − | eeln1 push de
| + | |
| − | push ix
| + | |
| − | xy14 ld bc,#5555
| + | |
| − | ld a,b
| + | |
| − | add a,e
| + | |
| − | ld b,a
| + | |
| − | push de
| + | |
| − | call ccnn1
| + | |
| − | pop de
| + | |
| − | xy15 ld bc,#5555
| + | |
| − | ld a,b
| + | |
| − | sub e
| + | |
| − | ld b,a
| + | |
| − | call ccnn1
| + | |
| − | pop ix
| + | |
| − | pop de
| + | |
| − | ld a,d
| + | |
| − | cp e
| + | |
| − | jr nz,eeln2
| + | |
| − | cp xl
| + | |
| − | ret z
| + | |
| − | eeln2 push de
| + | |
| − | push ix
| + | |
| − | xy16 ld bc,#5555
| + | |
| − | ld a,c
| + | |
| − | add a,e
| + | |
| − | ld c,a
| + | |
| − | push de
| + | |
| − | call ccnn2
| + | |
| − | pop de
| + | |
| − | xy17 ld bc,#5555
| + | |
| − | ld a,c
| + | |
| − | sub e
| + | |
| − | ld c,a
| + | |
| − | call ccnn2
| + | |
| − | pop ix
| + | |
| − | pop de
| + | |
| − | ret
| + | |
| − |
| + | |
| − | ccnn1 push bc
| + | |
| − | push de
| + | |
| − | ld a,c
| + | |
| − | sub d
| + | |
| − | ex af,af
| + | |
| − | ld a,c
| + | |
| − | sub xl
| + | |
| − | ld d,a
| + | |
| − | ex af,af
| + | |
| − | ld c,a
| + | |
| − | call rovno
| + | |
| − | pop de
| + | |
| − | pop bc
| + | |
| − | ld a,c
| + | |
| − | add a,d
| + | |
| − | ld d,a
| + | |
| − | ld a,c
| + | |
| − | add a,xl
| + | |
| − | ld c,a
| + | |
| − | jp rovno
| + | |
| − | | + | |
| − | ccnn2 push bc
| + | |
| − | push de
| + | |
| − | ld a,b
| + | |
| − | sub d
| + | |
| − | ex af,af
| + | |
| − | ld a,b
| + | |
| − | sub xl
| + | |
| − | ld d,a
| + | |
| − | ex af,af
| + | |
| − | ld b,a
| + | |
| − | call zvislo
| + | |
| − | pop de
| + | |
| − | pop bc
| + | |
| − | ld a,b
| + | |
| − | add a,d
| + | |
| − | ld d,a
| + | |
| − | ld a,b
| + | |
| − | add a,xl
| + | |
| − | ld b,a
| + | |
| − | jp zvislo
| + | |
| − | ;----------------------построение точки по координатам BC
| + | |
| − | bod ld h, #60;!------high tabbod;>
| + | |
| − | ld l,b
| + | |
| − | ld d,(hl)
| + | |
| − | inc h
| + | |
| − | ld a,(hl)
| + | |
| − | inc h
| + | |
| − | ld l,c
| + | |
| − | or (hl)
| + | |
| − | ld e,a
| + | |
| − | inc h
| + | |
| − | ld a,(de)
| + | |
| − | bodset xor (hl)
| + | |
| − | ld (de),a
| + | |
| − | ret
| + | |
| − | </pre></code>
| + | |
| − | | + | |
| − | ссылки:
| + | |
| − | http://ru.wikipedia.org/wiki/Алгоритм_Брезенхэма
| + | |
| − | http://www.codenet.ru/progr/video/alg/alg4.php
| + | |
| − | | + | |
| − | [[Категория:Программирование графики]]
| + | |
Версия 14:47, 1 сентября 2015
Статья удаленна из-за самоуправства рязанского пидора Димачки Быстрова.Сдохни с туберкулеза гнида