Прикладное программирование, 1 семестр — страница 8

  • Просмотров 10504
  • Скачиваний 481
  • Размер файла 52
    Кб

(умножения) на сдвиг, сложение и инкремент (для 486-х и более мощных процессоров такая замена не имеет смысла): (a + 1) 52 0 = a 52 0 + 2a + 1. ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ ЛЕКЦИЯ N9  2РИСОВАНИЕ ЭЛЛИПСОВ Современные микропроцессоры, используемые в персональных ЭВМ, включают в себя быстродействующие блоки для вычислений с плавающей запятой. Это позволяет рассчитывать любые эллипсы. Однако ненаклонные эллипсы

можно достаточно быстро прорисо- вывать, используя только целочисленную арифметику. Ненаклонный эллипс описывается уравнением: x 52 0 y 52 ─── + ─── = 1. A 52 0 B 52 следовательно  7|\\\\\\\\  7/ 0 B 52 0x 52 y =  7/ 0 B 52 0 - ──── ,  7? 0 A 52 где полученное значение Y необходимо округлить до ближайшего целого. Так как эллипс имеет две оси симметрии, то вычисления доста- точно выполнить

для оного из четырех квадрантов. Сначала рисуется дуга, где основной осью является X, затем - дуга, где основной осью является Y. Затем полученные точки отображаются на три ос- тальных октанта. Точка, в которой ось перестает быть основной, вычисляется по формуле B 52 0x 52 0 = A 52 0y 52 0 . . - 2 -  2ПРЯМАЯ РАБОТА С ПАМЯТЬЮ В СОВРЕМЕННЫХ ВИДЕОКОНТРОЛЛЕРАХ Вообще говоря, изобилие видеорежимов является результатом

несогласованной и непродуманной технической и маркетинговой поли- тики фирм-изготовителей аппаратуры. Фирмы просто не смогли вовре- мя выработать общий стандарт, что и породило хаос. Само по себе использование данных ПЗУ видеокарты для прог- раммирования режимов работы той же карты является грубым техни- ческим просчетом - гораздо рациональнее было бы возложить проце- дуру переключения режимов не на основной процессор, а на

собс- твенный процессор видеокарты. Кроме того, со времени разработки первых видеокарт для IBM PC в конструкции видеокарт сохранилось множество нелепых анахро- низмов, что делает невозможным прямое управление работой видео- карты на аппаратном уровне. Для обеспечения нормальной работы видеокарты в режимах SVGA встроенная в карту микросхема видео-BIOS должна соответствовать стандарту VESA v2.0 или более позднему. Ранние версии

стандарта VESA не поддерживали режимы True Color и прямую адресацию видео- памяти.  2Установка видеорежима Видеорежим устанавливается вызовом прерывания 10h с номером функции 4F02h. В регистр BX нужно код видеорежима: 100h - 640x400 256 цв., 101h - 640x480 256 цв., 103h - 800x600 256 цв., 105h - 1024x768 256 цв., 107h - 1280x1024 256 цв., 112h - 640x480 TrueColor, 115h - 800x600 TrueColor, 118h - 1024x768 TrueColor, 11Bh - 1280x1024 TrueColor. Например, нужно установить режим 640x480 TrueColor: mov AX,4F02h mov BX,112h int 10h . - 3 -  2Выбор окна