User Tag List

Показано с 1 по 10 из 28

Тема: Алгоритмы рисования окружности и OVER 1

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #7

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,684
    Спасибо Благодарностей отдано 
    2,724
    Спасибо Благодарностей получено 
    172
    Поблагодарили
    132 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть у меня ещё одна процедура (не помню откуда брал), интересная тем, что радиус можно задавать двухбайтовым числом. И можно рисовать за пределами экрана.

    Скрытый текст

    Код:
    void Basic_CIRCLEW_EI (unsigned char cx, unsigned char cy, int radius) __naked {
      __asm
        LD   IY, #0x5C3A
        POP  DE
        POP  BC  ; BC = YX
        POP  HL  ; HL = radius
        PUSH HL
        PUSH BC
        PUSH DE
        LD   A, H
        OR   L
        RET  Z
        BIT  7, H
        RET  NZ
        PUSH IX
        DI
        LD   D, #0
        LD   E, C
        LD   C, B
        LD   B, D
        PUSH DE
        LD   DE, #0
        PUSH DE
        PUSH BC
        PUSH HL
        LD   IX, #0
        ADD  IX, SP
        PUSH HL
        EXX
        POP  HL
        ADD  HL, HL
        EX   DE, HL
        LD   HL, #3
        AND  A
        SBC  HL, DE
        EXX
        JR   ENT1$
    CIRCLOOP1$:
        AND  A
        SBC  HL, DE
        JP   M, EXT1$
        POP  DE
        POP  HL
        ADD  HL, DE
        EX   DE, HL
        POP  BC
        POP  HL
        ADD  HL, BC
        LD   SP, IX
        CALL WRAP1$
        POP  BC
        POP  HL
        POP  DE
        ADD  HL, DE
        EX   DE, HL
        POP  HL
        ADD  HL, BC
        LD   SP, IX
        CALL WRAP1$
        POP  DE
        POP  HL
        AND  A
        SBC  HL, DE
        EX   DE, HL
        POP  BC
        POP  HL
        AND  A
        SBC  HL, BC
        LD   SP, IX
        CALL WRAP1$
        POP  BC
        POP  HL
        POP  DE
        AND  A
        SBC  HL, DE
        EX   DE, HL
        POP  HL
        AND  A
        SBC  HL, BC
        LD   SP, IX
        CALL WRAP1$
    ENT1$:
        POP  DE
        POP  HL
        ADD  HL, DE
        EX   DE, HL
        POP  BC
        POP  HL
        AND  A
        SBC  HL, BC
        LD   SP, IX
        CALL WRAP1$
        POP  BC
        POP  HL
        POP  DE
        ADD  HL, DE
        EX   DE, HL
        POP  HL
        AND  A
        SBC  HL, BC
        LD   SP, IX
        CALL WRAP1$
        POP  DE
        POP  HL
        AND  A
        SBC  HL, DE
        EX   DE, HL
        POP  BC
        POP  HL
        ADD  HL, BC
        LD   SP, IX
        CALL WRAP1$
        POP  BC
        POP  HL
        POP  DE
        LD   (POSITIV1$+1), DE
        AND  A
        SBC  HL, DE
        EX   DE, HL
        POP  HL
        ADD  HL, BC
        LD   SP, IX
        CALL WRAP1$
        EXX
        EX   DE, HL
        BIT  7, D
        JR   Z, POSITIV1$
        LD   HL, (POSITIV1$+1)
        ADD  HL, HL
        ADD  HL, HL
        LD   BC, #6
        JR   CALCDONE1$
    POSITIV1$:
        LD   HL, #0
        POP  BC
        DEC  BC
        PUSH BC
        AND  A
        SBC  HL, BC
        ADD  HL, HL
        ADD  HL, HL
        LD   BC, #0xA
    CALCDONE1$:
        ADD  HL, BC
        ADD  HL, DE
        EXX
        POP  HL
        POP  DE
        POP  DE
        INC  DE
        PUSH DE
        LD   SP, IX
        JP   CIRCLOOP1$
    EXT1$:
        LD   HL, #8
        ADD  HL, SP
        LD   SP, HL
        POP  IX
        EI
        RET
    WRAP1$:
        LD   A, D
        OR   A
        RET  NZ
        LD   A, H
        OR   A
        RET  NZ
        LD   A, E
        CP   #0xB0
        RET  NC
        LD   B, E
        LD   C, L
        JP   0x22E5
      __endasm;
    }
    [свернуть]


    Но у неё та же проблема:
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	CIRCLEW_OVER_1.png 
Просмотров:	299 
Размер:	5.5 Кб 
ID:	53446  

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Окружности Брезенхема
    от ALKO в разделе Программирование
    Ответов: 3
    Последнее: 14.06.2014, 20:28
  2. Алгоритмы теста памяти
    от ILoveSpeccy в разделе Память
    Ответов: 10
    Последнее: 22.10.2013, 16:44
  3. крипто-алгоритмы и стойкость
    от White_Hunter в разделе Программирование
    Ответов: 52
    Последнее: 28.07.2009, 18:08
  4. Вероятностные алгоритмы в механике?
    от andrews в разделе Программирование
    Ответов: 9
    Последнее: 26.12.2008, 11:50
  5. Ответов: 7
    Последнее: 27.11.2008, 14:59

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •