чення вектора переривання для INT (AL), тобто загру-жает у ВХ 0000: [AL * 4], а в ES - 0000: [(AL * 4) +2]., функція 25h Встановити вектор переривання
Вхід: = 25h-номер переривання: DX - вектор переривання - адресу програми обробки переривання
Опис. Встановлює значення елемента таблиці векторів переривань для переривання з номером AL, рівним DS: DX. Це рівносильно запису 4-байтового адреси в 0000: (AL * 4), але, на відміну від прямого запису, DOS знає, що відбувається, і гарантує, що в момент запису переривання будуть заблоковані. DOS, функція 31h int 21h Завершитися і залишитися резидентним
Вхід: = 31h-код виходу-об'єм пам'яті, залишеної резидентної (у параграфах)
Опис.
Виходить у батьківський процес, зберігаючи код виходу в AL. Код виходу можна отримати через функцію 4Dh. DOS встановлює початковий розподіл пам'яті, як специфіковано в DX, і повертає управління батьківському процесу, залишаючи зазначену пам'ять резидентної (число байт одно DX * 16). Ця функція перекриває функцію INT 27h, що не повертає код виходу і не здатна встановити резидентну програму, розмір якої перевищує 64Кбайт. Int 10h Читання декількох регістрів таблиці кольорів (регістрів ЦАП) - подфункция 17h
Функція виробляє читання 18-бітових значень з декількох послідовно розташованих регістрів таблиці кольорів:
На вході: AH 10hAL 17h - читання декількох регістрів таблиці цветовBL Номер першого регістра таблиці кольорів (0 -255) CX Кількість регістрів для читання (1-256) ES: DXАдрес буфера для таблиці цветовНа виході: ES : DXДанние прочитані з таблиці кольорів
Таблиця кольорів містить по три байти на один регістр таблиці кольорів. У кожному байті значущими є лише молодші 6 біт. br/>
. Блок схеми
В
4. Текст програми
. model small_key EQU 3fh; скан-код F5
. stack 100h
. datadw 0; прапор запису екрану 1-йде запісьold dd?; зберігає адресу перехопленого переривання Int 09h'scrgrb. bmp ', 0; ім'я файлу
; BMP-файл (для зображення 320x200x256) _headerlabelbyte
; файловий заголовок_file_headerdb "BM"; сигнатура; розмір файлу, 0, 0, адреса початку BMP_data ​​p>
; інформаційний заголовок_info_headerddbi_size; розмір BMP_info_header; ширина; висота; число колірних площин; число бітів на піксель; метод стиснення даних * 200; розмір даннихB13h; дозвіл по X (піксель на метр) 72ppiB13h; дозвіл по Y (піксель на метр) 72ppi; число використовуваних кольорів (0 - все); число важливих кольорів (0 - все)
bi_size = $-BMP_info_header; розмір BMP_info_header_header_length = $-BMP_header; розмір обох заголовків = $-BMP_file_header +256 * 4; ро...