рисование прямоугольника

Тема в разделе "WASM.BEGINNERS", создана пользователем OHO, 11 май 2009.

  1. OHO

    OHO New Member

    Публикаций:
    0
    Регистрация:
    19 апр 2009
    Сообщения:
    5
    Ребят, столкнулся с проблемой что никак не могу с помощью прерывания int 10h нарисовать банальный прямоугольник.
    Пробовал так:
    asm
    mov ah,06h
    mov bh,2
    mov ch,20
    mov cl,30
    mov dh,25
    mov dl,40
    int 10h
    end;

    Но что-то вообще не получается, подскажите, как проще и лучше будет его нарисовать.
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    OHO
    Для очистки прямоугольной области надо поместить ноль в регистр AL.
    Цвет фона указывается в старшей части BH, в твоем коде он равен нулю, т.е. черный. Если фон экрана тоже черный, то прямоугольника не видно. Попробуй mov bh,$70.
     
  3. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.914
    OHO
    Нарисовать прямоугольник можно:
    1) в текстовом режиме (AX=3 int 10h) вывести в область es=0B800h значение di подбираешь сам AH содержит атрибут символа (07 серый на черном фоне) AL равен 0B0h, 0B1h, 0B2h или 0DBh (псевдографический прямоугольник с разной степенью заполнения)
    2) в графическом режиме (наиболее подходящие AX=10h или AX=12h или AX=13h int 10h) выводишь в область es=0A000h, di подбираешь сам, точки, которые сформируют прямоугольник
     
  4. OHO

    OHO New Member

    Публикаций:
    0
    Регистрация:
    19 апр 2009
    Сообщения:
    5
    спасиб, помогло, разобрался...