User Tag List

Показано с 1 по 4 из 4

Тема: Про маску

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

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

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обычная выводилка:
    ;hl->de
    spr:
    ld c,height
    push de
    ld b,width
    row:
    call putzn
    inc e
    jr z,$+6
    ld a,d
    sub 8
    ld d,a
    djnz row
    pop de
    call d_de_zn
    dec c
    jr nz,spr

    оптимизированная:
    ld a,(hl)
    inc hl
    exx
    ld c,a
    ld b,8
    exx
    ld c,height
    spr:
    push de
    ld b,width
    row:
    exx
    rr c
    djnz $+9
    exx
    ld a,(hl)
    inc hl
    exx
    ld c,a
    ld b,8
    exx
    call nc,put_zn
    call c,put_zn_msk
    inc e
    jr z,$+6
    ld a,d
    sub 8
    ld d,a
    djnz row
    pop de
    call d_de_zn
    dec c
    jr nz,spr


    put_zn:
    dup 8
    ld a,(hl)
    ld (de),a
    inc hl
    inc d
    edup
    ret

    put_zn_msk:
    dup 8
    ld a,(de)
    and (hl)
    inc hl
    or (hl)
    ld (de),a
    inc hl
    inc d
    edup
    ret

    просьба не пинать если где накосячил или не соптимизировал, писалось на лету. Общий принцип работы с битовой маской думаю понятен %)

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

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

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

Ваши права

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