Абзац
:: Поиск
:: Поддержка проекта
Webmoney:
  • Z610389805629
  • R427996570517
  • E023541002978
  • :: №7 (31.08.2001) Просмотров: 4518

    Рубрика: Этюды.

    Номер: №7 (31.08.2001).



    Конкурс по процедуре прямоугольника продолжается

    Почитал шестой номер, процедуру оптимизировать не удалось, поэтому переписал по-новой:


    ; hl=adr on screen
    ; d=высота (1-192)
    ; e=ширина (1-32)
    RECT    LD HL,#4000
            LD DE,#0102
    PROC2   LD C,#FF
    LINE4   DEC D
            JR Z,PROC2
            LD B,E
            PUSH HL
            LD (HL),C
            INC L
            DJNZ $-2
            DEC L
            SET 0,(HL)
            POP HL
            SET 7,(HL)
            LD C,B
            INC H
            LD A,H
            AND 7
            JR NZ,$+12
            LD A,L
            ADD A,32
            LD L,A
            JR C,$+6
            LD A,H
            SUB 8
            LD H,A
            LD A,D
            INC A
            JR NZ,LINE4
            RET

    Итого: длина 39 байт.

    Конечно работает немного по-другому, теперь чистит внутреннюю область, нет ограничений на высоту, ширина боковых - 1 пиксель...

    Павел СТАХОВ, Первоуральск


    Ссылки по теме:

    Конкурс на самую короткую процедуру прямоугольника. [№4]
    Этюды [№6]


    © 2004-2013 Perspective group