Гост 16532-70 передачи зубчатые цилиндрические эвольвентные внешнего зацепления. расчет геометрии
Константы
const |
|||
ErrorAddr |
Pointer |
= |
NIL;{Адрес ошибки времени выполнения} |
ExitProc |
Pointer |
= |
NIL;{Процедура выхода} |
ExitCode |
Integer |
= |
0;{Выходной код} |
FileMode |
Byte |
= |
2;{Режим открытия файла} |
FreeList |
Pointer |
= |
NIL;{Список свободных блоков кучи} |
HeapEnd |
Pointer |
= |
NIL;{Конец кучи} |
HeapError |
Pointer |
= |
NIL;{Функция обработки ошибок кучи} |
HeapOrg |
Pointer |
= |
NIL;{Начало кучи} |
HeapPtr |
Pointer |
= |
NIL;{Указатель кучи} |
InOutRes |
Integer |
= |
0;{Буфер результата ввода/вывода} |
OvrCodeList |
Word |
= |
0;{Список оверлейных сегментов кода} |
OvrDebugPtr |
Pointer |
= |
NIL;{Адрес отладчика оверлеев} |
OvrDosHandle |
Word |
= |
0;{Обработчик DOS оверлеев} |
OvrEmsHandle |
Word |
= |
0;{Обработчик EMS оверлеев} |
OvrHeapEnd |
Word |
= |
0;{Конец буфера оверлеев} |
OvrHeapOrg |
Word |
= |
0;{Начало буфера оверлеев} |
OvrHeapPrt |
Word |
= |
0;{Указатель буфера оверлеев} |
OvrHeapSize |
Word |
= |
0;{Начальный размер буфера оверлеев} |
OvrLoadList |
Word |
= |
0;{Список загруженных оверлеев} |
RandSeed |
LongInt |
= |
0;{Опорное значение генератора случайных чисел} |
PrefixSeg |
Word |
= |
0;{Префикс программного сегмента} |
Seg0040 |
Word |
= |
$0040{Сегмент $0040} |
SegA000 |
Word |
= |
$A000{Сегмент $А000} |
SegB000 |
Word |
= |
$B000{Сегмент $В000} |
SegB800 |
Word |
= |
$B800{Сегмент $В800} |
SelectorInc |
Word |
= |
$1000{Шаг наращивания селекторов} |
StackLimit |
Word |
= |
0;{Указатель на нижнюю границу стека} |
Test8086 |
Byte |
= |
0;{Признак наличия процессора 80×86} |
Test8087 |
Byte |
= |
0;{Признак наличия сопроцессора} |
OvrCodeList, OvrHeapSize, OvrDebugPtr, OvrHeapOrg, OvrHeapPtr, OvrHeapEnd,
OvrHeapList, OvrDosHandle и OvrEmsHandle используются модулем Overlay для
реализации администратора оверлеев. Буфер оверлеев размещается между сегментом
стека и кучей и OvrHeapOrg и OvrHeapEnd содержат адреса начала и конца сегмента.
Размер буфера оверлеев по умолчанию соответствует размеру максимального оверлея
в программе; если в программе нет оверлеев, то размер оверлейного буфера равен
нулю.
HeapOrg, HeapPtr, HeapEnd, FreeList, HeapError используются администратором
кучи для реализации распределения динамической памяти.
Переменные ExitProc, ExitCode и ErrorAddr реализуют процедуры выхода.
PrefixSeg содержит сегментную часть адреса префикса программного сегмента
(PSP).
StackLimit содержит смещение от нижней границы сегмента стека,
соответствующее наименьшему допустимому значению регистра SP. Обычно StackLimit
равен нулю; если программа откомпилирована с опциями {$N+.E+}, компилятор будет
устанавливать его равным 224 для резервирования рабочего пространства на нижней
границе сегмента стека, используемого для эмуляции сопроцессора.
InOutRes используется встроенными программами ввода/вывода для запоминания
значения, возвращаемого при последующем вызове стандартной функции IOResult.
RandSeed содержит опорное число генератора случайных чисел. При присваивании
конкретного значения этой переменной функция Random будет генерировать строго
определенную последовательность псевдослучайных чисел. Процедура Randomize
заносит в переменную RandSeed текущее системное время и тем самым обеспечивает
новую псевдослучайную последовательность при очередном прогоне программы.
FileMode позволяет изменить режим доступа, с которым открываются
типизированные и нетипизированные файлы стандартной процедурой RESET. Текстовые
файлы этой процедурой открываются только для чтения.
Seg0040 хранит сегмент участка памяти, который MS-DOS использует для
размещения своих переменных.
SegA000 содержит сегмент начала видеопамяти для графического режима работы, a
SegB000 и SegB800 -сегменты видеопамяти для текстового режима.
Selectorlnc используется как шаг наращивания т.н. селекторов — указателей,
обеспечивающих линейную модель памяти.
Test8086 хранит результат теста автообнаружения процессора Intel 80×86, a
Test8087 — сопроцессора.
Оглавление