Подскажите что это за значения

Тема в разделе "WASM.BEGINNERS", создана пользователем yngwie19, 2 ноя 2008.

  1. yngwie19

    yngwie19 New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2008
    Сообщения:
    17
    Всем привет. Вообщем в статье "Введение в машинный код", http://wasm.ru/article.php?article=1022001#p1_7" которую Я щас изучаю, показан пример использовани прерывания int 10. Вроде все понятно, тока не ясно как они определили цвет фона (регистр BH)? В статье ссылаются вот на эту таблицу :


    | 0000 черный |
    | 0001 синий |
    | 0010 зеленый |
    | 0011 голубой | Цвет фона
    | 0100 красный |(разряды 654)
    | 0101 пурпурный |
    Цвет символа | 0110 коричневый |
    (разряды 3210) | 0111 белый |
    |
    | 1000 серый |
    | 1001 светло-синий |
    | 1010 светло-зеленый | Повышенная
    | 1011 светло-голубой | яркость
    | 1100 светло-красный | (разряд 3)
    | 1101 светло-пурпурный |
    | 1110 желтый |
    | 1111 яркий белый |
    Мерцание
    (разряд 7)


    Можете пояснить как они определили цвет используя эти значения, и что означают эти разрад 3210, разряд 7. Ну вообщем все что написано в скобках.
    P.S: Сильно не ругайте, Я только учусь.
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    yngwie19
    BH: 8 бит или 8 разрядов от 0 до 7.
    1-3 биты цвета, 4 бит - яркость, 5-7 биты цвета фона. 8 бит - мерцание.

    То же самое в разрядах:
    0-2 разряды цвета, 3 разряд - яркость, 4-6 разряды фона. 7 разряд - мерцание.
     
  3. yngwie19

    yngwie19 New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2008
    Сообщения:
    17
    Все равно не понятно, можешь на пальцах объяснить?
     
  4. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    yngwie19
    :) В байте 8 бит. У каждого бита есть порядковый номер с первого по восьмой. Так же можно нумеровать начина от нуля. (3210) - означают порядковые номера битов начиная с нуля. (3210) - это первая половина байта (первые четыре бита), 0 - это первый бит, 1 - второй, 2 - третий и т.д.
     
  5. yngwie19

    yngwie19 New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2008
    Сообщения:
    17
    Booster
    Это Я прекрано понимаю, объясни как было получено значение в регистре bh, равное 70 ?
     
  6. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    А ты в той статье первую главу читал?
     
  7. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Не забываем, что изображение на экране формируется путём смешения трёх цветов - синего, зелёного и красного. Дополнительный третий бит - яркость.
    Код (Text):
    1.   IRGBIRGB
    2.   |--/\--|--цвет
    3.   |
    4.  фон
    5.  
    6.   intensity,red,green,blue
    7.  
    8.  07h = 00000111b
    9.        IRGBIRGB
    10. тёмно-белый символ на чёрном фоне
    11. Таблицы цветов не нужны