2013-12-19 3 views
0

Я работаю над рисованием некоторых фигур напрямую с помощью графической карты без прерываний для Intel 8086 (TASM), и я прочитал, что 7-й бит в байте, отвечающий за цвета фона и переднего плана, может заставить символы мигать ,Мигающие символы на Intel 8086

Как я могу установить его, хотя сами цвета индексируются 0-15, и у меня есть только 1 байт? Я имею в виду: я могу установить цветной байт на 1eh, чтобы у меня был желтый символ на синем фоне. Как я могу сжать информацию о желаемом мигании там?

+0

Если вы рисуете несколько фигур, видеоадаптер должен находиться в графическом режиме. Но текстовая растеризация может возникать только в текстовом режиме. Оба режима не могут быть включены одновременно. Либо вы пропустили что-то в этом описании, либо вы пытаетесь сделать что-то невозможное. – Netch

+0

Независимо от используемого вами процессора или языка, который вы пишете, ответ на этот вопрос всегда будет одинаковым для всех устройств VGA. Из-за этого этот вопрос * * не связан с x86 или с сборкой, поэтому эти теги здесь недействительны. – Griwes

ответ

3

Как я могу установить [7-й бит], хотя цвета самих индексируются 0-15, и у меня есть только 1 байт?

Это фактически бит 7, а не 7-й бит (эти два не совпадают). Маска для бит 7 равна 80h (или 128 десятичных знаков), поэтому для установки зеленого цвета с миганием вы используете атрибут 82h, для мигающего пурпурного будет 85h и т. Д.

+0

Да, конечно, я имел в виду бит 7, извините :) Спасибо. – Straightfw

Смежные вопросы