256 * 4dx, offset Palette
int 21hferr; якщо сталася помилка при роботі з файломdsax, 0a000h; завантажити сегмент початку відеопамятіds, axdx, 320 * 199; вказує на останній рядок екранаdi, 200; кількість рядків екрана_copy: ax, 4000h; записати в файл рядок екранаcx, 32021hferr; якщо сталася помилка при роботі з файломdx, 320; обчислити адресу наступного рядка для запісіdi; зменшити лічильник рядків для запису
jnz str_copyds_file: ax, 3e00h; закрити файл21hferr :: din, 0; прапор зайнятості обнулітьesdisidxcxbxaxdsnew endp
. startupax, 0900h; вивести інформацію про програму
lea dx, info_mes21h
mov ax, 3509h; отримати адресу обробника Int 09h21hword ptr int09old, bx; зберегти адресу ES: BX у змінній int09old
mov word ptr int09old +2, esdsax, @ codeds, ax
mov ax, 2509h; встановити новий обробник Int 09h з адресою DS: DX
mov dx, offset int09new21h
pop dsdx, offset info_mes; розмір сегмента даних для резидентної частіdx, offset end_cs; розмір сегмента кодаdx, 120h; для вирівнювання на параграфи + PSPcx, 4dx, cl; висловити розмір програми в параграфах DX/16ax, 3100h; залишимо частину резидентної
int 21h_cs label byte
end
програма графічний файл команда
Список використаної літератури
1.Джордан Асемблер
2.Юрій А. М. Введення в асемблер
. П. Нортон Довідник з ассемблеру
. Різаєв І. С. Конспект лекцій з СПО
. Електронні інформаційні ресурси мережі Інтернет