Cтраница 4
В адаптере EGA значение, загружаемое в регистр конца курсора, должно быть на единицу больше номера нижней строки развертки курсора. Если в четырех младших битах регистров начала и конца курсора содержатся одинаковые значения, формируется однострочный курсор в строке, определяемой регистром начала. Наконец, когда в регистре конца курсора находится значение, которое больше числа строк развертки в символьной матрице, контроллер CRTC формирует сплошной или блоковый курсор. [46]
Задача считывания значения пиксела ( или, проще, считывание пиксела) формулируется следующим образом: по заданным экранным координатам ( х, у) необходимо получить из видеобуфера значение соответствующего пиксела. Обычно это значение возвращается в младших битах регистра AL. По существу эта задача состоит из двух подзадач. Первая из них связана с преобразованием экранных координат ( х, у) в адрес байта видеобуфера, содержащего значение требуемого пиксела, и двоичным смещением в байте, определяющим позицию нужного пиксела. Эта подзадача для всех адаптеров была рассмотрена в разд. ES: BX адресуют байт видеобуфера, в регистре CL находится двоичное смещение в байте, а в регистре АН содержится маска. Такое начальное содержимое регистров обеспечивают соответствующие процедуры преобразования координат, приведенные в разд. Вторая подзадача состоит в том, чтобы локализовать значение нужного пиксела и поместить его в младшие биты регистра AL. Она решается довольно просто для адаптера CGA с линейной организацией видеобуфера ( и для режимов эмуляции CGA других адаптеров), но при организации видеобуфера в виде двоичных плоскостей несколько усложняется. [47]
Содержание таймера модифицируется всегда, когда процессор находится в состоянии работа. В зависимости от разрешающей способности таймера младшие биты его содержимого могут не модифицироваться. Из ячеек 88 - 95, 96 - 103, 104 - 111, 112 - 119 и 120 - 127 производится выборка нового PSW при выполнении внешних прерываний, прерываний при обращении к супервизору, программных прерываний, прерываний от схем контроля и прерываний ввода-вывода соответственно. В процессе внешнего прерывания в ячейки 132 - 133 записываются или адрес процессора, идентифицирующий источник прерывания, или нули, если задан режим ЕС. В режиме ВС содержимое поля остается без изменений. [48]
Показание часов выражается числом с фиксированной точкой без знака, состоящим из 64 битов. В биты поля памяти, соответствующие неиспользуемым младшим битам часов, записываются нули. [49]
Статическая информация. [50] |
Она состоит из трех подфункций, определяемых содержимым регистра AL. В каждой из подфункций в трех младших битах регистра СХ необходимо указать требуемую комбинацию состояний, подлежащих сохранению или восстановлению. [51]
Переменные, используемые в алгоритме умножения. [52] |
Перед началом умножения данные в loProd отсутствуют, в то время как в тру находятся биты множителя, подлежащие обработке. После окончания умножения в loProd будут содержаться младшие биты произведения, а тру будет очищен. Тщательное изучение программы позволяет сделать вывод о том, что переменные тру и loProd могут быть объединены в одну переменную. Действительно, такой прием находит применение в большинстве умножителей, реализованных аппаратным способом, что позволяет уменьшить число используемых схем. [53]
Наиболее редко используемые значения в этом примере - аи /, так что они становятся первой парой; а присваивается 0-я ветвь, а / - 1-я. Это означает, что О и 1 будут младшими битами кодов для а и f соответственно. Более старшие биты будут получены из дерева по мере того, как оно будет построено. [54]
Режимы и назначения контактов - непрерывная синхронизация. [55] |
Данные для передачи записываются в этот регистр и автоматически передаются в сдвиговый регистр. Записываемые данные занимают старшую порцию битов регистра данных передатчика, младшие биты не используются. [56]
Целые с дополнением до двух. [57] |
Для целых чисел больше 128 короткая адресация неприменима, поскольку число занимает больше, чем 8 бит. Следовательно, число воспринимается ассемблером как 24-битное и декодируется в младшие биты слова расширения. [58]
Поведение фильтра подавления постоянной составляющей. ( а входная последовательность с постоянным смещение на интервале от 100-го до 200-го отсчета. ( Ь выходной сигнал фильтра. [59] |
Это квантование ( посредством усечения) вносит отрицательное смещение в квантованные отсчеты, что ухудшает подавление постоянной составляющей. Когда мы усекаем двоичное значение отсчета, отбрасывая некоторое количество младших бит, мы вносим отрицательную ошибку. К счастью, значение ошибки доступно нам и может быть прибавлено к следующему неквантованному отсчету, увеличивая его положительное смещение. При усечении следующего отсчета добавленная ошибка минимизирует отрицательную ошибку, вносимую квантованием. [60]