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 символів в кожному.


 

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

44830. Охрана природных вод от загрязнения 28.5 KB
  Водный кодекс. Цели водопользования: для целей питьевого и хозбыт водоснабжения сброса сточн вод и дренажных вод произва электрич Е водн и воздушн транспорта сплава древесины и иных целей. Виды водопользования: 1 совместное водопользование; 2 обособленное водопользование может осущся на водн объектах находящихся в собстви физ лиц юр лиц в гос или муницип собствти и предоставленных для обеспечения обороны страны и безопасности госва гос или муниципальных нужд обеспечение кот исключает испе водных объектов др физ лицами юр...
44831. Эпоха Средневековья V – XVI 19.42 KB
  Опыт средневековой школы лёг в основу всех современных педагогических систем составил неотъемлемый пласт культуры. Монастырские школы были и начальными и средними и высшими осуществляли воспитание духовных феодалов. Затем стали образовываться церковно-приходские школы из которых впоследствии развились начальные народные школы. В монастырских и соборных школах существовали внутренние школы где обучались мальчики которых готовили к пострижению в монахи и внешние школы в которых учились дети мирян.
44833. UN fordert besseren Schutz vor Gefahren aus dem All 25.5 KB
  Аuch die Bevölkerung müss besser informiert werden. Dies ist die grobe Grenze b der mn im Flle eines Einschlgs mit weltweiten Konsequenzen rechnen muss. Die Wissenschftler wollen nun ein llgemeines Netzwerk und verschiedene interntionle Expertengruppen etblieren die im Flle verschiedener Szenrios ktiv werden können. Wenn es dnn eine Bedrohung gibt muss mn nur die Schublde öffnen und ht die richtige Mission prt sgte der Vorsitzende des UNktionstems für kosmische Objekte Sergio Cmcho.
44834. Виды строительной продукции и их характеристики 25.13 KB
  Строительная продукция – вводимые в действие и принятые в установленном порядке новые реконструированные или капитальноотремонтированные здания и сооружения с завершенными в них работами по монтажу и испытанию оборудованию.Предупредительный текущий ремонт – систематически проводимые работы по предупреждению износа и устранение мелких неисправностей. В их состав включаются затраты на строительномонтажные работы приобретение оборудования инвентаря прочие капитальные работы и затраты. Капитальные вложения состоят из следующих основных...
44835. Растворы 25.67 KB
  Определение концентрации кислоты методом титрования Перед началом титрования бюретку сполосните раствором щелочи выданным для работы. Для этого в пипетку с помощью груши наберите 10мл приготовленного раствора кислоты. Каждый раз перед титрованием новой пробы кислоты подливайте щелочь в бюретку до нулевой отметки или до того уровня с которого начали титровать в первом опыте. Результаты опыта занесите в таблицу 1 Рассчитайте нормальную концентрацию раствора кислоты используя закон эквивалентов: вещества взаимодействуют друг с другом в...
44836. История культурного развития средневековой Западной Европы 16.91 KB
  После сдачи экзамена ученик становился подмастерьем после того как находились деньги на открытие своей школы он получал статус мастера. Лишь к концу XV века церковь осознала это принялась открывать духовные семинарии и школыи т. Монастырские школы были начальными средними и высшими осуществляли воспитание феодалов....
44837. Основные принципы государственной политики в области обращения с отходами 26 KB
  Отходы производства и потребления далее отходы остатки сырья материалов полуфабрикатов иных изделий или продуктов которые образовались в процессе производства или потребления а также товары продукция утратившие свои потребительские свойства. Отходы в зависимости от степени негативного воздействия на окружающую среду подразделяются в соответствии с критериями установленными федеральным органом исполнительной власти осуществляющим государственное регулирование в области охраны окружающей среды на пять классов...
44838. Государственный экологический надзор. Производственный и общественный экологический контроль 36.5 KB
  Объекты хозяйственной и иной деятельности независимо от формы собственности находящиеся в ведении Российской Федерации: а объекты относящиеся к федеральным энергетическим системам ядерной энергетике федеральным транспорту путям сообщения информации и связи; б объекты связанные с обеспечением обороны и безопасности относящиеся к оборонному производству производству ядовитых веществ и наркотических средств; в объекты расположенные на землях находящихся в федеральной собственности в том числе землях лесного фонда Российской...