22600

Управління відеоадаптером IBM PC

Лабораторная работа

Информатика, кибернетика и программирование

Однак вона також встановлює режим екрана управляє курсором і для кольорового графічного адаптора управляє кольором. Розмір і розташування цих буферів міняється з системою режимом екрана а також кількістю заздалегідь відведеної пам'яті. Коли в буфері зберігається декілька образів екрана то кожний окремий образ називають екранною сторінкою. Цього досить для відображення одного графічного екрана без сторінок або від чотирьох до восьми екранів тексту в залежності від числа символів в рядку 40 або 80.

Украинкский

2013-08-04

35.5 KB

3 чел.

ЛАБОРАТОРНА РОБОТА № 4

"Управління відеоадаптером IBM PC" 

Розглянемо монохромний адаптор, кольоровий графічний адаптор, і поліпшений графічний адаптер (EGA). Всі системи базуються на мікросхемі Motorola 6845 CRTC (cathode ray tube controller) Ця мікросхема виконує масу технічних задач, які звичайно не цікавлять програміста. Однак, вона також встановлює режим екрана, управляє курсором і (для кольорового графічного адаптора) управляє кольором. Мікросхема легко програмується напряму, хоч процедури операційної системи дозволяють керувати більшістю її дій. Всі відеосистеми використовують буфера, в які відображаються дані для зображення на екрані. Екран періодично оновлюється скануванням цих даних. Розмір і розташування цих буферів міняється з системою, режимом екрана, а також кількістю заздалегідь відведеної пам'яті. Коли в буфері зберігається декілька образів екрана, то кожний окремий образ називають екранною сторінкою. Нижче приведене коротке зведення:

Монохромний адаптор

Монохромний адаптор має 4K байт пам'яті на платі, починаючи з адреси B0000H (тобто B000:0000). Цієї пам'яті вистачає тільки для зберігання однієї 80-символьної сторінки тексту.

Кольорової графічний адаптор.

Кольорової графічний адаптор має 16K байт пам'яті на платі, починаючи з адреси пам'яті B8000H. Цього досить для відображення одного графічного екрана, без сторінок, або від чотирьох до восьми екранів тексту, в залежності від числа символів в рядку - 40 або 80.

EGA.

EGA може бути забезпечений 64K, 128K або 256K пам'яті. Крім використання в якості відеобуфера ця пам'ять може також зберігати бітові описи аж до 1024 символів. Стартову адресу буфера дисплея програмуємо, тому буфер починається з адреси A000H для поліпшених графічних режимів, і з B000H і B800H для сумісності зі стандартними монохромним і кольоровим графічним режимами. У більшості випадків EGA займає два сегменти з адресами від A000H до BFFFH, навіть коли є 256K пам'яті. Це можливе, оскільки в деяких режимах два або більше за байти пам'яті дисплея прочитуються з одних і тих же адрес. Доступне число сторінок залежить як від режиму екрана, так і від кількості пам'яті, що є. Внаслідок своєї складності EGA має ПЗУ на 16K байт, яке замінює і розширює процедури роботи з терміналом BIOS. Початок області ПЗУ - адреса C000:0000.

У текстових режимах інформація буфера починається з даних для верхнього рядка екрана, починаючи з лівого кута. Подальші дані переносяться з правого кінця одного рядка на лівий кінець наступного, неначе екран представляється одним великим рядком - і з точки зору видеобуфера так воно і є. Однак в графічних режимах буфер може бути розділений на 2 або 4 частини. У кольорового графічного адаптора різні частини буфера містять інформацію, що відноситься до кожної другої або кожної четвертої лінії точок на екрані. У EGA кожна частина буфера містить один біт з двох або чотирьох, які визначають колір даної точки екрана.

При виведенні різні відеосистеми працюють однаково. Для екрана відводиться 4000 байтів, так що на кожну з 2000 позицій екрану відводиться 2 байти (25 рядків * 80 символів). Перший байт містить код ASCII. Апаратура дисплея перетворює номер коду ASCII в пов'язаний з ним символ і посилає його на екран. Другий байт (байт атрибутів) містить інформацію про те, як повинен бути виведений даний символ. Для монохромного дисплея він встановлювається чи буде даний символ підкреслено, виділено яскравістю або негативом, або використовує комбінацію цих атрибутів. У кольорових системах байт атрибутів встановлює основний і фоновий кольори символа. У будь-якому випадку програма може писати дані прямо в буфер монітора, що значно підвищує швидкість висновку на екран.

Всі системи, крім монохромної, надають набір кольорових графічних режимів, які відрізняються як розподільчою здатністю, так і числом кольорів, що одночасно виводяться. EGA може одночасно виводити 16 кольорів, причому може вибирати ці 16 з набору 64 кольорів. При використанні 16 кольорів кожна точка екрана вимагає чотирьох біт пам'яті, оскільки 4 біти можуть зберігати числа від 0 до 15. Аналогічно, чотирьохкольорова графіка вимагає тільки 2 біта на точку. Двобарвна графіка може упакувати представлення восьми точок в один байт відеобуфера. Кількість пам'яті, що потрібна для даного режиму екрана може бути легко обчислена, якщо відома кількість точок, що виводяться в цьому режимі і кількість біт, необхідне для опису однієї точки. Текст легко комбінується з графікою (BIOS малює символи на графічному екрані) і можна створювати свої спеціальні символи.

Програмування контроллера дисплея 6845.

Всі відеосистеми будуються навколо мікросхеми контроллера відеомонітора Motorola 6845. Мікросхема використовується багато в чому аналогічно в монохромному адапторі і в кольоровому адапторі. Мікросхема 6845 встановлює відеодисплей в один з декількох алфавитноцифрових або графічних режимів. Вона виконує основну роботу по інтерпретації номерів кодів ASCII і пошуку даних для виводу відповідних символів в мікросхемі ПЗУ (а іноді в оперативній пам'яті). Вона декодує значення атрибутів кольору і відповідно встановлює екран. Вона також створює курсор і управляє ім. У архитектурі EGA частина цих функцій розподілена між іншими микросхемами.

Мікросхема 6845 має 18 керуючих регістрів, пронумерованих від 0 до 17. Перші 10 регістрів фіксують горизонтальні і вертикальні параметри дисплея. Ці регістри, як правило, нецікаві для програмістів, оскільки вони автоматично встановлюються BIOS при зміні режиму екрана. Не радимо экспериментувати з цими регістрами, оскільки є можливість зіпсувати монітор. Регістри мають розмір 8 біт, але деякі пов'язані в пари, щоб зберігати 16-бітні величини. Пари #10-11 і #14-15 встановлюють форму і місцеположення курсора. Пара #12-13 управляє сторінками дисплея. Пара #16-17 повідомляє позицію світлового пера. Більшість регістрів доступно тільки для запису; тільки регістр адреси курсора можна і читати і писати, а регістр світлового пера призначений тільки для читання. EGA має 6 додаткових регістрів, які пов'язані з технічними деталями. Регістр 20 найбільш цікавий; він визначає яка лінія сканування в рядку символа використовується для підкреслення.

Доступ до всіх 18 регістрів здійснюється через один і той же порт, адреса якого для монохромного адаптора дорівнює 3B5H і дорівнює 3D5H для кольорового адаптора. EGA використовує одну з цих двох адрес, в залежності від того, чи приєднаний до нього кольоровий або монохромний монітор. Для записи в регістр монохромного адаптора треба спочатку в регістр адреси, розташований в порту 3B4H (3D4H для кольорового), послати номер необхідного регістра. Тоді наступний байт, посланий в порт з адресою 3B5H буде записаний в цей регістр. Оскільки регістри, цікаві для програміста, використовуються попарно, то дані треба спочатку записати в адресний регістр, потім в перший регістр пари, потім знов в адресний регістр і, нарешті, у другий регістр пари.

У монохромного і кольорового адапторов є ще три порти, які важливі для програмістів. Вони мають адреси 3B8H, 3B9H і 3BAH для монохромного і 3D8H, 3D9H і 3DAH - для кольорового адаптора. Перший встановлює режим екрана, другий - пов'язаний в основному з установкою кольорів екрана, а третій повідомляє корисну інформацію про статус дисплея.

Доступ до всіх регістрів здійснюється через порт 3DAH. Спочатку треба послати в цей порт номер необхідного регістра, а потім значення цього регістра. Порт автоматично перемикається між цими функціями роботи з адресами і з даними. Щоб він почав чекати введення адреси, треба прочитати його.

Особливий інтерес представляють 16 регістрів палітри з номерами від 10H до 1FH. Кожний регістр має розмір всього 4 біта, що якраз досить, щоб зберігати 16 кодових номерів для 16 можливих кольорів. Для кожної позиції символу або точки на екрані відеобуфер містить дані, вказуючи яким кольором повинен виводитися цей об'єкт. Цю інформацію називають даними атрибутів. Дані атрибутів є покажчиками на один з 16 регістрів палітри, а число, що міститься в цьому регістрі, визначає яким кольором буде виводитися даний символ. При такому методі, програмі треба змінити тільки установку регістра палітри, і всі символи або точки з відповідним атрибутом змінять свій колір. Регістри палітри працюють у всіх режимах, як текстових, так і графічних.

EGA розподіляє ці функції між мікросхемою контролера атрибутів (адреса порту 3C0H) і двома мікросхемами контролера графіки (адреси портів 3CCH-3CFH). Контролер атрибутів містить 16 регістрів палітри EGA, пронумерованих від 00 до 0FH. Ці регістри можуть містити 6-бітні коди кольорів, коли EGA пов'язаний з поліпшеним кольоровим дисплеєм, тому можуть бути використані будь-які 16 кольорів з набору 64-х.

Постановка задачі

Написати програму роботи з відеоадаптером в текстовому режимі на прикладі циклічного зсуву зображення праворуч/ліворуч (вгору/вниз). Використовувати режим 25 рядків по 80 символів в кожному.


 

А также другие работы, которые могут Вас заинтересовать

34819. Современный философский иррационализм: «философия жизни», экзистенциализм, психоанализ 36 KB
  Вопервых развитие всех трех иррационалистических типов можно подчинить следующей схеме: на первом этапе развития того или иного типа всегда наблюдается противопоставление иррационального рациональному что является реакцией на классическую философскую традицию которая подавляла и вытесняла иррациональное на периферию философии. Гегеля первый этап в философии С. Киркегора иррационализм принимает крайнюю форму – антирационализм второй этап в философии французских экзистенциалистов ХХ века заметна тенденция к соединению рационального и...
34820. Философское учение о бытии и субстанции. Диалектика бытия и небытия. Бытие и ничто 58 KB
  Диалектика бытия и небытия. бытие от небытия и следовательно может считать все бытие как истинным с начала и до конца так и ложным в каждом его пункте. Поэтому чтобы окончательно добить софиста нужно бытие точнейшим образом отличать от небытия однако так чтобы небытие и ложь все же в известном смысле существовали рядом с бытием и истиной. А это приводит нас уже к диалектике бытия и небытия.
34821. Понятие материи. Специфика философского понимания материи. Онтологический и гносеологический аспекты понятия материи. Объективная реальность 43.5 KB
  Специфика философского понимания материи. Онтологический и гносеологический аспекты понятия материи. Понятие материи является одним из фундаментальных понятий материализма и в частности такого направления в философии как диалектический материализм.
34822. Материя как субстанция. Атрибуты материи ( пространство, время, движение) 25.5 KB
  Атрибуты материи пространство время движение Материя лат. Проство и времяфилософские категории всеобщие формы существования координации объектов. Но по теории относительности к 3 пространственным параметрам длина ширина высота добавляется время. Время как философская категория служит для обозначения всеобщего свойства материальных процессов протекать обладать длительностью и развиваться по этапам и стадиям.
34823. Основные формы существования материи: физическая, химическая, биологическая и социальная. Человек как высшая форма существования материи. Проблема сущности человека 32.5 KB
  Проблема сущности человека Соответственно иерархии форм материи существуют качественно разнообразные формы ее движения. Идея о формах движения материи и их взаимосвязи выдвинута Ф. В основу классификации форм движения он положил следующие принципы: 1 формы движения соотносимы с определенным материальным уровнем организации материи то есть каждому уровню такой организации должна соответствовать своя форма движения; 2 между формами движения существует генетическая связь то есть форма движения возникает на базе низших форм; 3 высшие формы...
34824. Мировоззренческое и методологическое значение понятия материя для медика 44.5 KB
  В соответствии с этим можно выделить различные формы материализма и идеализма. Так с точки зрения исторического развития материализма можно отметить следующие его основные формы. Материализм Древнего Востока и Древней Греции это первоначальная форма материализма в рамках которой предметы и окружающий мир рассматриваются сами по себе независимо от сознания как состоящие из материальных образований и элементов Фалес. Существуют и такие разновидности материализма как например последовательный материализм в рамках которого принцип...
34825. Постановка проблемы сознания в философии. Отражение как атрибут материи. Развитие форм отражения как предпосылка возникновения сознания. Сознание как высшая форма отражения 40.5 KB
  Развитие форм отражения как предпосылка возникновения сознания. Сознание как высшая форма отражения. Логично предположить что вся материя обладает свойством по существу родственным с ощущением свойством отражения. присущее всей материи свойство отражения.
34826. Сущность сознания. Проблема идеального. Критика альтернативных концепций сознания 38 KB
  Критика альтернативных концепций сознания. Таким образом речь как и орудия труда это важнейший фактор формирования сознания человека и его мира. Еще раз отметим что идеальное главнейший признак сознания обусловленный социальной природой человека.
34827. Сознание как субъективный образ объективного мира. Творческая природа сознания. Сознание и самосознание. Рефлексия и интенсивность. Проблема формирования человеческой психики у слепоглухих детей 40 KB
  Творческая природа сознания. Способность к целеполаганию специфически человеческая способность составляющая кардинальную характеристику сознания. В структуре сознания наиболее отчетливо выделяются прежде всего такие моменты как осознание вещей а также переживание т. Развитие сознания предполагает прежде всего обогащение его новыми знаниями об окружающем мире и самом человеке.