АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ПРАКТИЧНА РОБОТА №17

Читайте также:
  1. Cамостійна робота студентів
  2. Cамостійна та індивідуальна робота
  3. Cамостійна та індивідуальна робота
  4. Cамостійна та індивідуальна робота
  5. Cамостійна та індивідуальна робота
  6. Cамостійна та індивідуальна робота
  7. Cамостійна та індивідуальна робота
  8. Cамостійна та індивідуальна робота
  9. Cамостійна та індивідуальна робота
  10. II. Індивідуальна робота студентів.
  11. II. Індивідуальна робота студентів.
  12. II.Практична частина

Тема: Робота з графікою

Мета: Вивчити основні функції переривання при роботі з графікою.

Задачі: Складання графічних програм.

Обладнання для виконання роботи:

1. Методичні вказівки що до виконання лабораторної роботи;

2. Персональний комп’ютер;

3. Відповідне програмне забезпечення (Windows 98, Microsoft Office 2000, XP, 2003, MS Excel, емулятор типу Emu8086 v2.57).

Теоретичні основи:

Для роботи із графікою необхідно скористатися перериваннями BIOS, тому що переривання MS-DOS надають функції тільки для висновку текстової інформації. Для того щоб намалювати на екрані найпростіше графічне зображення необхідно спочатку перевести відеоадаптер у графічний режим. Дотепер ми користувалися текстовим режимом, у якому екран умовно розбивається на певне число т.зв. «знакомест». Знакоместо - це область екрана, на яку можна вивести тільки один символ. Стандартний дозвіл екрана в текстовому режимі 80x25 (тобто 80 символів по горизонталі й 25 по вертикалі). Т.о. побудова зображення в текстовому режимі програмно здійснюється по символах. У графічному режимі екран розбивається на «пикселі» - невеликі ділянки у вигляді крапок, і побудову зображення можна здійснювати, малюючи кожну з них окремо.

Для переведення відеоадаптера в графічний режим можна скористатися функцією 0x00 переривання BIOS 0x10. При її виклику в регістрі AL повинен бути записаний код відеорежиму (ми будемо використовувати код 0x13 - графічний режим 320x200, 256 кольорів). Функція 0x0F переривання BIOS 0x10 записує код поточного відеорежиму в регістр AL. Відзначимо, що грамотно побудована програма перед зміною відеорежиму, повинна запом’ятати код поточного відеорежиму й перед завершенням роботи відновити його. Для малювання окремих пикселів ми будемо користуватися функцією 0x0C переривання BIOS 0x10. При її виклику в регістрі AL повинен перебувати код кольору пикселя, у регістрі CX - x-координата, DX - y-координата, а в регістрі BH - відеосторінка, на якій здійснюється малювання.

Як відзначалося в п.1.4, образ того, що в цей момент зображено на екрані, зберігається в спеціальній області оперативної пам'яті - відеобуфері. Щоб змінити поточне зображення (вивести рядок, символ, намалювати пиксель), необхідно відповідним чином змінити вміст відеобуфера (що й роблять використовувані нами функції 0x02, 0x09 DOS-Переривання 0x21 і функція 0x0C переривання BIOS 0x10). Відеобуфер організований так, що в ньому можна зберігати відразу декілька «образів» екрана. Кожний такий «образ» називають відеосторінкою (іншими словами це просто певна область відеобуфера). Відеосторінка, що у цей момент відображається на екрані, називається активної. Така організація відеобуфера дозволяє спочатку намалювати зображення на неактивній відеосторінці (тобто зміни в цій частині відеобуфера не будуть відразу відображатися на екрані), а потім зробити цю сторінку активної. У цьому випадку намальоване зображення з'явиться на екрані миттєво. Якщо ж здійснювати малювання на активній відеосторінці, то при малюванні великих об'єктів буде помітний процес висвітлення окремих пикселів. Для простоти ми будемо користуватися тільки однією відеосторінкою. Нижче наведений приклад програми, що малює на екрані горизонтальну лінію починаючи із крапки (0, 10) довжиною 256 пикселів, причому кожний пиксель лінії має свій колір:

 

dat segment 'data'

vmode db 0;вихідний відеорежим

color db 0;код кольору

dat ends

stk segment stack 'stack'

db 512 dup(0)

stk ends

prog segment 'code'

assume CS:prog, DS:dat, SS:stk

begin: mov AX, dat

mov DS, AX

mov AH, 0Fh

int 10h

mov vmode, AL

mov AH, 0

mov AL, 13h

int 10h

mov CX, 0

mov DX, 10

paint: mov AH, 0Ch

mov AL, color

mov BH, 0

int 10h

inc CX

inc color

cmp CX, 256

jnz paint

waitkb: mov AH, 08h

int 21h

cmp AL, 1Bh

jnz waitkb

mov AH, 0

mov AL, vmode

int 10h

mov AH, 4Ch

mov AL, 0

int 21h

prog ends

end begin

Після креслення лінії програма очікує натискання клавіші ESC, після чого відновлює вихідний відеорежим і завершує роботу.

Література:

5. Самоучитель по микропроцессорной технике. СПб., Наука и техника. 2003 – 224с.

6. Мікропроцесорна техніка. Підручник /Якименко Ю. І, Терещенко Т. О. таінші/ - 2-ге вид., переробл. та доповн. – К.: ІВЦ «Видавництво «Політехніка»», 2004. – 440 с.

7. Микропроцессорные системы. Под ред. Д. В. Пузанкова. СПб., Политехника. 2002 – 935с.

8. Юров В. Assembler: Практикум. — СПб.: Питер, 2001.

Техніка безпеки:

Студенти та курсанти, які виконують практичні роботи у лабораторіях, згідно з розкладом занять, повинні виконувати привила техніки безпеки, а саме:

6. заходити у лабораторію тільки з дозволу викладача або завідуючого лабораторією;

7. не приносити до лабораторії легко палких та отруйних речовин;

8. без дозволу викладача або завідуючого лабораторією не вмикати ЄОМ та інші електричні прилади;

9. чітко та своєчасно виконувати накази викладача або завідуючого лабораторією;

10. у разі будь-якого інциденту, негайно доповісти викладачу або завідуючому лабораторією.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)