|
|
|
|
|
Загрузка и выполнение COM - программыная в данный момент оперативная память .Сегментная часть начального адреса этой памяти обычно называ- ется начальным сегментом программы. 2. По нулевому смещению в сегменте, определяемом начальным сегментом программы, EXEC строит специ- альную служебную структуру - так называемый PSP ( Program Segment Prefix ), в котором содержится информация,необходимая для правильной работы прог- раммы . Заполняет PSP операционная система ( ОС ), а его размер всегда равен 100h ( 256 ) байт . 3. Сразу вслед за PSP загружается сама COM - прог- рамма . 4. EXEC выполняет настройку регистров процессора. При этом устанавливаются такие значения :CS = DS = = SS = ES указывают на начальный сегмент програ- ммы, регистр IP инициализируется числом 100h, а регистр SP - числом 0fffeh . 5. Теперь загруженную COM - программу можно испол- нить . Для этого EXEC передает управление по адре- су CS : 100h.После завершения программы управление передается обратно в EXEC, а оттуда программе - предку . Таким образом,по адресу CS : 100h обязательно дол- жна стоять первая исполняемая команда .Чаще всего это команда перехода, но допустимо использовать и другие .Следует также напомнить, что в MS DOS раз- мер COM - файла не может превышать 64 Кбайт. В са- мом деле, ведь COM - формат предполагает размеще- ние программных кодов, данных и стека в одном сег- менте оперативной памяти . А размер сегмента как раз и ограничен 64 Кбайтами . Дата публикации: 2005-10-12 23:18:28 Просмотров: 1999 Текущая оценка 1.00 голосов - 1
|
|