Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB.DOC
Скачиваний:
16
Добавлен:
18.02.2017
Размер:
111.1 Кб
Скачать

Пример вызывающей программы

#include <stdio.h>

#include <process.h>

#include <errno.h>

void main()

{

char *fan_name;

a: printf("\Введите имя программы;");

scanf("%s",fan_name);

if (*fan_name=='quit') exit(0);

system(fan_name);

perror("\n Код ошибки в вызываемой программе");

goto a;

}

ДОМАШНЕЕ ЗАДАНИЕ

1. Написать программу вычисления одной из функций: sin(x), cos(x), x2 ( в виде самос-тоятельной ЕХЕ-программы).

2. Написать программу, которая могла бы вызывать Вашу программу и команды DOS, а также осуществлять возврат в DOS используя меню:

ВЫБОР ПРОГРАММЫ:

1 - sin(x)

2 - cos(x)

3 - произвольная программа

4 - возврат в DOS.

Обратите внимание на необходимость “обнуления” имени вызываемой программы при повторном вызове с использованием функции system.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1. Получить у преподавателя допуск на лабораторную работу.

2. Отладить программы на ЭВМ.

3. С помощью команды DOS mem/c (mem/c/p) исследовать распределение памяти ЭВМ после запуска различных программ.

ЛАБОРАТОРНАЯ РАБОТА 3

Методы вывода информации на терминал в MS DOS

(IBM PC/AT с EGA)

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

В лабораторной работе N1 мы рассматривали вопрос о том, как можно определить тип адаптера дисплея и объема видеобуфера. В настоящей работе описываются различные режимы вывода для EGA. Адаптер EGA может быть снабжен 64К6, 128К, 256К памяти. Кроме исполь-зования в качестве видеобуфера, эта память может также хранить до1К задаваемых символов. Стартовый адрес буфера дисплея программируемый, поэтому буфер начинается с адреса A000H для улучшенных графических режимов и с B000H и B800H для совместимости со стандартным монохромным и цветным графическим режимами.

Доступное число страниц зависит как от режима экрана, так и от количества имеющейся памяти. EGA имеет ПЗУ на 16К, которое расширяет процедуры работы с терминалом BIOS.

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

При выводе текста различные видеосистемы работают одинаково. Для экрана (25 строк по 80 символов) отводится 4000 байт (по 2 байта накаждый символ). Первый (четный) байт содержит код ASCII, который аппаратно преобразуется в связанный с ним символ и посыла-ется на экран. Второй (нечетный) байт содержит атрибуты. Это информация о том, как должен быть выведен символ.

Структура байта атрибутов:

( 0-1-2 ) - код цвета символа;

3 - бит интенсивности;

( 4-5-6 ) - код цвета фона знакоместа;

7 - 0 (мигание - 1).

Коды цветов:

0 - черный;

1 - синий;

2 - зеленый;

3 - циан (голубой);

4 - красный;

5 - магента;

6 - коричневый (с битом интенсивности - желтый);

7 - белый.

Соседние файлы в предмете Операционные системы