Курсовая работа: Програма "Screen Saver" (зберігач екрану)

Процедура OLD_1CH працює аналогічно процедурі OLD_09H. Вона також отримує вектор переривання 1CH, записує його в змінну OLD_TIMER та встановлює новий обробник переривання – NEW_1CH.

Процедура обробки переривання NEW_1CH викликається приблизно 18.2 рази в секунду. Аналогічно процедурі NEW_09H, NEW_1CH також змінює значення регістрів, і для коректної роботи їх потрібно зберегти в стек, що й робиться на самому початку процедури. Далі перевіряється змінна MODE, щоб запобігти багаторазовому гасінню екрану. Якщо MODE=1 (екран був погашен), то здійснюється перехід на мітку EXIT, де відновлюються з стеку значення регістрів та керування передається старому обробнику переривання.

Якщо MODE=0 (екран не погашен), то перевіряється чи досяг лічильник часу COUNTER необхідного значення. Якщо не досяг, то значення COUNTER просто збільшується на одиницю і, відновивши з стеку значення усіх регістрів, керування передається старому обробнику. Якщо ж лічильник COUNTER досяг заданого значення, то здійснюється перехід на мітку SS_ON, де вміст відео пам’яті зберігається в масив VIDEO0, а в відео пам’ять переписуються нулі із масиву VIDEO1. Після цього змінна MODE встановлюється в 1 (екран погашен), з стеку відновлюються значення регістрів та керування передається старому обробнику переривання.

2.3 Опис язика програмування

ASM 86 являє собою мову програмування низького рівня. Основною різницею язика Assembler від язиків високого рівня таких як C, Pascal та інші, є те, що оператори язиків високого рівня звичайно переводяться в цілі набори машинних кодів, а команди язика Assembler безпосередньо в машинний код. Язик Assembler має багато достоїнств і одним з них є те, що на Assemblerі можна на пряму користуватися командами процесора.

Мова ASM 86 дозволяє оперувати такими символами:

– латинські літери: 26 заглавних та 26 строкових літер;

– цифри: від 0 до 9;

– знаки арифметичних операцій:

1. + (додавання)

2. - (віднімання)

3. * (множення)

4. / (ділення)

5. = (еквівалентно);

- команди пересилки даних, (MOV, LEA, XCHG, PUSH, POP),

- команди арифметичних операцій, (ADD, ADC, SUB, SBB, MUL, IMUL, DIV, IDIV),

- команди логічних операцій, (NOT, AND,OR, XOR),

- команди передачі керування, (JMP, JA, JNA, JB, JNB, JE, JNE, JZ, JNZ, JC, JNC, INT, IRET, CALL, RET)

- спеціальні команди, (OFFSET – зміщення, MODEL – модель пам’яті, CMP – порівняння).

Також ASM 86 дозволяє оперувати з регістрами мікропроцесору (AX, BX, CX, DX, DI, SI, CS, DS, ES, SS, BP, SP), з пам’яттю та відео пам’яттю.

2.4 Опис складу технічних і програмних засобів

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

– мікропроцесор................................................. Intel 80286 або вище;

– об’єм оперативної пам’яті............................... 640kb та більше;

– об’єм вінчестера............................................... 40Mb або більше;

– операційна система........................................... MS DOS.

Програма складається з одного виконавчого файлу ssaver.com . Для того, щоб запустити програму на виконання необхідно просто набрати її ім’я в командному рядку DOS , вказавши перед ним шлях до файлу.

Наприклад C:\ssaver\ssaver.com


Висновок

К-во Просмотров: 235
Бесплатно скачать Курсовая работа: Програма "Screen Saver" (зберігач екрану)