file szerkezete
1. összetétele az EXE fájlt
Fájl EXE, amely épít a linker két részből áll:
- vezérlő információt a boot loader.
- tényleges terhelés modult.
Információk a rakodó alább ismertetett található a fájl elején és alkot úgynevezett header. Majd közvetlenül utána az töltőmodul szervezetben. töltőmodul test kezdődik a határon a blokk, és egy példányt a memóriában kép a probléma, amely a beépített ponovschik com.
A szabvány része a fejléc formátuma a következő:
00-01 4D5A - „podpis” elrendezés, amely jelzi, hogy a fájl egy EXE fájlt.
02-03 Hossz probléma modulo kép 512 (azaz a számos hasznos bájtok az utolsó blokk).
(Linkers változat 1,10 kerültek a dobozban 04, és ha van ilyen érték, akkor ajánlott figyelmen kívül hagyni).
04-05 hossza a fájlt blokkokat.
08-09 fejléc hossza 16 byte-os szakaszok.
Arra használják, hogy meghatározzák az elején a terhelés modul szervezetben.
0A 0B-memória minimális mértékét, amelyet meg kell nyerjük vége után egy kép probléma.
(A 16 bájtos szakaszok).
0C-0D A maximális memória, hogy vissza kell téríteni vége után egy kép probléma.
(A 16 bájtos szakaszok).
10-11 SP érték, amikor belépnek a feladat.
12-13 checksum - nulla mínusz az összeadás eredménye lefolytatása nélkül az összes Word fájlok.
14-15 Value IP (utasítás számláló), a bejáratnál a feladat.
1A-1B számú átfedés szegmens.
(0 a gyökér szegmens program).
A beállítás az alábbiak szerint:
1. A memória rezidens rész elvégzése után boot program beépített előtag Software szegmensben.
2. Egy szabvány része a fejléc olvasni a memóriába.
Ez a szegmens az úgynevezett primer szegmens.
4. A terhelést modul leolvassuk a kezdeti szakaszán.
5. rész beállítás táblázat olvassa be a munkamemória.
2.Struktura szoftver szegmens
Eltolásnál 0000 a DOS program szegmens előtag formák a Szoftver szegmens (PSP). A program maga betöltődik ofszet 0100.
Ha a betöltött program megkapja a vezérlést, bekövetkeznek a következő feltételek:
Az összes program:
A teljes hossza a közeg vonalak <= 32K байт; среда начинается с границы параграфа. После последней строки следует нулевой байт. Среда, передаваемая задаче от COMMAND, содержит, как минимум, параметр COMSPEC= (значение этого параметра - полное имя файла, содержащего используемый COMMAND.COM). Она также содержит значения, установленные командами PATH, PROMPT и SET (См. Главу 10). Передаваемая среда является копией среды родительского процесса. Если задача остается резидентом, то последующие команды PATH, PROMPT и SET не будут воздействовать на ее среду.
- Fájl vezérlőbiokk található elmozdulásai 5C 6C a programban Segment Prefix töltött összhangban parancssori paramétereket. Ebben az esetben, ha a megfelelő opció tartalmazza a könyvtár nevét az FCB lépett egyetlen eszköz azonosító, a fájlnév képződik helytelenül.
- Formázatlan részt, kezdve offset 81, tartalmazza a parancssor után a parancs nevét karakter, beleértve a nyers és elválasztjuk. Eltolással 80 kerül hossza ebben a sorban. Ha a parancssor beállítások közé tartozik az átirányítást (rajtuk tüntetni a szimbólumok> és <) они не попадают сюда, так как переназначение прозрачно для программ.
- A szót offset 6 tartalmaz bájtok száma a szegmensben.
- AX regiszter jelzi helyesen adtad eszköz neveket a paramétereket:
AL = FF - eszköz neve az első paraméter érvénytelen, mert az AL = 00;
AH = FF - eszköz neve az első paraméter érvénytelen, különben AH = 00.
.EXE programok:
- DS és ES jelezte elején a program Segment Prefix.
- Regiszterek CS, IP, SS és SP megkapja a jelzett értékek a linker.
Olyan programok .COM:
- Mind a négy szegmens regiszterek pont az előtag a Szoftver szegmensben.
- Program, minden szabad memóriát. Ha a program fut, más programok Exec működését, meg kell engedje memóriát Setblock művelet (4A) érte
- IP program számláló beállítása 0100H.
- SP regiszter végét jelzi a program szegmens. Segment Prefix hossza 6 cellás csökken 0100H, hogy helyet adjon egy halom, hogy a méret.
- A tetején a verem zavarja nulla szó előtag Program szegmens formátuma a következő (az összes szám
hexadecimális):
Irodalom:
1. Jordan programozó referencia PC
2. Norton IBM PC architektúra
3. Vissza Bevezetés a programozás