ПредишенСледващото

1. Състав на файл EXE

Файл EXE, която изгражда свръзката се състои от две части:

- контролира информация за зареждането на системата.

- действителния модул за зареждане.

Информация за товарача, описани по-долу, се намира в началото на файла и образува т.нар хедър. Веднага последвано от тялото на натоварване модул. натоварване модул тялото започва на границата на блока и е копие на изображението памет на проблема, която е построена ponovschik МС.

Стандартна част от заглавието има следния формат:

00-01 4D5A - "Podpis" оформление, което показва, че файлът е EXE файл.

02-03 Дължина проблем модул изображение 512 (т.е., броят на полезни байта в последния блок).

(Сшиватели версии до 1.10 са били пуснати в кутията 04, и ако има такава стойност, се препоръчва да се игнорира).

04-05 дължина на файла в блокове.

08-09 дължина глава в 16-байтови секции.

Той се използва за да се определи началото на тялото на натоварване модул.

0A-0B минимално количество памет, която трябва да бъде възстановена след края на проблеми с имиджа.

(В 16 байт раздели).

0C-0D Максималният размер на паметта, която трябва да бъде възстановена след края на проблеми с имиджа.

(В 16 байт раздели).

10-11 SP стойност при влизане на задачата.

12-13 контролна - нула минус резултат от добавянето без да носи всички Word файлове.

14-15 Цена IP (брояч на инструкциите) на входа на задачата.

1А-1В брой на припокриване сегмент.

(0 за програмата корен сегмент).

Настройката се извършва, както следва:

1. част памет местно след извършване обувка програма построен префикс Софтуер сегмент.

2. стандартна част от заглавието се прочита в паметта.

Този сегмент се нарича първичен сегмент.

4. Модулът за натоварване се чете в първоначалния сегмент.

5. порции настройка маса се четат в работната памет.

2.Struktura софтуер сегмент

В офсет 0000 в DOS програма сегмент префикс форми на сегмента на софтуер (PSP). В програмата се е зареден с отместване 0100.

Когато заредена програмата получава контрол, да се появят следните условия:

За всички програми:

Общата дължина на средните линии <= 32K байт; среда начинается с границы параграфа. После последней строки следует нулевой байт. Среда, передаваемая задаче от COMMAND, содержит, как минимум, параметр COMSPEC= (значение этого параметра - полное имя файла, содержащего используемый COMMAND.COM). Она также содержит значения, установленные командами PATH, PROMPT и SET (См. Главу 10). Передаваемая среда является копией среды родительского процесса. Если задача остается резидентом, то последующие команды PATH, PROMPT и SET не будут воздействовать на ее среду.

- контрол на файла блокове са разположени в 5С премествания и 6C в префикс програма сегмент попълнено в съответствие с параметрите на командния ред. В този случай, ако съответната опция включва име на директория в FCB влезе само идентификационен номер на устройството, името на файла се формира неправилно.

- Неформатиран част, като се започне офсет 81, съдържа командния ред след героите името команда, включително всички заготовки и разделени. В офсет 80 е поставен дължина от тази линия. Ако командния ред включва опции за пренасочване (върху тях посочват символите> и <) они не попадают сюда, так как переназначение прозрачно для программ.

- Думата при офсетов 6 се състои от няколко байта в сегмента.

- AX регистър показва, че сте въвели правилно имена на устройства в параметрите:

AL = FF - името на устройството на първия параметър е невалидна, в противен случай ПВК = 00;

AH = FF - името на устройството на първия параметър е невалидна, в противен случай AH = 00.

.EXE за програми:

- DS и ES посочено в началото на префикс на програмата сегмент.

- Регистри CS, IP, SS, и SP получават стойностите, означени от линкера.

За програми .COM:

- Всичките четири сегмента регистри сочат към префикса на сегмента на софтуер.

- Програма, всички свободна памет се разпределя. Ако програмата работи други програми Exec работа, той трябва да се освободи операция Setblock памет част (4А) за него

- IP програмен брояч, е настроен да 0100H.

- SP регистър показва края на сегмента на програмата. Сегмент префикс дължина 6 клетъчна намалява при 0100H, за да освободите място за една купчина от такъв размер.

- В горната част на комина пречи на нула дума префикс програма сегмент формат е както следва (всички номера
шестнадесетичен):

Литература:

Референтен PC 1. Йордания програмиста

PC архитектура 2. Norton на IBM

3. Обратно Въведение в програмирането

Свързани статии

Подкрепете проекта - споделете линка, благодаря!