Мова програмування Assembler
Методическое пособие - Компьютеры, программирование
Другие методички по предмету Компьютеры, программирование
не повинна перед обслуговуванням пристрою визначати, яке з них запросило переривання. Це зменшує тривалість переривання і спрощує програму його обробки. У програмах зустрічаються такі ділянки, виконання яких не може бути перервано. Можливо, що частина деякої конкретної програми повинна виконуватися дуже швидко для того, щоб одержати визначений результат, або програма працює з даними, що зберігалися у памяті, які можуть бути змінені при обробці переривань. У кожному з цих випадків програма повинна мати можливість заборонити переривання, тобто не допускати виконання переривання на цих критичних ділянках програми. Після прохо- дження цих ділянок, функціонування ситеми переривань повинне бути відновлено програмою. Програма не може блокувати систему переривань занадто довго, інакше в обслуговуванні пристрою, який запросив перерива- ння, може відбутися збій. Якщо програма обробки переривання, яке надійш- ло з клавіатури, не встигне обдумати символ перед тим, як оператор надрукує наступний, то цей другий символ може бути загублений. У мікропроцесорі 8088 є можливість увести заборону на всі зовнішні переривання. У IBM PC, крім того, є можливість задавати пристрою, що можуть викликати переривання. Це дозволяє вибрати в програмі найбільш важливі пристрої, яким дозволене переривання, і одночасно заборонити переривання від інших, менш важливих. Методи заборони переривань будуть розглянуті в наступних главах.
4. Основні переривання та їх функції (крім 21h)
Принтери класифікуються по якості друку. Матричний принтер формує символи у виді матриці крапок і забезпечує нормальний, вузький і широкий формати символів. Більш модернізовані матричні принтери забезпечують крапкову графіку, похилий шрифт, жирний друк і подвійну щільність, а також можуть друкувати, наприклад, символи гральних карт і інші алфавітно-цифрові символи. Високоякісні друкуючі пристрої, що тануть, обмежені набором символів на змінної "ромашці" чи барабані, але забезпечують відмінну якість друку і велику розмаїтість принтерів. Багато з високоякісних принтерів забезпечують друк в 10,12 чи 15 символів на дюйм, а також пропорційне розташування пробілів, підкреслення, тіньового і напівжирного друку. Лазерні принтери мають переваги як для матричної графіки, так і для якісного друку текстів. Інша класифікація друкувальних пристроїв звязана з інтерфейсами. Компютери IBM PC мають рівнобіжний інтерфейс, що дозволяє передавати одночасно вісім бітів інформації на принтер. Крім того, існує послідовний інтерфейс, який виконує побітову передачу даних. Багато принтерів мають буфер памяті, обсягом у декілька тисяч байтів. Принтери також можуть приймати біти контролю на парність (непарність). Принтери повинні "розуміти" спеціальні сигнали з процесора, наприклад, для прогону листа, перекладу чи рядка горизонтальної табуляції. У свою чергу, процесор повинен "розуміти" сигнали від принте- ра, що вказують на кінець папера або стан "зайняте". На жаль багато типів принтерів по різному реагують на сигнали процесора й однією з найбільш складних проблем для програмістів - забезпечити відповідність власних програм наявним друкувальним пристроєм.
СИМВОЛИ КЕРУВАННЯ ПЕЧАТКОЮ
Стандартними символами керування печаткою є:
Горизонтальна табуляція.
Горизонтальна табуляція (тичина.09) можлива тільки на принтерах, що мають відповідне забезпечення, інакше символи табуляції ігноруються. В останньому випадку можна імітувати табуляцію висновком відповід- ного числа пробілів.
Переклад рядка.
Символ перекладу рядка (тичина.OA) використовується для прогону листа на один інтервал. Відповідно для друку через два інтервали використо-вується два символи перекладу рядка.
Прогін сторінки.
Установка паперу після включення принтера визначає початкову позицію друку сторінки. Довжина сторінки за замовчуванням складає 11 дюймів. Ні процесор, ні принтер автоматично не визначають кінець сторінки. Якщо ваша програма продовжує друкувати після закінчення сторінки, то відбу- деться перехід через міжсторінкову перфорацію на початок наступної сто- рінки. Для керування сторінками необхідно підраховувати число надрукова- них рядків і при досягненні максимального значення (наприклад, 55 рядків) видати код прогона сторінки (тичина.OC), а потім скинути лічильник рядків у 0 чи 1. Наприкінці друку необхідно видати символ "перекладу рядка" або "прогону сторінки" для видачі на друк даних останнього рядка, що знаходяться в буфері друкуючого пристрою. Використання останнього символу "прогін сторінки" дозволяє встановити надрукований останній лист у положення для відриву.
ФУНКЦІЇ ПЕЧАТКИ В РОЗШИРЕНІЙ ВЕРСІЇ DOS
В операційній системі DOS 2.0 наявні файлові покажчики, що були показані в главах по керуванню екраном дисплея і дискової печатки. Для висновку на друкуючий пристрій використовується функція DOS тичина.40 і стандартний файловий номер 04. Наступний приклад демонструє печатка 25 символів з області HEADG:
У випадку помилки операція встановлює прапор CF і повертає код помилки в регістрі AX.
ПРОГРАМА: ПОСТОРІНКОВА ПЕЧАТКА З ЗАГОЛОВКАМИ
Програма, приведена на рис.19.1, аналогічна програмі на рис.9.1, за винятком того, що після введення імен з клавіатури виводить їх не на екран, а на друкуючий пристрій. Кожна надрукована сторінка містить заголовок, і через подвійний інтервал список введених імен у наступ