Модуль «System». Константы. Переменные. Стандартные процедуры и функции, страница 2

Test8086 хранит результат теста авто обнаружения процессора Intel 80x86, a Test8087 - сопроцессора.

Переменные.

var

Input : Text;{Стандартный файл ввода} 

Output : Text;{Стандартный файл вывода} 

SaveInt00: Pointer;{Сохранение вектора $00}

SaveInt75: Pointer;{Сохранение вектора $75}

Input и Output - стандартные файлы, необходимые в каждой реализации языка Паскаль. По умолчанию они ссылаются на стандартные входные и выходные файлы ДОС: Input - на клавиатуру, Output - на экран.

В момент загрузки среда Турбо Паскаля изменяет значения 18 векторов прерывания (векторы $00, $02, $1N, $21, $23, $24, $35, $36, $37, $38, $39, $ЗА, $ЗВ, $ЗС, $3D, $3E, $3F и $75). В переменных SaveIntXX сохраняются старые значения этих векторов (XX - номер вектора: SavelntOO - для вектора $00, SaveIntlB - для вектора $1В и т.д.).

Стандартные процедуры и функции.

1.  Процедуры управления

2.  Процедуры динамического распределения памяти

3.  Функции динамического распределения памяти

4.  Функции преобразования

5.  Арифметические функции

6.  Процедуры порядкового типа

7.  Функции порядкового типа

8.  Строковые процедуры

9.  Строковые функции

10.  Функции для работы с указателями и адресами

11.  Процедуры разного назначения

12.  Функции разного назначения

13.  Процедуры ввода/вывода

14.  Функции ввода/вывода

15.  Процедуры для текстовых файлов

16.  Функции для текстовых файлов

17.  Процедуры для не типизированных файлов

Использование памяти.

 
        Borland Pascal может создавать прикладные программы  для  реального                                                 режима  DOS,  защищенного  режима  DOS,  и Windows;  в  каждом типе прикладной программы память используется по-разному.

Использование памяти программами реального режима DOS.

        На Рис. 1 приведена схема распределения памяти программы Borland Pascal, для реального режима DOS.
        Префикс программного сегмента (PSP) - это область длиной 256 байт,  которая строится операционной системой  DOS  при  загрузке файла .EXE.  Адрес  PSP  сохраняется  в  предописанной переменной Borland Pascal длиной в слово с именем PrefixSeg.
        Каждой программе (которая включает в себя основную программу и каждый модуль) соответствует сегмент ее кода. Основная программа  занимает первый сегмент кода.  Следующие сегменты кода заняты модулями (в порядке,  обратном тому, в котором они указаны в операторе uses).  Последний сегмент кода занят библиотекой исполняющей системы (модуль System).  Размер отдельного сегмента не может превышать 64К,  однако общий размер кода ограничен только объемом имеющейся памяти.
 
                              Верхняя граница памяти DOS
              HeapEnd   -->-----------------------------
                           ¦                            ¦
                           ¦   свободная память         ¦
                           ¦                            ¦
              HeapPtr   -->¦............................¦
                           ¦ динамически распределяемая ¦
                           ¦      область памяти        ¦
                           ¦      (растет вверх) ^      ¦
              HeapOrg   -->+----------------------------+<--  OvrHeapEnd
                           ¦      оверлейный буфер      ¦
                           +----------------------------+<--  OvrHeapOrg
                           ¦     стек (растет вниз) v   ¦
              SSeg:SPtr -->¦............................¦
                           ¦       свободный стек       ¦
              SSeg:0000 -->+----------------------------+
                           ¦   глобальные переменные    ¦
                           ¦............................¦<-------
                           ¦   типизированные константы ¦        ¦
              DSeg:0000 -->+----------------------------+        ¦
                           ¦   кодовый сегмент          ¦        ¦
                           ¦    модуля System           ¦        ¦