Описание структуры программы

Описание структуры программы. Программа была реализована с помощью нескольких пользовательских процедур и макросов см. таблицу 2 . Довольно часто в программах, особенно больших, приходится несколько раз решать одну и ту же подзадачу и поэтому приходится выписывать одинаковую группу команд, решающих эту подзадачу. Чтобы избежать повторного выписывания такой группы команд, ее обычно выписывают один раз и оформляют соответствующим образом, а затем в нужных местах программы просто передают управление на эти команды, которые, проработав, возвращают управление обратно.

Такая группа команд, которая решает некоторую подзадачу и которая организована таким образом, называется процедурой.

Нередко бывает полезным предварительное до начала трансляции преобразование текста программы. Например, может потребоваться, чтобы какой-то фрагмент программы был продублирован несколько раз или чтобы в зависимости от некоторых условий в тексте программы были сохранены одни фрагменты и удалены другие.

Подобную возможность предоставляют так называемые макросредства.

Расширение языка ассемблера за счет этих средств обычно называют макроязыком.

Программа, написанная на макроязыке, транслируется в два этапа. Сначала она переводится на, так сказать, чистый язык ассемблера, т.е. преобразуется к виду, где нет никаких макросредств. Этот этап называется макрогенерация, его осуществляет специальный транслятор - макрогенератор. На втором этапе полученная программа переводится на машинный язык. Это этап ассемблирования, его осуществляет ассемблер.

Таблица 2 Таблица процедур и макросов Название Тип Назначение Movcur Макрос Перемещает курсор Clrscr Макрос Очищает экран Print Макрос Выводит на экран строку Press Макрос Реализует задержку ShowQuestion Процедура Выводит на экран меню SborSved Процедура Осуществляет сбор сведений TestMem Процедура Осуществляет тест памяти При выполнении программы на экран выводится аннотация, пользователь, ознакомившись с программой, нажимает на любую клавишу, и на экран выводится меню с помощью процедуры ShowQuestion, в котором пользователь может выбрать интересующий его пункт меню - сбор сведений о ПК - тест памяти - выход.

Если выбран первый пункт, выполняется процедура ShowSved. Внутри данной процедуры реализована очистка экрана, с помощью макроса ClrScr, а также диагностика оборудования и задержка, реализованные с помощью макроса press. После выполнения данной процедуры программа переходит в начало, т.е. в меню. В случае выбора второго пункта, выполняется процедура TestMem, тестирующая оперативную память ПК. Также внутри данной процедуры реализованы очистка экрана и задержка перед выходом в меню. Если выбран третий пункт, программа, не очищая экран, передает управление операционной системе DOS . 2.3.