        ВСТУП ДО ВИКОРИСТАННЯ СИСТЕМИ "АСТРОФОРТ"

    1. Форт-система "Астрофорт", створена колишнўм Ўнститутом
теоретично∙ астрофўзики АН СРСР, входила до складу програмного
забезпечення автоматизованого робочого мўсця експериментатора
"Ўскра 1031".

    2. На вўдмўну вўд перфострўчкових Форт-систем система
"Астрофорт" маї вўртуальну пам'ять на дисках та вўдповўднў за-
соби для роботи з вўртуальною пам'яттю.

    3. Щоб ЗАПУСТИТИ СИСТЕМУ треба засобами MS DOS, NORTON
COMMANDER, або ўншо∙ програми-оболонки знайти на диску ( D:)
каталог FORTH (можливо ўнший) ў виконати запуск файлу
FORTH.COM. Роздивитись заголовок системи майже неможливо через
велику швидкодўю ПЕОМ IBM PC ў побачити, що запуск завершено,
можна пўсля появи на екранў дисплею запрошення до дўалогу у
виглядў слова "ok"  червоного кольору. Червоний колўр ї колўр
повўдомлень системи, блакитний колўр ї колўр повўдомлень опера-
тора (користувача). БУДЬ-ЯКЎ ПОВЎДОМЛЕННЯ ОПЕРАТОРА МОЖНА ВЎД-
РЕДАГУВАТИ БЕЗПОСЕРЕДНЬО НА ЕКРАНЎ Ў БАГАТОРАЗОВО ВИКОРИСТАТИ.

    4. Для виходу з Форт-системи виконайте команду BYE або на-
тиснўть <Esc>. Пўсля натиснення <Esc> Форт-система вимагатиме
пўдтвердити намўр (Yes/No). Щоб вийти, натиснўть <Y>. Пўсля ви-
ходу знову запустўть Форт-систему. Призначення клавўш та ∙х
комбўнацўй пояснене у двохсторўнковому довўднику, який виведе
на екран натиснення <F1>. Ознайомтесь з текстом довўдника.

    5. Вўртуальна пам'ять Форт-системи органўзована у виглядў
низки пронумерованих, починаючи з нуля, блокўв-екранўв розмўром
1 Кбайт, що перебувають у складў активного у даний момент екран-
ного файлу.(Екранного, бо то ї сукупнўсть екранўв-блокўв). Пўс-
ля запуску Форт-системи у якостў активного встановлено файл з
ўм'ям FORTH.SCR. Якщо такого файлу немаї у поточному каталозў,
Форт-система сповўстить про це. Пўдчас роботи з системою у яко-
стў активного можна призначити будь-який файл, що ї на диску.
У системў передбачена деяка кўлькўсть дўй з блоками-екранами та
файлами з використанням засобўв операцўйно∙ системи MS-DOS.
    Ознайомтесь ўз змўстом поточного екранного файлу. Для цього
можна скористатись вўдповўдними словниковими статтями. Команда :

1 LIST

виведе для перегляду екрану #1. Для перегляду ўншого екрану тре-
ба лише змўнити номер екрану на ўнший у тому ж рядку на екранў
та натиснути <Enter>. Команда :

1 20 INDEX

виведе для перегляду заголовки (першў рядки) екранўв з 1-го до
20-го включно.

    6. Програмнў наробки пўдчас виконання роботи треба накопи-
чувати у файлў на диску D:. Файл можна створити у такўй послў-
довностў: виконати 1 EDIT, натисиути <F9>, вибрати у допомўжно-
му меню рядок CREATE, натиснути <Enter>, увести ўм'я файлу кра-
ще без розширення, бо за замовчуванням система додасть розширен-
ня SCR ў робитиме так завжди пўдчас роботи з файлом. Щоб впевни-
тись у наявностў файла, треба вибрати у допомўжному меню рядок
DIR ў натиснути <Enter> або виконати рядок DIR, лрацюючи у дўа-
дозў з Форт-системою.
    6.1. Виведўть назву поточного каталогу виконанням рядка:

4 .DIR   (якщо на диску A: то 1 .DIR)

    Нагадаймо, що назва корневого каталогу - ".." .
    Якщо файл вважаїте непотрўбним, то видалўть його за допомо-
гою рядка:

DEL NAME DIR            ( тут NAME - ўм'я файлу)

    Ўм'я поточного дисководу можна вивести за допомогою слова
.DRV   . Вивести змўст поточного каталогу можна за допомогою
слова DIR .
    Ўм'я поточного АКТИВНОГО ФАЙЛУ можна вивести за допомогою
тексту  FILEFCB .FCB або HEX 5C C TYPE .

    7. Робота з вўртуалььною пам'яттю системи "Астрофорт".
    7.1. Зробўть ваш робочий файл активним за допомогою рядка:

USING NAME                   (NAME - ўм'я файлу)

    Уникнути набору слова USING можна натискуванням комбўнацў∙
клавўш <Alt-U>.
    7.2. Скористаймося редактором Форт-системи для створення
тексту у екранях вўртуалььно∙ пам'ятў. У екранў # 0, який не
використовують для зберўгання текстўв програм, бо його не можна
завантажити (ўнтерпретувати текст), розмўстўть довўльний текст
(наприклад, склад бригади, номер групи та назву лабориторно∙ ро-
боти ў таке ўн.). Для цього увўйдўть у режим редагування за до-
помогою рядка:

0 EDIT        (тут 0 ї номер екрану, що маїмо редагувати)

    Пўсля виконання цього рядка ви працюїте з екранним редак-
тором Форт-системи. Для виходу з редактору натиснўть <Esc>.
Замўсть набору слова ЕDIT та натискування <Enter> можна натис-
кувати лише комбўнацўю клавўш <Alt-E>. Про ўншў скороченў коман-
ди можна довўдатись, натискаючи <F1> двўчи. Перший рядок треба
резервувати для заголовка екрану.
    Натискування клавўшў <F2> пўдготуї перший рядок для розташу-
вання заголовку тобто запише у рядок дужки (ознаку коментаря для
ўнтерпретатора системи) та дату у формў мм/дд/рр, де мм - поточ-
ний мўсяць, дд - день, рр - рўк.
    Уводити текст заголовка треба, залишивши пўсля вўдкрито∙ ду-
жки принаймнў один пропуск.
    Переглянути заголовки екранўв файлу можна за допомогою ко-
манди  n m INDEX , де n - номер першого, m - номер останнього
екранўв.
    Записування тексту екрану на диск у активний файл вўдбу-
ваїться пўдчас виходу з редактору або пўдчас переходу до ўн-
шого екрану (натисканням <Esc>, <Page Up>, <Page Down>).

    8. Виконайте наступну спробу приготування програми у екранў
номер 2. Наберўть у екранў наступний текст:

.( УРА !) 500 300 BEEP
: TXT 10 0 DO ." ЕКРАН # 2 ПРАЦЮЇ" CR LOOP ;
TXT CR FORGET TXT .( ЧИ БАЧИТЕ РЕЗУЛЬТАТ ?

та пўсля виходу з редактору ўнтерпретуйте текст екрану щляхом
його завантаження. Виконайте команду 2 LOAD . Замўсть набору
слова LOAD та натискування <Enter> можна натискувати комбўнацўю
<Alt-L>.

    9. Розташуйте у третьому екранў текст:

.( ТРЕТЎЙ ЕКРАН ЎНТЕРПРЕТОВАНО)   SIREN

А у четвертий екран текст:

.( ЧЕТВЕРТИЙ ЕКРАН ЎНТЕРПРЕТОВАНО)  ALARM

    Пўсля виходу з редактору завантажте 4-й екран.
    Перевўрте МОЖЛИВЎСТЬ ЗАВАНТАЖЕННЯ ГРУПИ ЕКРАНЎВ. Для цього
розташуйте у першому екранў текст:

2 LOAD 4 LOAD 3 LOAD 2 LOAD

та завантажте перший екран.
    Перевўрте МОЖЛИВЎСТЬ ЗАВАНТАЖЕННЯ НИЗКИ ЕКРАНЎВ шляхом за-
вантаження першого з низки. Для цього у кўнець тексту другого
та третього екранўв додайте слово "-->" та завантажте екран #2.

    10. Пўдчас використання редактору у верхньому рядку екрану
дисплею розташоване меню, де для вибору альтернатив послуговують
функцўональнў клавўшў <F1>...<F10>. Дўя клавўш <F1> (Help) та
<F2> (Date) була розглянута вище. Клавўшў <F3> (Push-in), <F4>
(Push-del), <F5> (Pop-in) та <F6> (Sprd-pop) використовують з
метою перенести чи скопўювати будь-яку кўлькўсть рядкўв екрану
в будь-яке мўсце ўншого екрану поточного активного або будь-яко-
го ўншого екранного файлу.
    Натискування клавўшў <F3> копўюї вказанў курсором рядки у
спецўальний стек-буфер з виведенням першого рядка буферу на ек-
ранў десплею. Послўдовнў натискування клавўшў перемўщують курсор
вниз.
    Натискування клавўшў <F5> переносить один рядок з верхўвки
стеку-буферу в мўсце екрану, вказане курсором. Клавўша <F4> дўї
аналогўчно <F3>, але не копўюї, а переносить рядки у буфер. На
звўльнене мўсце пересуваються рядки нижньо∙ частини екрану. Кла-
вўша <F6> дўї аналогўчно <F5>, але не накладаї рядки на ўснуючў,
а розсовуї ∙х донизу.

    11. Скористайтесь клавўшами <F3>, <F5> ў перенесўть текст з
рядкўв 3 та 4 екрану #2 у рядки 2 та 3 екрану #6.

    12. Клавўша <F7> (Find) виконуї контекстний пошук екрану у
файлў. Перейдўть до редагування першого екрану, натиснўть <F7>,
уведўть текст для пошуку, наприклад, 3 LOAD ў пўсля натискання
<Enter> буде знайдено перший екран, де ї текст 3 LOAD. Пўсля
кожного натискання буде знайдено ўнший екран з бўльшим номером,
зрозумўло, якщо такий ўснуї.
    Клавўша <F8> (Replace) забезпечуї не тўльки контекстний по-
шук, але й замўну знайденого фрагменту тексту на заданий.
    Клавўша <F10> (Restore) дозволить вўдновити вмўст екрану,
який був до редагування, якщо записування на диск ще не вўдбуло-
ся.
    Клавўша <F9> (Menu) виводить на екран додаткове меню команд,
у якому за допомогою клавўш ўз стрўлками можна вибрати команду з
перелўку, поданого нижче :
    Edit   - перейти до редагування ўншого екрану,
    Using  - встановити новий активний екранний файл,
    Spread - зсув екранўв на один екран у бўк збўльшення номе-
             рўв, починаючи з поточного, з очищенням поточного,
    Comprs - видалення поточного екрану ўз зсувом екранўв з боку
             бўльших номерўв,
    Move   - перенесення групи екранўв поточного файлу на ўнше
             мўсце у тому ж файлў,
    Copy   - копўювання деяких або всўх екранўв поточного екран-
             ного файлу у поточний або у ўнший екранний файл,
    First  - перехўд до редагування першого екрану поточного
             файлу,
    Last   - перехўд до редагування останнього екрану поточного
             файлу,
    Print  - друкування вмўсту поточного екрану на принтерў,
    Dir    - виведення змўсту поточного каталогу,
    Ch Drv - змўна поточного дисководу,
    Index  - виведення заголовкўв екранўв поточного файлу,
    Create - створення нового екранного файлу у поточному ката-
             лозў,
    Delete - видалення екранного файлу з поточного каталогу,
    Forth  - перехўд у тимчасовий екземпляр Форт-системи без ви-
             ходу з редактору. Для виходу з цўї∙ Форт-системи
             треба натиснути <Esc> або виконати BYE,
    Ms DOS - тимчасовий вихўд у DOS ўз зберўганням стану Форт-
             системи. Для повернення у Форт-систему треба вико-
             нати команду EXIT.


       Харкўвський державний полўтехнўчний унўверситет

       Кафедра обчислювально∙ технўки та програмування

          МЕТОДИЧНЎ ВКАЗЎВКИ ДО ЛАБОРАТОРНО° РОБОТИ

           з дисциплўни "Периферўйнў пристро∙ ЕОМ"

                    Тема роботи :

             ГРАФЎЧНЎ РЕЖИМИ ВЎДЕОАДАПТЕРУ EGA

               Пўдготував доц. Червонний С.Й.

     МЕТА РОБОТИ: Вивчення графўчних режимўв роботи дисплею.
     Експерименти з обладнанням пропонуїться проводити з вико-
ристанням середовища Форт-системи "Астрофорт", з якою студенти
мають бути знайомў пўсля роботи з роздўлом  "Вступ до викорис-
тання системи "Астрофорт"" або пўсля роботи з навчально-довўдко-
вою програмою "Форт-система "Астрофорт"".

     1. ВСТУП.

    1.1. ГРАФЎЧНИЙ ДИСПЛЕЙ ТА ОСОБЛИВОСТЎ ЙОГО СКЛАДОВИХ ЧАСТИН.
     Сучасний графўчний дисплей ПЕОМ за конструкцўїю роздўлений
на адаптер та монўтор. Адаптер пўдключений до системного ўнтер-
фейсу ПЕОМ, маї у складў ОЗП - вўдеопам'ять, багато регўстрўв.
Адаптер виробляї сигнали для монўтору. Монўтор пўдключений до
адаптеру, маї у складў кўнескоп, засоби для розгортання променю,
для керування яскравўстю та кольором зображення (Мал.1).


     ┌─────────────────────────────────────────────────────────┐
     │                                                         │
     │   ПЕОМ                                                  │
     │                                                         │
     │                                                         │
     │                                                         │
     │          ┌───────────────────────────────┐              │
     │          │   Системний ўнтерфейс ПЕОМ    │              │
     │          └───────────┬──────┬────────────┘              │
     │                      │      │                           │
     │          ┌───────────┴──────┴────────────┐              │
     │          │                               │              │
     │          │      Вўдеоадаптер  EGA        │              │
     └──────────┴───────────┬──────┬────────────┴──────────────┘
                            │      │
                            │      │     Ўнтерфейс монўтору
                            │      │     з вўдеоадаптером
                            │      │
                  ┌─────────┴──────┴──────────┐
                  │                           │
                  │                           │
                  │          Монўтор          │
                  │                           │
                  │                           │
                  └───────────────────────────┘

             Мал.1. Структура системи "ПЕОМ-дисплей".

    Адаптер EGA може бути пўдключений до ПЕОМ IBM PC, IBM PC XT,
IBM PC AT або до ўнших ПЕОМ, сумўсних з перелўченимми. Перед
пўдключенням адаптеру EGA замўсть CGA треба реконфўгурувати сис-
тему шляхом змўни стану деяких перемикачўв на материнськўй платў
ПЕОМ. Настроювання адаптеру на вўдповўдний монўтор також прово-
дять за допомогою перемикачўв на платў адаптеру.
    На платў адаптеру EGA (Мал.2) розташованў :
    - багатофункцўональний вўдеоконтроллер,
    - вўдеопам'ять 256К RAM,
    - ПЗП 27256 байт для додатково∙ частини BIOS,
    - кварцовў генератори на 16257 гц, 34000 гц, 19000 гц,
      24000 гц, якў ї джерела тактово∙ частоти для роботи у рўз-
      них режимах,
    - перемикачи для реконфўгурування,
    - буфернў пўдсилювачи,
    - з'їднувачи для пўдключення монўтору та свўтлового пера.



                                ┌───────┐┌───────┐
                                │34000гц││24000гц│
                                └───┬───┘└────┬──┘
         ┌───────┐┌───────┐┌───────┐│┌───────┐│
         │  ЗСП  ││ РЕКПМ ││16257гц│││19000гц││
 ┌─┐     └───┬───┘└───┬───┘└───┬───┘│└───┬───┘│              ┌─┐
 ў │       ┌─┴────────┴────────┴────┴────┴────┴─┐            │ │
 н │       │                                    │            │ д
 т │Кер.   │                                    │            │ о
 е ├───────┤                                    │ ┌──────┐   │ │
 р │       │                                    │ │      │   │ м
 ф │       │                                    │ │Буфер-│   │ о
 е │Д(0-7) │      Багатофункцўональний          │ │нў    │   │ н
 й ├───────┤        вўдеоконтроллер             ├─┤пўдси-├───┤ ў
 с │       │                                    │ │лювачи│   │ т
 │ │       │                                    │ │      │   │ о
 П │А(0-19)│                                    │ │      │   │ р
 Е ├─┬─────┤                                    │ └──────┘   │ у
 О │ │     │                                    │            │ │
 М │ │     │                                    │            └─┘
 └─┘ │     └───┬───┬───┬───┬───┬───┬───┬────┬──┬┘
     │ ┌─────┐ │   │   │   │   │   │   │    │  │
     │ │BIOS │ │┌──┴───┴───┴───┴───┴───┴──┐ │  │  ┌──────┐
     │ │ПЗП  │ ││ MAA MD0 M1D MBA M2D M3D │ │  └──┤РЕКПК │
     └─┤27256├─┘│                         ├─┘     └──────┘
       │байт │  │         8 64Kx4         │Кер.
       │     │  │           ОЗП           │
       └─────┘  └─────────────────────────┘
      ЗСП - з'їднувач свўтлового пера.
      РЕКПК - перемикачи для реконфўгурацў∙.
      РЕКПМ - перемички для реконфўгурацў∙.
      Кер. - лўнў∙ керування.

            Мал.2. Структура вўдеоадаптеру EGA.

    Якўсть дисплею залежить вўд багатьох факторўв, таких, як
тип ўнтерфейсу монўтора з адаптером, частота розгортання монў-
тору, параметри точкового растру на екранў, кўлькўсть кольорўв.
За типом ўнтерфейсу розрўзняють монўтори таких видўв: композит-
ний, цифровий RGB монўтор, цифровий ECD монўтор, цифровий HiRes
монўтор, аналоговий кольоровий монўтор та ўншў.
    Композитний монўтор - це означаї, що з адаптеру у монўтор
по двўйцў проводўв передають один композитний сигнал, що у ком-
позицў∙ (у сумўшў) мўстить синхроўмпульси кадрово∙ та рядково∙
розгортки променя ЕПТ та вўдеосигнал, подўбний до того, що вико-
ристовують у телебаченнў. У спрощених ПЕОМ, у яких у якостў мо-
нўторўв використовують стандартнў телевўзори (стандарти PAL чи
SECAM), композитний сигнал, сформований у адаптерў, подають до
вўдеовходу телевўзора або модульований композитний сигнал по-
дають до радўовходу (антенний вхўд). У останньому випадку погўр-
шуїться розподўльна здатнўсть дисплею через ўснуючий спосўб пе-
редачи кольорових складових у сигналў. Композитний монўтор - мо-
нўтор аналогового типу ў кўлькўсть рўзних вўдтўнкўв кольору об-
межуї тўльки адаптер.
    Цифровий RGB монўтор вўдрўзняїться тим, що по окремих прово-
дах вўн одержуї з адаптеру дворўвневў сигнали для керування яск-
равўстю, червоною, синьою та зеленою складовими кольору, а також
сигнали синхронўзацў∙ розгортання променю. Такий спосўб передачи
кольорових складових даї можливўсть одержати на екранў 8 кольо-
рових вўдтўнкўв.
    Цифровий ECD (Enhanced Color Display) монўтор маї кўлькўсть
проводўв для передачў кольорових складових вдвўчи бўльше нўж RGB
монўтор. Це дозволяї передати чотири градацў∙ яскравостў для ко-
жного кольору або 4 * 4 * 4 = 64 кольорових вўдтўнка. Обмеження,
якў пов'язанў з обсягом вўдеопам'ятў, привели до використання
пўдмножини цих вўдтўнкўв. Така пўдмножина маї назву "палўтра".
Ї можливўсть вибору палўтри.
    Цифровий ECD HiRes (High Resolution) монўтор при таких же
можливостях у кольорў, що ў у ECD монўтору, може працювати у ре-
жимў з пўдвищеною розподўльною здатнўстю 800 х 600 точок, що
близько до телевўзўйного стандарту.
    Аналоговў RGB монўтори також мають три проводи для керування
кольором. Яскравўсть кожно∙ кольорово∙ складово∙ визначена ана-
логовим сигналом, тому кўлькўсть вўдтўнкўв необмежена. Але, ос-
кўльки аналоговий сигнал вироблено шляхом цифро-аналогового пе-
ретворення з вўдомою кўлькўстю двўйкових розрядўв, кўлькўсть
вўдтўнкўв вўдома. Так для вўдеоадаптера VGA палўтра у 256 кольо-
рўв може бути вибрана з 262144 вўдтўнкўв.
    Електронний промўнь скануї поверхню екрану у напрямку злўва
направо та зверху униз. Пўдчас зворотнього руху промўнь вимика-
ють в межах прямокутно∙ робочо∙ областў (250 х 200 мм*мм). Об-
ласть зовнў робочо∙ звуть рамкою. Кольором рамки також можна ке-
рувати.
    Частота розгортання вздовж рядка та частота виведення точок
на екран визначають горизонтальний параметр точкового растру.
Шаг триад RGB люмўнофорўв менше нўж шаг точок на екранў, що
складають зображення - пўкселўв (pixel = picture element = еле-
мент картини). Шаг точок по горизонталў та шаг по вертикалў ї
рўзнў. Якщо це не враховувати, то коло стане елўпсом. Для бўль-
шостў режимўв горизонтальний шаг до вертикального становить 5/6.
    Вертикальний параметр точкового растру вўдповўдаї кўлькостў
рядкўв у кадрў. При пўдвищеннў кўлькостў рядкўв можливе зниження
частоти кадрўв, що призводить до появи мигкотўння зображення.
Мигкотўння менше помўтне при використаннў черезрядково∙ розгорт-
ки, тобто, у першому напўвкадрў виводять усў парнў рядки, у дру-
гому - усў непарнў. Це маї вўдбиток на органўзацў∙ вўдеопам'ятў.
    Сучаснў графўчнў адаптери диспле∙в це баготофункцўональнў
пристро∙. Вони можуть бути поїднанў з монўторами рўзних типўв
(див. Таблицю 1). До деяких адаптерўв можна пўдключити два монў-
тори.
                                             Таблиця 1
  ┌───┬─────────────────────────┬───────────────────────────┐
  │ # │                         │                           │
  │п/п│     Тип монитору        │       Тил адаптеру        │
  ├───┼─────────────────────────┼───────────────────────────┤
  │ 1 │ Композитний монохромний │            CGA            │
  │   │                         │                           │
  │ 2 │ Композитний кольоровий  │            CGA            │
  │   │                         │                           │
  │ 3 │ Цифровий  RGB           │       CGA, EGA, VGA       │
  │   │                         │                           │
  │ 4 │ Цифровий  ECD           │         EGA, VGA          │
  │   │                         │                           │
  │ 5 │ Аналоговий монохромний  │ Hercules, EGA, VGA, MDA   │
  │   │                         │                           │
  │ 6 │ Аналоговий RGB          │            VGA            │
  └───┴─────────────────────────┴───────────────────────────┘

    Вўдеоадаптери можуть працювати у декўлькох режимах, що за-
безпечуї можливўсть виконання у нових ПЕОМ програм, розроблених
до появи нових вўдеоадаптерўв. Перелўк режимўв роботи вўдеоадап-
теру EGA поданий у Таблицў 2.
                                             Таблиця 2
┌──────┬──────────────────────────────────┬────────────┬──────┐
│Номер │      Характеристики              │    Тип     │Сумўс-│
│режи- │         режиму                   │ монитору   │нўсть │
│му    │                                  │            │      │
├──────┼──────────────────────────────────┼────────────┼──────┤
│  0,1 │ Буквено-цифровий   40 символўв   │ RGB , ECD  │ CGA  │
│      │   у рядку, 25 рядкўв, 8 сторўнок │            │      │
│      │                                  │            │      │
│  2,3 │ Буквено-цифровий   80 символўв   │ RGB , ECD  │ CGA  │
│      │   у рядку, 25 рядкўв, 8 сторўнок │            │      │
│      │                                  │            │      │
│  4,5 │ 320x200  4 кольори, графичний,   │ RGB , ECD  │ CGA  │
│      │  2 палўтри, 1 сторўнка           │            │      │
│      │                                  │            │      │
│  6   │ 640x200  2 кольори (моно-),      │ RGB , ECD  │ CGA  │
│      │   графўчний, 1 сторўнка          │            │      │
│      │                                  │            │      │
│  7   │ Буквено-цифровий, монохромний,   │ Тўльки     │ MDA  │
│      │ 8 сторўнок                       │монохромний │      │
│      │                                  │            │      │
│8..0Ch│ Резерв                           │            │      │
│      │                                  │            │      │
│  0Dh │ 320x200  16 кольорўв, графўчний, │    ECD     │      │
│      │ 8 сторўнок                       │            │      │
│      │                                  │            │      │
│  0Eh │ 640x200  16 кольорўв, графўчний, │    ECD     │      │
│      │ 4 сторўнки                       │            │      │
│      │                                  │            │      │
│  0Fh │ 640x350  монохромний, графўчний, │ Тўльки     │ MDA  │
│      │ 2 сторўнки                       │монохромний │      │
│      │                                  │            │      │
│  10h │ 640x350 графўчний, 16 кольорўв,  │    ECD     │      │
│      │ 2 сторўнки                       │            │      │
└──────┴──────────────────────────────────┴────────────┴──────┘

    Режими 0-7 ї спўльними для всўх типўв вўдеоадаптерўв ПЕОМ,
сумўсних з IBM PC. Вўдеоадаптери EGA, VGA та SVGA додатково ма-
ють режими з кращими можливастями.

       1.2. ОБМЎН ЎНФОРМАЦЎЇЮ З ВЎДЕОАДАПТЕРОМ.

    Звертання до адаптеру дисплею можливе, як ў з багатьма ўнши-
ми пристроями,
    - шляхом безпосереднього обмўну з регўстрами через порти
уводу-виводу та з вўдеопам'яттю,
    - шляхом використання засобўв BIOS (Base Input Output Sys-
tem - Базова система уводу-виводу),
    - шляхом використання засобўв алгоритмўчних мов високого рў-
вня. З пўдвищенням рўвня можливостў обмежують. Не всў дў∙, вико-
нанў з обмўном через порти доступнў через засоби алгоритмўчних
мов високого рўвнў або навўть через засоби BIOS.
    Використання засобўв BIOS здўйснюїться за наступною схемою.
У регўстри процесору завантажують потрўбнў константи та викону-
ють програмне переривання з номером 10h. Пўдчас обробки перерив-
ання виконуїться задана функцўя. Зауважимо, що швидкўсть вико-
нання функцўй з використанням засобўв BIOS дещо менша, нўж при
роботў через порти уводу-виводу.

     2. ЕКСПЕРИМЕНТИ З ВЎДЕОАДАПТЕРОМ EGA.

    Для експериментального вивчення деяких можливостей вўдеоада-
птеру EGA потрўбна ПЕОМ з завантаженою Форт-системою "Астрофорт"
як середовище для виконання експериментўв. Кўнцевою метою експе-
риментўв ї з'ясування алгоритмўв виконання деяких функцўй вўдео-
адаптеру.

     Завдання 1. СТВОРЕННЯ ЗВЎТНОГО ФАЙЛУ ТА ПРОГРАМНИХ
                 ЗАСОБЎВ ДЛЯ ВСТАНОВЛЕННЯ РЕЖИМЎВ АДАПТЕРУ.

     Для створення звўтного файлу, де потрўбно буде накопиччува-
ти всў наробки, увўйдўть у дўалог з Форт-системою, визвўть ре-
дактор (тобто, виконайте 0 EDIT або 0 Alt-E ), перейдўть у допо-
мўжне меню редактору (тобто, натиснўть F9), виберўть позицўю
"Create" y меню, натиснўть Enter ў уведўть ўм'я майбутнього
звўтного файлу, беручи до уваги, що розширення до ўменў файлу
система додасть сама. Зробўть ваш файл активним (тобто, вибе-
рўть у меню позицўю "Using" та уведўть ўм'я звўтного файлу). Те-
пер скористайтеся редактором ў запишўть у екран 0 ваше прўзвище,
дату та ўншў потрўбнў ўдентифўкатори. Натиснўть Esc. На цьому
створення звўтного файлу завершено. Виконайте словникову статтю
DIR , щоб пабачити, чи ї на диску створений файл.
    Приготуйте програмнў засоби для встановлення режимўв вўдео-
адаптеру. Вўдповўднў словниковў статтў мають допомогти встанови-
ти будь-який режим роботи вўдеоадаптеру, хоча для найпростўшого
експерименту потрўбна можливўсть встановлення мўнўмум двох режи-
мўв. Чому ? Якщо встановити графўчний режим, то можливўсть дўа-
логу з Форт-системою буде зруйнована. Тому, будь-який експери-
мент з графўчними режимами доцўльно будувати
    - ўз встановлення графўчного режиму,
    - ўз спостерўгання результатўв експерименту,
    - ўз встановлення буквено-цифрового режиму.
    Без останнього може стати необхўдним перезапуск ПЕОМ та
Форт-системи. Перенесўть наступний текст у екран 1 звўтного
файлу. Для перенесення тексту з вўкна методвказўвок у активний
файл перейдўть у синї вўкно (натиснўть клавўшу "<-" або "->")
та виконайте статтю CPW ( або натиснўть <Ctrl-F5>)  ў дўйте у
дўалозў, як того вимагатиме програма копўювання.

  ( У екран 1. RGM та 80S -для встановлення режимўв адаптеру,)
  ( для RGM на стеку - номер режиму  N ->                    )
  HEX CODE RGM ( Початок Форт-асемблерного визначення RGM.)
  AX POP ( Дўя: номер режиму перенесено з стеку у регўстр AX )
  AX, # 1F AND ( Дўя: старшў розряди номеру скинутў до нуля  )
               ( аби запобўгти появў некоректого номеру      )

  10 INT ( Дўя: звернення до програмного переривання 10h     )
  NEXT, ( Дўя: повернення керування ўнтерпретатору Форт-системи)
  END-CODE ( Ознака завершення Форт-асемблерного визначення  )
  : 80S 2 RGM ; ( Стаття 80S для встановлення режиму 2, тобто)
  ( буквено-цифрового режиму. Стан стеку не змўнюї.          )
  .( RGM та 80S - ЗАВАНТАЖЕНЎ) CR DECIMAL

    Завантажте екран 1  (тобто, виконайте 1 LOAD)  та проведўть
тестування словникових статтей. Пўдчас тестування доведеться за
вўдсутнўстю наробок спостерўгати пустий екран. У графўчному ре-
жимў 4 виконаїмо словникову статтю WAIT, що очикуї натискання
будь-яко∙ клавўшў ў, тому, час пребування у графўчному режимў
залежить вўд експериментатора.Виконайте у дўалозў рядок:

    4 RGM WAIT 80S

    Повернення у Форт-систему (поява "ok") свўдчитеме про вдале
завершення експерименту. Тестовў тексти завжди розмўщуйте у од-
ному рядку ў не натискуйте <Enter> доки не наберете у рядку сло-
во 80S для виходу з графўчного режиму, ўнакше ї загроза частого
перезавантаження ПЕОМ та Форт-системи.
    Пўдчас виконання RGM та 80S вўдбуваїться ОЧИЩЕННЯ вўдеопа-
м'ятў. На випадок, коли це небажано, ўснуї можливўсть встановлю-
вати режими без очищення вўдеопам'ятў. Проведўть модифўкацўю
словникових статтей RGM та 80S з метою створення статтей RGM1 та
80SS , що не змўнюватимуть стану вўдеопам'ятў (без очищення).
    Перенесўть текст екрану 1 звўтового файлу у екран 2 звўтово-
го файл (скористайтесь у режимў редактору клавўшами <F3> та
<F5>). Потўм у текст екрану 2 внесўть такў корекцў∙:
   - замўнўть ўмена словникових статтей на RGM1 та 80SS, не по-
рушуючи синтаксису коментарўв (наявнўсть обох дужок та пропуск
пўсля першо∙),
   - у рядку перед командою переривання 10 INT розтащуйте фраг-
мент тексту

    AL, # 80 OR

    Цей фрагмент встановить у регўстрў AL, де задають номер ре-
жиму, одиницю у сьомому розрядў, що й призведе до модифўкацў∙
коменди. Пўсля корекцў∙ завантажте екран 2 звўтного файлу та
проведўть тестування за допомогою такого ж рядка, як ў пўдчас
тестування попереднўх статтей. Вдале завершення можна констату-
вати у разў повернення до попереднього стану екрану пўсля стро-
като∙ картини у графўчному режимў. Звўдки строката картина ?
    Очищена вўдеопам'ять для буквено-цифрового режиму не ї очи-
щеною для графўчного режиму. Це тому, що чистий екран у буквено-
цифровому режимў потребуї у вўдеопам'ятў сукупнўсть байтўв ASCII
кодўв пропускўв та байтўв атрибутўв, що визначають кольори фону
та знаку.

     Завдання 2. ПОБУДОВА ЗОБРАЖЕННЯ ЗВЕРТАННЯМ ДО ВЎДЕОПАМ'ЯТЎ.

    Найпростўше будувати зображення у режимах, у яких використо-
вують у якостў вўдеопам'ятў тўльки видўлену частку ОЗП ПЕОМ. Це
можливо у режимах, сумўсних з тими, якў пўдтримуї вўдеоадаптер
CGA. Наприклад, у режимў 4 вўдеопам'ять обсягом 16 Кб розташова-
на у ОЗП у сегментў з адресою B8OOh. Режим 4 (Таблиця 2) маї ек-
ран 320х200 точок, 4 кольори, 2 палўтри. Перший напўвкадр, що
складаїться з рядкўв з парними номерами вўдображуїться з вўдео-
пам'ятў ўз зсувом вўд 0000 до 1FFFh, другий напўвкадр (непарнў
номери рядк∙в)  ўз зсувом вўд 2000h до 3FFFh. Кожен байт несе
ўнформацўю для чотирьох послўдовно розташованих у рядку точок.
Для кожно∙ точки припадаї 2 бўти, що дозволяї записати один з
4-х варўантўв дворозрядних кодових комбўнацўй, тобто, призначити
один з чотирьох кольорўв точцў. Оскўльки у Форт-системў ї засоби
для записування у ОЗП в будь-який сегмент байтўв та слўв (2 бай-
ти) скористаймося для експерименту цими засобами. Перенесўть у
екран 3 звўтного файлу наступний текст, завантажте екран та на-
тискуйте <Enter> багаторазово до кўнця експерименту.

 ( У екран 3.) 4 RGM 2 BASE !  ( Режим 4 та двўйкова система.  )
 101010101010101 HEX B800  0  !L ( На екран   8 блакитних точок)
        WAIT HEX 5A55 B800 DECIMAL   80  !L ( нижче ще  8 точок)
        WAIT HEX AA55 B800 DECIMAL  160  !L ( нижче ще  8 точок)
        WAIT HEX AA5A B800 DECIMAL  240  !L ( нижче ще  8 точок)
 ( Далў 4 рядки другого напўвкадру)
 WAIT HEX 5655 B800 DECIMAL 8192    0 + !L ( 1 малинова серед 8)
 WAIT HEX 6A55 B800 DECIMAL 8192   80 +  !L ( нижче ще  8 точок)
 WAIT HEX AA56 B800 DECIMAL 8192  160 +  !L ( нижче ще  8 точок)
 WAIT HEX AA6A B800 DECIMAL 8192  240 +  !L ( нижче ще  8 точок)
  WAIT HEX   FF B800 DECIMAL        400 C!L ( 4 бўлих точки    )
  WAIT HEX   C3 B800 DECIMAL 8192 400 + C!L ( нижче ще 4  точки)
  WAIT HEX   C3 B800 DECIMAL        480 C!L ( нижче ще 2  точки)
  WAIT HEX   C3 B800 DECIMAL 8192 480 + C!L ( нижче ще 2  точки)
  WAIT HEX   FF B800 DECIMAL        560 C!L ( нижче ще 4  точки)
 WAIT 80S  .( Кўнець експерименту)

    З'ясуйте спосўб кодування та вўдредагуйте екран 3 так, щоб
вўд двокольорового прямокутника залишився лише контур ( або ўнша
частина за завданням викладача). ЯКЩО ПЎДЧАС СПРОБ ВИНИКНУТЬ СИ-
НТАКСИЧНЎ ПОРУШЕННЯ Ў СИСТЕМА НАМАГАТИМЕТЬСЯ ВИДАТИ ВАМ ТЕКСТОВЕ
ПОВЎДОМЛЕННЯ, ТА НЕ ЗМОЖЕ, ПЕРЕБУВАЮЧИ У ГРАФЎЧНОМУ РЕЖИМЎ, ВИ-
ХЎД У ДЎАЛОГ ТАКИЙ: БАГАТОРАЗОВО НАТИСНЎТЬ <Enter>), НАТИСНЎТЬ
<Esc> ТА <Enter>, ПОТЎМ НАБЕРЎТЬ СЛОВО 80S, НЕЗВАЖАЮЧИ НА ТЕ, ЩО
ЛЎТЕР НЕ ВИДНО, ТА НАТИСНЎТЬ <Enter>. Поява "ok" свўдчитеме про
вўдновлення нормального дўалогу з Форт-системою.
    Зауважимо, що звертання до вўдеопам'ятў у 16-кольорових ре-
жимах вўдеоадаптеру EGA досить складне, але забезпечуї бўльщу
швидкўсть обмўну, нўж ўншў способи обмўну.

     Завдання 3. СТВОРЕННЯ ЗАСОБЎВ ДЛЯ ВИВЕДЕННЯ ТОЧОК НА ЕКРАН
                 З ВИКОРИСТАННЯМ BIOS.

    Пўдготуйте словниковў статтў для записування точок (пўкcе-
лўв) на екранў (PXWR) та для виведення лўнў∙ обрамлювання робо-
чого поля екрану (OBR). Перенесўть наступний текст у екран 4
звўтного файлу та завантажте екран.

 ( У екран 4. PXWR, OBR та OBR16 )
 ( PXWR, cловникова стаття для записування пўкселу або точки)
 ( Стек: C X Y ->  C-номер кольору, X,Y - координати пўкселу.)
 ( Дўапазон X та Y для режиму 4: X от 0 до 319, Y от 0 до 199)
 HEX CODE PXWR DX POP CX POP AX POP ( Перенесення параметрўв)
 ( C,X,Y  ўз стеку на регўстри    DX, CX, AX                )
 AH, # C MOV ( Встановлення операцў∙ записування пўкселу    )
 BH, # 0 MOV ( Встановлення номеру сторўнки вўдеопам'ятў "0")
 10 INT NEXT, END-CODE ( Звернення до пўдпрограми BIOS, кўнець)
 DECIMAL ( OBR,обрамлювання. На стеку - номер режиму,колўр  )
 : OB 3 PICK RGM DUP 0 DO 2 PICK 2 PICK 1 - I PXWR 2 PICK 0 I
 PXWR LOOP OVER 0 DO 2 PICK I 0 PXWR 2 PICK I 2 PICK 1 - PXWR
 LOOP 2DROP DROP WAIT 80S ;
 : OBR 320 200 OB ; : OBR16 640 350 OB ;
 .( PXWR,OBR,OBR16 - ЗАВАНТАЖЕНЎ) CR

    Тестування словниково∙ статтў PXWR проведўть за допомогою
рядка
      DECIMAL 4 RGM 3 160 100 PXWR WAIT 80S

    Маї з'явитися яскрава бўла точка посерединў екрану.
    Щоб запобўгти появў помилок пўдчас формування довгих тесто-
вих рядкўв, можна скопўювати текст з рядком у екран звўтового
файлу, який не буде використовуватися (наприклад, з номером 30),
видалити зайвий текст ў тодў для проведення експерименту треба
лише завантажити екран 30. Перевўрте можливўсть проведення екс-
перименту саме у такий спосўб.
    Тестування словниково∙ статтў OBR допоможе з'ясувати стан-
дартну таблицю кодування кольорўв у режимах 4 та 13. Рядок

      4 3 OBR

виведе обрамлення з кольором номер 3 у режимў 4. Змўнюючи номери
кольору та режиму, з'ясуйте кольори ў запишўть назви кольорўв
для обох режимўв у екранў 5 звўтного файлу у формў таблицў. Вашў
результати можуть не спўвпадати з даними Таблицў 4. Наступний
рядок продемонструї, яку частину екрану у режимў 16 з параметра-
ми растру 640х350 обрамлюї слово OBR, яке розраховане для режи-
мўв з номерами 4 та 13.

      16 14 OBR

    Проведўть експерименти також з режимами 6 та 14, якў згўдно
Таблицў 2  мають параметри точкового растру 640х200.

     Завдання 4. ВСТАНОВЛЕННЯ КОЛЬОРУ ФОНУ ТА ПАЛЎТРИ.

     Пўдготуйте у екранў 6 звўтного файлу текст словниково∙
статтў для встановлення кольору фону ў палўтри. Така функцўя для
режиму 4 потребуї у регўстрў AH число Bh (код функцў∙), у регў-
стрў BH - номер палўтри, у регўстрў BL - номер кольору фону.
Словникова стаття FONPAL водночас встановлюї колўр фону та па-
лўтри.

  ( У екран 6. FONPAL - встановлення фону та палўтри)
  HEX CODE FONPAL AH, # B MOV BX POP
  10 INT NEXT, END-CODE DECIMAL
  .( FONPAL - ЗАВАНТАЖЕНО)  CR

    Тестування словниково∙ статтў FONPAL проведўть за допомогою
рядка, поданого нижче. У текстў рядка запрограмовано виведення
на екран строкато∙ картини, потўм без змўни картини натисненням
<Enter> встановлюються рўзнў комбўнацў∙ палўтр та кольорўв фону.
Трирозряднў шўстнадцятковў числа, що передують FONPAL, одиницею
у старшому розрядў забезпечують встановлення палўтри, номер яко∙
мўститься у молодшому розрядў. Нуль у старшому розрядў забезпе-
чуї встановлення кольору фону, номер якого мўститься також у мо-
лодшому розрядў.

 HEX
 4 RGM1 WAIT 100 FONPAL WAIT 101 FONPAL WAIT 005 FONPAL WAIT 80S
 DECIMAL

     Завдання 5. ВЎДОБРАЖЕННЯ ФУНКЦЎ° ДВОХ ЗМЎННИХ.

     Якщо колўр точок вважати значенням третьо∙ координати, то
можливе вўдображення функцў∙ двох змўнних С=f(X,Y). Кольорова
картина даї змогу вивчати особливостў функцўй. Неважко одержати
зображення поверхнў в лўнўях рўвня, що використовують у карто-
графў∙. Перенесўть у екрани 7 та 8 звўтного файлу подиний нижче
текст демонстрацўйно∙ програми та завантажте екран 7. Математич-
нў вирази для обчислення С (номеру кольору) виводяться на екран
перед показом картини. У одному з виразўв ї помилка ў картина не
вўдповўдаї виразу. Визначить, який з виразўв C1,...C4 ї помилко-
вий та занесўть лўву частину виразу у коментарнў дужки, що роз-
ташованў у кўнцў тексту екрану 8. Для пуску програми завантажте
тўльки екран 7.

 ( У екран 7. Графўчний режим 13, 320X200, 16 кольорўв.       )
 ( Словникова стаття для фарбування екрану пўкселами з чергу- )
 ( ванням кольорўв ) DECIMAL
 : POLE 320 0 DO 200 0 DO I 15 MOD 1 + J I PXWR LOOP LOOP ;
 : POLE1 320 0 DO 200 0 DO I J - ABS 2 /   J I PXWR LOOP LOOP ;
 : POLE2 320 0 DO 200 0 DO I J + 5 / 16 MOD J I PXWR LOOP LOOP ;
 : POLE3 320 0 DO 200 0 DO I J + 15 /       J I PXWR LOOP LOOP ;
 : POLE4 320 0 DO 200 0 DO I J * 515 /      J I PXWR LOOP LOOP ;
 : POLE5 320 0 DO 200 0 DO I I J * *  15000 /
      16 MOD 1 +  J I   PXWR LOOP LOOP ;
 : POLE6 320 0 DO 200 0 DO I I * J J * + 550 / 16 MOD J I PXWR
      LOOP LOOP ;
 : POLE7 320 0 DO 200 0 DO I 100 - DUP * J 160 - DUP * + 500 /
      16 MOD J I PXWR LOOP LOOP ;
 : POLE8 320 0 DO 200 0 DO I 100 - DUP * J 160 - DUP * + 100 /
      16 MOD J I PXWR LOOP LOOP ;  -->

 ( У екран 8. Продовження програми. ) : UU CR
 ." ПОСЛЯ НАТИСКАННЯ КЛАВЎШЎ БУДЕ ВИВЕДЕНА КОЛЬОРОВА КАРТИНА" CR
 ." НОМЕР КОЛЬОРУ ВЎДПОВЎДАЇ ВИРАЗУ: " ;
 80S UU .( C1= ABS[X-Y]/2         ) 300 500 BEEP KEY DROP
 13 RGM POLE1   400 500 BEEP KEY DROP
 80S UU .( C2= [[X*Y]/15]MOD4  ) 700 500 BEEP KEY DROP
 13 RGM POLE3   800 500 BEEP KEY DROP
 80S UU .( C3=[[X**2+Y**2]/550]MOD16 ) 1100 500 BEEP KEY DROP
 13 RGM POLE6  1200 500 BEEP KEY DROP
 80S UU .( C4=[[X*2+Y**2]/500]MOD16 ) 1100 500 BEEP KEY DROP
 13 RGM POLE5  1000 500 BEEP KEY DROP 80S
 CR .( КЎНЕЦЬ ДЕМОНСТРАЦЎ°) FORGET POLE         (        )

     Завдання 6. СТВОРЕННЯ ЗАСОБЎВ ДЛЯ ПОБУДОВИ КЎЛ.

    Двовимўрний простўр площини екрану ї анўзотропний, бо шаг по
горизонталў та шаг по вертикалў ї рўзнў. Але для режимўв 4,13,16
вўдеоадаптеру вўдношення шагўв горизонтального до вертикального
ї постўйне ў дорўвнюї 5/6. Для того, щоб запобўгти викривленням,
потрўбнў вўдповўднў корекцў∙ координат точок. Простежимо, харак-
тер викривлень та корекцўю викривлень на прикладў тако∙ фўгури,
як коло. Поданий нижче текст здўйснюї побудову кола за методом
оцўночно∙ функцў∙. Пўдчас побудови кола кожен можливий крок на
прямокутнўй сўтцў точок оцўнюють на наближення до рўвняння
(X-XC)**2 + (Y-YC)**2 = R**2 . Здўйснюють крок, який даї най-
меньше вўдхилення. Перенесўть текст у екран 9 звўтного файлу та
завантажте його.

 ( У екран 9. Словникова стаття OKR1 для побудови кола.       )
 ( Стек: C XC YC R -> ; С-колўр, XC,YX-коорд. центру, R-радўус)
 : OKPR1   2DUP 7 PICK + SWAP 8 PICK + SWAP 9 PICK 0 SWAP
 2OVER PXWR     DROP 2DROP ; : ITER1 BEGIN 3 PICK 2 PICK +
 DUP * >R 0 OVER +  ( 6 * 5 / ) DUP * R> +
 5 PICK - ABS >R 0 2 PICK +
 DUP * >R 2 PICK OVER + ( 6 * 5 / ) DUP * R> +
 5 PICK - ABS R> < IF 2 PICK + OKPR1  ELSE SWAP 3 PICK + SWAP
 OKPR1    THEN 2DUP *   0 = IF EXIT THEN AGAIN ;
 : OKR1 4 0 DO I 0 = IF DUP DUP * SWAP NEGATE 1 SWAP 1 SWAP
 0 THEN       I 1 = IF >R >R NEGATE R> R> THEN
              I 2 = IF >R >R >R NEGATE R> R> R> THEN
              I 3 = IF >R >R NEGATE R> R> THEN
 ITER1 LOOP 2DROP 2DROP DROP 2DROP DROP  ;
 .( OKR1 - ЗАВАНТАЖЕНО) CR

    Тестування словниково∙ статтў проведўть за допомогою рядка

  DECIMAL 13 RGM 5 100 100 80 OKR1 WAIT 80S

    Виконання рядка маї вўдобразити на екранў коло з радўусом
80 точок, з центром у точцў (100,100). Але коло виглядатиме як
елўпс. Скорегуїмо текст статтў OKR1 з метою виключення викрив-
лень. Перенесўть текст статтў OKR1 з екрану 9 у екран 10 та змў-
нўть назви статтей OKR1 на OKR, ITER1 на ITER, OKPR1 на OKPR, не
залишаючи жодного входження без змўни. Фрагменти "( 6 * 5 / )",
яких у текстў двої, залиште без дужок. Завантажте екран 10 та
проведўть тестування OKR за допомогою рядка

DECIMAL 13 RGM 9 100 100 80 OKR1 WAIT 14 100 100 80 OKR WAIT 80S

На екран буде виведено коло до корекцў∙ та коло пўсля не∙ ўншого
кольору.
    Проведўть експерименти та з'ясуйте, як реагуї вўдеоадаптер
на вихўд координат за межў точкового растру у режимах 13 та 16.
Чи однакова реакцўя на вихўд за межў у рўзних напрямках ? Ре-
зультати спостережень запишўть у екран 11 звўтового файлу.

     Завдання 7. СТВОРЕННЯ ЗАСОБЎВ ДЛЯ ЗОБРАЖЕННЯ КРУГЎВ.

    Пўдготуйте словникову статтю для зображення кругўв шляхом
побудови концентричних кўл ўз зростаючим радўусом. Перенесўть
наступний текст у екран 12 звўтного файлу та завантажте екран.

 ( У екран 12.Словниковў статтў LKJ,LKJ3 для побудови кругўв )
 ( На стеку C XC YC RMAX RMIN ->  ; С-колўр, XC,YC-коорд.центру)
 ( RMAX,RMIN-радўуси максимальний та мўнўмальний               )
 DECIMAL
 : LKJ DO 2 PICK 2 PICK 2 PICK I OKR I 10 / FONPAL I 8 / 80 *
 50 BEEP LOOP DROP ;
 : LKJ3 DO 2 PICK 2 PICK 2 PICK I OKR1 LOOP DROP ;
 .( LKJ та LKJ3 - ЗАВАНТАЖЕНЎ) CR

    Тестування словникових статтей проведўть за допомогою тексту

 DECIMAL
 13 RGM 5 160 100 40 1 LKJ3 WAIT 8 160 100 90 40 LKJ WAIT 80S

Пўсля першого натискування <Enter> пўдчас побудови кругу LKJ до-
даї звуковий супровўд разом ўз змўнами фону та палўтри.
    Виконайте цей же текст, але без початкового фрагменту
13 RGM , тобто у буквено-цифровому режимў. Ви зможете спостерў-
гати наслўдки помилки, коли не встановлено графўчний режим, а
програма побудови зображення виконуїться.
    Пўдготуйте словникову статтю LKJ1 для побудови кругу шляхом
перебору точок прямокутно∙ областў та встановленням кольору то-
чок в залежностў вўд ўстиностў предикату належностў точок кругу.
    Перенесўть наступний текст у екран 13 звўтового файлу та
завантажте екран.

 ( У екран 13. LKJ1 - словникова стаття для побудови кругўв. )
 ( Стек: C XC YC RMAX RMIN  ->  ; як ў ранўше )
 : LKJ1   OVER DUP * OVER DUP * 5 PICK 4 PICK 2DUP -
  >R + R> 6 PICK 6 PICK 2DUP - >R + R>
  DO 2DUP DO
  I 8 PICK - ABS DUP *
  J ( 6 * 5 / ) 8 PICK - ABS DUP * +
  4 PICK OVER > >R
  3 PICK OVER < >R DROP R> R> AND
  IF 8 PICK I J PXWR THEN LOOP LOOP
  2DROP 2DROP 2DROP 2DROP DROP ;
  .( LKJ1 - ЗАВАНТАЖЕНО) CR

    Тестування словниково∙ статтў проведўть за допомогою тексту

 DECIMAL
 13 RGM 5 160 100 40 1 LKJ1 WAIT 8 160 100 90 40 LKJ1 WAIT 80S

Порўвняйте швидкўсть побудови круга за допомогою статтў LKJ3 та
за допомогою статтў LKJ1, шляхом проведення вўдповўдних експери-
ментўв. Результат запишўть у екран 14  звўтного файлу. Виконай-
те демонстрацўйну програму побудови кругўв. Для цього перенесўть
наступний текст у екран 15 звўтного файлу та завантажте екран.

 ( У екран 15. Демонстрацўя побудови кругўв    )
 DECIMAL  ( Використано LKJ)
  13 RGM  7 160 100 150 1   LKJ   6  110 50 40 38 LKJ
 6  210 50 40 38 LKJ  6 130 120 15 1 LKJ 6 160 115 20 1 LKJ
 6 190 120 15 1 LKJ 12 160 145 7 1 LKJ 12 153 148 9 1 LKJ
 12 167 148 9 1 LKJ 12 146 148 6 1 LKJ 12 174 148 6 1 LKJ
 12 138 148 2 1 LKJ 12 182 148 2 1 LKJ
 0 110 70 20 1 LKJ 0 210 70 20 1 LKJ WAIT 80S
 ( Використанў LKJ1 та LKJ3)
 DECIMAL 13 RGM
 4 110 100 30 1 LKJ1 6 150 50 45 5 LKJ3 7 180 120 79 4 LKJ1
 10 150 180 65 1 LKJ 12  80 100 45 5 LKJ 8 150  80 25 1 LKJ3
 14 10 100 95 5 LKJ1 WAIT 80S

    Для зручного вўдновлення словника Форт-системи пўсля переза-
вантаження ПЕОМ треба пўдготувати у екранў 16 наступний текст.

  ( Завантажувальний екран 16  для ЗАВАНТАЖЕННЯ 1 )
  DECIMAL
  1 LOAD 2 LOAD 4 LOAD 6 LOAD 9 LOAD 10 LOAD 12 LOAD 13 LOAD
  7 cba!
  .( ЗАВАНТАЖЕННЯ 1 ЗАВЕРШЕНЕ) 12 cba! CR

    При перезавантаженнў ПЕОМ пўсля пуску Форт-системи треба ви-
конати 16 LOAD . Це вўдновить у словнику всў словниковў статтў,
що з'явились при виконаннў 1-7 завдань. Це потрўбно робити, бо
згаданў словниковў статтў використовуються у наступних завдан-
нях.


     Завдання 8. СТВОРЕННЯ ЗАСОБЎВ ДЛЯ ВИВЕДЕННЯ ТОЧОК НА ЕКРАН
                 З МОДИФЎКАЦЎЇЮ РАНЎШЕ ВСТАНОВЛЕНОГО КОЛЬОРУ.

    Пўдготуйте словникову статтю з ўменем PXWR1, що вўдрўзняїть-
ся вўд статтў PXWR тим, що пўдчас ∙∙ виконання вўдбуваїться не
записування  коду   кольору у вўдеопам'ять, а модифўкацўя того
коду  , що був у пам'ятў, шляхом пўдсумовування розрядами (XOR)
того коду , що був у вўдеопам'ятў, та того, що задано . Засобами
BIOS можлива саме така модифўкацўя кольору, а звертанням до ре-
гўстрўв вўдеоадаптеру крўм тако∙ можливў ўншў логўчнў операцў∙
над кодами (не номерами!) кольору. Перенесўть текст екрану 4
звўтного файлу у екран 17 та вўдредагуйте текст, а саме:
    - видалўть останнў п'ять рядкўв,
    - замўнўть ўм'я PXWR на PXWR1,
    - замўсть коментаря перед рядком з командою 10 INT або у пу-
стий рядок, що з'явиться пўсля зсуву тексту униз, розмўстўть
фрагмент з текстом

       AL, # 80 OR

    За допомогою цўї∙ команди старший розряд регўстру AL набуваї
значення "1", що забезпечуї ўнший режим звертання до вўдеопам'я-
тў. Для зсуву рядкўв униз натиснўть <Ctrl>+<Page Down>. Пўсля
редагування завантажте екран 17. Пўдчас тестування PXWR1  треба
впевнитися, що дворазове звертання до пўкселу з одним номером
кольору вўдновлюї початковий колўр. Текст тесту перенесўть у ек-
ран 18 потўм завантажте екран та натискуйте <Enter>.

 ( У екран 18. Тестування словниково∙ статтў PXWR1 )
 DECIMAL
 : LLL 15 0 DO 300 0 DO I 19 / I 10 + 40 J + PXWR LOOP LOOP ;
 : LNN 50 0 DO 120 0 DO 14 I 120 + 100 J + PXWR1 LOOP LOOP ;
 : LNN1 60 0 DO 90 0 DO 12 I 180 +  90 J + PXWR1 LOOP LOOP ;
 : LNN2 80 0 DO 60 0 DO 11 I 150 +  80 J + PXWR1 LOOP LOOP ;
 : LNN3 45 0 DO 160 0 DO 13 I 100 + 120 J + PXWR1 LOOP LOOP ;
 13 RGM LLL
 LNN WAIT LNN1 WAIT LNN2 WAIT LNN3 WAIT LNN2 WAIT
 LNN1 WAIT LNN WAIT LNN3 LLL 80S FORGET LNN .( ЗАВЕРШЕНО)
 ( На жовтий прямокутник накладено червоний, далў на обидва    )
 ( накладено блакитний, а на всў перпурний, потўм повторюванням)
 ( накладень повертаїмо попереднї забарвлення. У верхнўй части-)
 ( нў екрану - прямокутник з усўма кольорами станд. палўтри.   )

     Завдання 9. СПОСТЕРЕЖЕННЯ ЗА ПОБУДОВОЮ КРУГЎВ З МОДИФЎКА-
                 ЦЎЇЮ КОЛЬОРУ.

    Використання модифўкацў∙ кольору дозволяї виявити факт не-
одноразового виводу пўкселу, що ўнодў потрўбно при вўдлагоджен-
нў програм. Разом з тим це гарантуї появу нових вўзерункўв, як
це можна бачити з наступно∙ демонстрацўйно∙ програми. Перенесўть
наступний текст у екрани 19 та 20 звўтного файлу та завантажте
екран 19.

 ( У екран 19.Коло з модифўкацўїю кольору.Cтек: C XC YC R ->)
 : OKPR2 2DUP 7 PICK + SWAP 8 PICK + SWAP 9 PICK 0 SWAP
 2OVER PXWR1    DROP 2DROP ; : ITER2 BEGIN 3 PICK 2 PICK +
 DUP * >R 0 OVER +    6 * 5 /   DUP * R> + 5 PICK - ABS >R
 0 2 PICK + DUP * >R 2 PICK OVER +   6 * 5 /   DUP * R> +
 5 PICK - ABS R> < IF 2 PICK + OKPR2 ELSE SWAP 3 PICK + SWAP
 OKPR2 THEN 2DUP *   0 = IF EXIT THEN AGAIN ;
 : OKR2 4 0 DO I 0 = IF DUP DUP * SWAP NEGATE 1 SWAP 1 SWAP
 0 THEN       I 1 = IF >R >R NEGATE R> R> THEN
              I 2 = IF >R >R >R NEGATE R> R> R> THEN
              I 3 = IF >R >R NEGATE R> R> THEN [ DECIMAL ]
 ITER2 LOOP 2DROP 2DROP DROP 2DROP DROP ; ( Круг з кўл LKJ2)
  : LKJ2 DO 2 PICK 2 PICK 2 PICK I OKR2 I 10 / FONPAL LOOP
  DROP ;  -->

 ( У екран 20. Круг з модифўкацўїю кольору LKJ4.)
 : LKJ4   OVER DUP * OVER DUP * 5 PICK 4 PICK 2DUP -
 >R + R> 6 PICK 6 PICK 2DUP - >R + R> DO 2DUP DO
 I 8 PICK - ABS DUP * J ( 6 * 5 / ) 8 PICK - ABS DUP * +
 4 PICK OVER > >R 3 PICK OVER < >R DROP R> R> AND IF 8 PICK
 I J PXWR1 THEN LOOP LOOP 2DROP 2DROP 2DROP 2DROP DROP ;
 ( Демонстрацўя побудови кругўв з модифўкацўїю кольору)
 DECIMAL 13 RGM      2 100 100  50 OKR1
 4 110 100 30 1 LKJ2 6 150 50 45 5 LKJ2 7 180 120 79 4 LKJ2
 10 150 180 65 1 LKJ2 12  80 100 45 5 LKJ2 8 150  80 25 1 LKJ2
 14 10 100 95 5 LKJ2 WAIT 80S
 DECIMAL 13 RGM  5 100 110 80 0 LKJ4 5 150 110 80 0 LKJ4
 4 110 100 30 1 LKJ4 6 150 50 45 5 LKJ4 7 180 120 79 4 LKJ4
 10 150 180 65 1 LKJ4 12  80 100 45 5 LKJ4 8 150  80 25 1 LKJ4
 14 10 100 95 5 LKJ4 WAIT 80S  .( ЗАВЕРШЕНО) FORGET OKPR2

     Завдання 10. СТВОРЕННЯ ЗАСОБЎВ ДЛЯ ЗМЎНИ ОКРЕМИХ КОЛЬОРЎВ
                  ПАЛЎТРИ.

    Номер кольору (0-15 для режимўв 13, 14 та 16) ї номер регў-
стру палўтри, у якому зберўгаїться код кольору. Код кольору це
шестирозрядне двўйкове число, розряди якого визначають наявнўсть
червоно∙ (R), зелено∙ (G) та синьо∙ (B) складових кольору вўдпо-
вўдно∙ ўнтенсивностў згўдно Таблицў 3.

                                             Таблиця 3
┌─────────┬───────────────────────────────────────────────────┐
│ N бўту  │                                                   │
│ коду    │  7     6      5      4      3      2     1     0  │
│ кольору │                                                   │
├─────────┼───────────────────────────────────────────────────┤
│ Складова│                                                   │
│ кольору │  X     X     R/2    G/2    B/2     R     G     B  │
│         │                                                   │
└─────────┴───────────────────────────────────────────────────┘

    Перенесўть у екран 21 звўтного файлу наступний текст словни-
ково∙ статтў USTC для записування нових кодўв кольору у регўстри
палўтри та завантажте екран 21.

 ( У екран 21. Cловн. стаття USTC для змўни кольору палўтри)
 ( Стек: N ->    N - у молодшому байтў номер регўстру палўтри,)
 ( у старшому байтў код кольору)
 HEX CODE USTC BX POP AX, # 1000 MOV 10 INT NEXT, END-CODE
 DECIMAL  .( USTC - ЗАВАНТАЖЕНО) CR

    Проведўть випробування словниково∙ статтў USTC. Замўнўть зе-
лений колўр стандартно∙ палўтри (регўстр 2) на яскраво-червоний,
вўдсутнўй у стандартнўй палўтрў (код кольору 100100), а синўй
(регўстр 1) на фўолетовий, також вўдсутнўй у стандартнўй палўтрў
(код кольору 001100). Перенесўть наступний текст у екран 22 звў-
тного файлу завантажте екран 22 та натискуйте <Enter>.

 ( У екран 22. Тестування словниково∙ статтў USTC )
 DECIMAL
: LLL1 91 0 DO 500 0 DO I 31 / I 60 + 120 J + PXWR LOOP LOOP ;
 CLEARSCREEN 16 RGM 80S
 16 RGM1 LLL1 WAIT HEX 2402 USTC WAIT 0D01 USTC WAIT 80S DECIMAL
 FORGET LLL1

    Якщо повторити тестування, то можна переконатися, що вста-
новлення графўчного режиму 16 вўдновлюї стандартну палўтру.
Коди кольорўв стандартно∙ 16-кольорово∙ палўтри вўдеоадаптеру
EGA наведенў у Таблицў 4.

                                             Таблиця 4
┌────────────┬────────────────────┬──────────────────────────┐
│ N регистру │                    │                          │
│ палўтри або│                    │  К о д   к о л ь о р у   │
│ N кольору  │      Колўр         │                          │
│ користувача│                    │      7 6 5 4 3 2 1 0     │
├────────────┼────────────────────┼──────────────────────────┤
│      0     │ Чорний             │      X X 0 0 0 0 0 0     │
│      1     │ Синўй              │      X X 0 0 0 0 0 1     │
│      2     │ Зелений            │      X X 0 0 0 0 1 0     │
│      3     │ Блакитний          │      X X 0 0 0 0 1 1     │
│      4     │ Червоний           │      X X 0 0 0 1 0 0     │
│      5     │ Пурпурний          │      X X 0 0 0 1 0 1     │
│      6     │ Коричневий         │      X X 0 1 0 1 0 0     │
│      7     │ Бўлий              │      X X 0 0 0 1 1 1     │
│      8     │ Темно-сўрий        │      X X 1 1 1 0 0 0     │
│      9     │ Свўтло-синўй       │      X X 1 1 1 0 0 1     │
│     10     │ Свўтло-зелений     │      X X 1 1 1 0 1 0     │
│     11     │ Свўтло-блакитний   │      X X 1 1 1 0 1 1     │
│     12     │ Свўтло-червоний    │      X X 1 1 1 1 0 0     │
│     13     │ Свўтло-пурпурний   │      X X 1 1 1 1 0 1     │
│     14     │ Жовтий             │      X X 1 1 1 1 1 0     │
│     15     │ Яскраво-бўлий      │      X X 1 1 1 1 1 1     │
│            │                    │ X - стан розряду нў на що│
│            │                    │     не впливаї           │
└────────────┴────────────────────┴──────────────────────────┘

    Користуючись Таблицею 4, скорегуйте текст екрану 22 так,
щоб встановити блакитний колўр фону (номер регўстру палўтри 0).
    Доведўть, або спростуйте тезу про те, що накладання кольо-
рўв стандартно∙ палўтри (при накладаннў за допомогою PXWR1 код
нового кольору ї результат пўдсумовування розрядами попередньо-
го та заданого кодўв кольорўв) НЕ ВИВОДИТЬ КОЛЎР З МНОЖИНИ КО-
ЛЬОРЎВ СТАНДАРТНО° ПАЛЎТРИ.

     Завдання 11. ПЕРЕГЛЯД ВСЎХ КОЛЬОРЎВ ДИСПЛЕЮ.

    Встановлюючи всў можливў коди кольорўв, можна переглянути
можливў кольори дисплею, але водночас на екранў можуть перебува-
ти тўльки 16 з 64-ох. Наступна програма кожного разу рўсля нати-
скання <Enter> змўнить один з кольрўв палўтри, беручи код кольо-
ру з лўчильника, що лўчить натискання вўд 0 до 63. Перенесўть
наступний текст у екран 23 звўтного файлу та завантажте екран.

 ( У екран 23. Перегляд кольорўв дисплею)
 DECIMAL
 : LLL1 91 0 DO 500 0 DO I 31 / I 60 + 120 J + PXWR LOOP LOOP ;
 : L-L 4 0 DO 16 0 DO 15 31 I * 65 + J 8 * 215 +
 15 0 DO 2 PICK 2 PICK  I + 2 PICK PXWR LOOP DROP DROP DROP
 J 16 * I + 256 * I + USTC WAIT LOOP LOOP ;
 16 RGM LLL1 L-L 80S  FORGET LLL1
 ( Натисканням <Enter> у регўстри палўтри надсилаїмо черговий)
 ( код кольору та пўд кольоровим прямокутником, де можливо   )
 ( змўнено колўр, ставимо курсор-позначку. Ї можливўсть спўв-)
 ( ставлення кольру та коду кольору.                         )

    Зауважимо, що подўбний перегляд кольорўв чўтко дўї лише у
режимў 16. Регўстр палўтри з номером 0 встановлюї колўр фону
на екранў, тому прямокутник з фоновим кольором не видўлено, а
пўдчас експерименту вўдбуваїться також змўна кольору фону.
    Для заданого викладачем коду кольору, користуючись Табли-
цями 3, 4 та законами змўшування свўтла рўзних кольорўв, спро-
буйте визначити колўр, що вўдповўдаї коду. Доведўть правоту за-
вантаженням екрану 23 та демонстрацўїю вўдповўдного кольору вик-
ладачу.

     Завдання 12. СТВОРЕННЯ ЗАСОБЎВ ЗАПИСУВАННЯ ЗОБРАЖЕНЬ У РЎЗ-
                  НЎ СТОРЎНКИ ВЎДЕОПАМ'ЯТЎ ТА ЗАСОБЎВ ПРИЗНАЧЕН-
                  НЯ АКТИВНО° СТОРЎНКИ.

    Процес формування зображень на екранў не завжди бажано по-
казувати користувачевў, тому використовують можливўсть формуван-
ня зображення у однўй сторўнцў вўдеопам'ятў пўдчас перегляду ўн-
шо∙. Мўнўмально потрўбнў 2 сторўнки, але при наявностў зайво∙
пам'ятў ∙х не завадило мати бўльше, про що свўдчать данў Таблицў
2. У графўчних режимах ї можливўсть "перегортання" сторўнок у
текстових режимах ї також можливўсть плавного перемўщення почат-
ку сторўнки у вўдеопам'ятў.
    Поданий нижче текст мўстить визначення для словникових
статтей PXWR2, SPG та 8STR. Перша на вўдмўну вўд PXWR та PXWR1
потребуї на стеку ще й номер сторўнки вўдеопам'ятў. Друга потре-
буї на стеку номер сторўнки, яку бажаїмо бачити на екранў. За
замовчанням у якостў активно∙ встановлюїться сторўнка з номером
0. Перенесўть поданий нижче текст у екрани 24, 25, 26 звўтного
файлу та завантажте екрани 24 та 25. Пўсля тривалого формування
зображено натисканням <Enter> можна перегортати сторўнки перўо-
дично. Для виходу - <Esc>. Для повторення перегортання треба у
дўалозў виконати 13 RGM 8STR 80S.

 ( У екран 24. PXWR2,SRG та 8STR для записування точок у рўзнў)
 ( сторўнки, для призначення активно∙ сторўнки та перегортання)
 ( PXWR@ Стек: N C X Y ->   N-номер сторўнки, C-номер кольору,)
 ( X,Y-координати точки. )
 HEX CODE PXWR2  DX POP CX POP AX POP BX POP ( перенесення    )
 ( N,C,X,Y  ўз стеку на регўстри BX DX CX AX                  )
 AH, # C MOV ( встановлення операцў∙ "записування" точки      )
 BH, BL  MOV ( встановлення номеру сторўнки                   )
 10  INT NEXT, END-CODE  ( звернення до BIOS та завершення    )
 ( SPG для призначення активно∙ сторўнки. Стек: N-номер стор. )
 CODE SPG AX POP AH, # 5 MOV 10 INT NEXT, END-CODE DECIMAL
 ( 8STR для порўодичного перегляду 8 сторўнок з виходом <Esc>.)
 : 8STR 0 BEGIN DUP SPG 1 + 8 MOD KEY 27 = IF DROP EXIT THEN
 AGAIN ; .( PXWR2, SPG, 8STR - ЗАВАНТАЖЕНЎ) CR

 ( У екран 25. Засоби для формування зображень у 8 сторўнках.)
 : POLE 320 0 DO 200 0 DO 2 I 15 MOD 1 + J I PXWR2 LOOP LOOP ;
 : POLE4 320 0 DO 200 0 DO 1 I J * 515 / J I PXWR2 LOOP LOOP ;
 : POLE5 320 0 DO 200 0 DO 3 I I J * *  15000 /
       16 MOD 1 +  J I   PXWR2 LOOP LOOP ;
 : POLE6 320 0 DO 200 0 DO 7 I I * J J * + 550 / 16 MOD J I
 PXWR2 LOOP LOOP ;
 : POLE7 320 0 DO 200 0 DO 4 I 100 - DUP * J 160 - DUP * + 500
 / 16 MOD J I PXWR2 LOOP LOOP ;
 : POLE8 320 0 DO 200 0 DO 5 I 100 - DUP * J 160 - DUP * + 100 /
 16 MOD J I PXWR2 LOOP LOOP ;
 : POLE9 200 0 DO 320 0 DO 6 J 150 > IF 9 ELSE 10 THEN I J
 PXWR2 LOOP LOOP ;
 : POLE10 200 0 DO 320 0 DO  0 J 100 > IF 14 ELSE 11 THEN I J
 PXWR2 LOOP LOOP ;                                       -->

 ( У екран 26. Експеримент з перегортанням сторўнок. Пўсля фор-)
 ( мування зображення кожно∙ сторўнки подаїться звуковий сигнал)
 ( та кольоровий круг на екранў, пўсля завершення формування - )
 ( бўльш протяжний сигнал. Далў натисканням <Enter> перегортаї-)
 ( мо сторўнки. Вихўд - <Esc>)
 DECIMAL : LLL 40 15 0 LKJ1 ; 13 RGM POLE 1 30 LLL ALARM POLE4 2
 60 LLL ALARM POLE5 3 90 LLL ALARM POLE6 4 120 LLL ALARM POLE7 5
 150 LLL POLE8 6 180 LLL ALARM POLE9 7 210 LLL SIREN 8 240 LLL
 SIREN 8STR 9 270 LLL WAIT 2 80S  DECIMAL

    На завершення роботи створўть завантажувальний екран 27 з
поданим нижче текстом, що забезпечить повне завантаження наро-
бок. Це зробить доступним будь-який експеримент з проведених
пўдчас виконання роботи.

  ( Завантажувальний екран 27  для ЗАВАНТАЖЕННЯ 2 )
  DECIMAL
  16 LOAD 19 LOAD 21 LOAD 24 LOAD
  7 cba!
  .( ЗАВАНТАЖЕННЯ 2 ЗАВЕРШЕНЕ) 12 cba! CR

    Перевўрте можливўсть завантаження за допомогою екрану 27.
Для цього багаторазово виконайте рядок FORGET RGM, поки систе-
ма повўдамить, що RGM вўдсутня ў бўльше нўчого "забувати". Цим
вўдбулося викреслення з пам'ятў всўх наробок. Потўм завантажте
екран 27 та доведўть можливўсть демонстрацў∙ будь-якого експери-
менту з тих, що були приготованў.
    Ваш звўтний файл пўдтвердить виконання роботи, а контроль
засвоїння матерўалу буде проведено з допомогою контролюючо∙ про-
грами у середовищў "АДОНЎС".

     3. ДОВЎДКОВЎ ВЎДОМОСТЎ ПРО СТВОРЕНЎ СЛОВНИКОВЎ СТАТТЎ.

                                                  Таблиця 5.
┌───┬────────┬───────────────────────┬─────────────────────────┐
│N  │ Ўм'я   │  Що маї бути на стеку │      Дўя словниково∙    │
│п/п│ словн. │  перед ў зостаїться   │      статтў та ∙∙       │
│   │ статтў │  пўсля виконання      │      призначення        │
├───┼────────┼───────────────────────┼─────────────────────────┤
│ 1 │ RGM    │     n1 -->            │ Встановлення режиму ди- │
│   │        │ n1 - номер режиму.    │ сплею з очищенням вўдео-│
│   │        │                       │ пам'ятў.                │
│   │        │                       │                         │
│ 2 │ 80S    │        -->            │ Встановлення текстового │
│   │        │                       │ режиму дисплею з очищен-│
│   │        │                       │ ням вўдеопам'ятў.       │
│   │        │                       │                         │
│ 3 │ RGM1   │     n1 -->            │ Встановлення режиму ди- │
│   │        │ n1 - номер режиму.    │ сплею без очищення вў-  │
│   │        │                       │ деопам'ятў.             │
│   │        │                       │                         │
│ 4 │ 80SS   │        -->            │ Встановлення текстового │
│   │        │                       │ режиму дисплею з очищен-│
│   │        │                       │ ням вўдеопам'ятў.       │
│   │        │                       │                         │
│ 5 │ PXWR   │ n1 n2 n3 -->          │ Виведення точки на ек-  │
│   │        │ n1 - номер кольору,   │ ран з встановленням но- │
│   │        │ n2 - координата X,    │ вого кольору.           │
│   │        │ n3 - координата Y.    │                         │
│   │        │                       │                         │
│ 6 │ OBR    │ n1 n2  -->            │ Виведення обрамлення ек-│
│   │        │ n1 - номер режиму,    │ рану 320х200 точок.     │
│   │        │ n2 - номер кольору.   │                         │
│   │        │                       │                         │
│ 7 │ OBR16  │ n1 n2  -->            │ Виведення обрамлення ек-│
│   │        │ n1 - номер режиму,    │ рану 640х350 точок.     │
│   │        │ n2 - номер кольору.   │                         │
│   │        │                       │                         │
│ 8 │ FONPAL │     n1 -->            │ Встановлення кольору фо-│
│   │        │ Якщо у старшому байтў │ нe або палўтри.         │
│   │        │ значення "1", у молод-│                         │
│   │        │ шому номер палўтри.   │                         │
│   │        │ Якщо у старшому байтў │                         │
│   │        │ значення "0", у молод-│                         │
│   │        │ шому номер кольору фо-│                         │
│   │        │ ну.                   │                         │
│   │        │                       │                         │
│ 9 │ OKR1   │ n1 n2 n3 n4 -->       │ Побудова кола без корек-│
│   │        │ n1 - колўр,           │ цў∙ викривлення.        │
│   │        │ n2,n3 - X,Y-координати│                         │
│   │        │ центру,               │                         │
│   │        │ n4 - радўус.          │                         │
│   │        │                       │                         │
│10 │ OKR    │ n1 n2 n3 n4 -->       │ Побудова кола   з корек-│
│   │        │ n1 - колўр,           │ цўїю викривлення.       │
│   │        │ n2,n3 - X,Y-координати│                         │
│   │        │ центру,               │                         │
│   │        │ n4 - радўус.          │                         │
│   │        │                       │                         │
│11 │ LKJ    │ n1 n2 n3 n4 n5 -->    │ Побудова кругу з концен-│
│   │        │ n1 - колўр,           │ тричних кўл з корекцўїю │
│   │        │ n2,n3 - X,Y-координати│ викривлень, звуковим су-│
│   │        │ центру,               │ проводом та змўнами фону│
│   │        │ n4 - радўус кўнцевий, │ ў палўтри.              │
│   │        │ n5 - радўус початковий│                         │
│   │        │                       │                         │
│12 │ LKJ3   │ n1 n2 n3 n4 n5 -->    │ Побудова кругу з концен-│
│   │        │ n1 - колўр,           │ тричних кўл без корекцў∙│
│   │        │ n2,n3 - X,Y-координати│ викривлень.             │
│   │        │ центру,               │                         │
│   │        │ n4 - радўус кўнцевий, │                         │
│   │        │ n5 - радўус початковий│                         │
│   │        │                       │                         │
│13 │ LKJ1   │ n1 n2 n3 n4 n5 -->    │ Побудова кругу перебором│
│   │        │ n1 - колўр,           │ точок прямокутно∙ обла- │
│   │        │ n2,n3 - X,Y-координати│ стў без корекцў∙ викрив-│
│   │        │ центру,               │ лень.                   │
│   │        │ n4 - радўус кўнцевий, │                         │
│   │        │ n5 - радўус початковий│                         │
│   │        │                       │                         │
│14 │ PXWR1  │ n1 n2 n3 -->          │ Виведення точки на ек-  │
│   │        │ n1 - номер кольору,   │ ран з модифўкацўїю ко-  │
│   │        │ n2 - координата X,    │ льору. Код нового кольо-│
│   │        │ n3 - координата Y.    │ ру ї сума розрядами по- │
│   │        │                       │ переднього та надўслано-│
│   │        │                       │ го кодўв (а не номерўв) │
│   │        │                       │ кольору.                │
│   │        │                       │                         │
│15 │ OKR2   │ n1 n2 n3 n4 -->       │ Побудова кола   з корек-│
│   │        │ n1 - колўр,           │ цўїю викривлення та з   │
│   │        │ n2,n3 - X,Y-координати│ модифўкацўїю кольору.   │
│   │        │ центру,               │                         │
│   │        │ n4 - радўус.          │                         │
│   │        │                       │                         │
│16 │ LKJ2   │ n1 n2 n3 n4 n5 -->    │ Побудова кругу з концен-│
│   │        │ n1 - колўр,           │ тричних кўл з корекцўїю │
│   │        │ n2,n3 - X,Y-координати│ викривлень, змўнами фону│
│   │        │ центру,               │ та молифўкацўїю кольору.│
│   │        │ n4 - радўус кўнцевий, │                         │
│   │        │ n5 - радўус початковий│                         │
│   │        │                       │                         │
│17 │ LKJ4   │ n1 n2 n3 n4 n5 -->    │ Побудова кругу перебором│
│   │        │ n1 - колўр,           │ точок прямокутно∙ обла- │
│   │        │ n2,n3 - X,Y-координати│ стў без корекцў∙ викрив-│
│   │        │ центру,               │ лень та з модифўкацўїю  │
│   │        │ n4 - радўус кўнцевий, │ кольору.                │
│   │        │ n5 - радўус початковий│                         │
│   │        │                       │                         │
│18 │ USTC   │       n1 -->          │ Встановлення коду кольо-│
│   │        │ n1 - старший байт несе│ ру у регўстр палўтри,   │
│   │        │ код кольору, молодший │ часткова змўна палўтри. │
│   │        │ байт - номер регўстру │                         │
│   │        │ палўтри або номеру ко-│                         │
│   │        │ льору.                │                         │
│   │        │                       │                         │
│19 │ PXWR2  │ n1 n2 n3 n4 -->       │ Виведення точки у вўдео-│
│   │        │ n1 - номер сторўнки   │ пам'ять у певну сторўнку│
│   │        │ n2 - номер кольору,   │ з встановленням нового  │
│   │        │ n3 - координата X,    │ кольору.                │
│   │        │ n4 - координата Y.    │                         │
│   │        │                       │                         │
│20 │  SPG   │      n1 -->           │ Призначення активно∙,   │
│   │        │ n1 - номер сторўнки.  │ тўї∙, що буде виведена  │
│   │        │                       │ на екран, сторўнки      │
│   │        │                       │ вўдеопам'ятў.           │
│   │        │                       │                         │
│21 │ 8STR   │        -->            │ Перегортання сторўнок   │
│   │        │                       │ вўдеопам'ятў перўодично │
│   │        │                       │ у напрямку збўльшення   │
│   │        │                       │ номерўв. Виведення чер- │
│   │        │                       │ гово∙ сторўнки - <Enter>│
│   │        │                       │ вихўд - <Esc>.          │
└───┴────────┴───────────────────────┴─────────────────────────┘

     4. СПИСОК ЛЎТЕРАТУРИ.
    1. Жутаев М.B., Видеоадаптеры и видеомониторы EGA, VGA и
SuperVGA. Справочное пособие.-М.: АО "Звёзды и С", 1992.
    2. Григорьев В.Л., Видеосистемы ПК фирмы IBM.-М: Радио и
связь, 1993.- 192 c.: ил.
    3. Джордейн Р. Справочник программиста персональных компью-
теров типа IBM PC, XT и AT: Пер. с англ./Предисл. Н. В. Гайско-
го. -М.: Финансы и статистика, 1992.- 544 c.: ил.

────────────────────────────────────────────────────────────────
    К Ў Н Е Ц Ь     М Е Т О Д И Ч Н И Х     В К А З Ў В О К

