Программа состоит из основной программы и трех функций.
u void *readvect(int in) — функция читает вектор прерывания с номером in и возвращает его значение.
u void writevect (int in, void *h) — функция устанавливает новый вектор прерывания in на новый обработчик этого прерывания по адресу h.
u void interrupt newtime() — процедура нового обработчика прерывания таймера.
Описание переменных и констант
В этой программе применяются две константы:
u TIMEINT=8 —номер прерывания таймера;
u NN=100 — максимальное число показаний АЦП.
Переменные, глобальные для всей программы:
u y — массив показаний АЦП;
u ny — текущий индекс в массиве показаний;
u yc — текущее значение функции;
u kf — счетчик вызовов oldtime (oldtime вызывается каждые второй раз);
u rr и sr — переменные, которые используются для задания значений регистров общего назначения и сегментных регистров, соответственно при вызове прерывания.
Переменные главной программы:
u oldtic — старый коэффициент деления;
u newtic — новый коэффициент деления (применяется для увеличения частоты вызова прерываний таймера);
u x — аргумент заданной функции F(x);
u dd —тип графического адаптера;
u m — режим графики;
u errorcode — код результата инициализации графики.