Vybavení procesorů řady 86ladícími prostředky,vývoj programů v ASM86, vývojové prostředky.
Procesor 8086
Jedná se o první 16-ti bit. procesor, který byl na trhu uveden kolem roku 1978. Má dvě samostané jednotky.
EU – prováděcí jednotka
BIU – jednotka styku se sběrnicí
Obě tyto jednotky pracují relativně nezávisle. 8086 je schopen adresovat paměťový prostor pro maximální velikost 1MB.
Procesor 8086 je vybaven dvěma ladícími nástroji:
INT1 – jedná se o krokovací režim, který nám umožňuje krokovat program a kontrolovat ho po jednotlivých krocích. Jeho činnost může být sledována po jednotlivých instrukcích. Tato procedura nám např. umožňuje zobrazovat obsah jednotlivých registrů, hodnotu ukazatele instrukcí IP atd. Tímto způsobem můžeme chod programu sledovat tak, jak se mění po každé instrukci a mohou být zjištěny chyby.
INT3 – bod přerušení. Je to velmi využívaný nástroj při ladění. BREAKPOINT je obecně nějaké místo v programu, kde se normální vykonávání programu zastaví. Breakpointy se do programu zavádí v průběhu ladění, kdy umožňuje zobrazit hodnoty v registrech, paměťová místa atd.
Procesor 80286
Jedná se opět o 16-ti bit. procesor s pokročilejší architekturou podporující práci ve dvou režimech
reálný – je slučitelný s 8086
chráněný – umožňuje víceúlohové zpracování
Je složen ze 4 nezávisle pracujících jednotek:
BU – jednotka styku se sběrnicí
IU – dekóduje vybrané instrukce
EU – prováděcí jednotka
AU – adresovací jednotka
Procesor 80286 ladící možností rozšířil v chráněném režimu o kontrolu dodržování délek segmentů.
Procesor 80386
Jedná se o první 32-ti bit. procesor řady 86. Procesor pracuje ve třech režimech
reálný
chráněný
virtuální
Procesor 80386 má propracované ladící nástroje a navíc zavádí v chráněném režimu volitelné přepínání procesů. Přebírá ladící nástroje z předešlých procesorů. Lze ve všech režimech nastavovat ladící body bez změny operačního kódu a sledovat přístup k vybraným datům v paměti. K tomuto je v 80386 instalována sada ladících registrů.
Do těchto registrů se nastavují lineární adresy sledovaných míst. Lineární adresa je 32-ti bit. a není-li v činnosti stránkovací jednotka, potom ukazuje přímo do fyzické paměti.
Procesor disponuje šesti 32-ti bit. ladícími registry. DR0 – DR3 mohou být uloženy lineární adresy ladících bodů, dále obsahuje registr DR7, což je příznakový registr ladícího systému procesu.
Při ladění víceúlohových procesů je možné sledovat přepínání procesů.
Vývoj programů v ASM86, vývojové prostředky
Jak vytvořit program? Asembler 8086 má své specifické paměťové modely, které určují typ výstupního programu. Modely se vzájemně liší počtem a uspořádáním segmentů a to jak kódových tak i datových.
TINY – Data i kód jsou v jednom segmentu (max- 64kB). Soubory mají příponu .COM. Tento mód je vhodný k tvoření menších a jednoduchých programů, například rezidentních.
SMALL – Kód je v jednom segmentu (64kB) a všechna data v jedné skupině, tzv. DGROUP. Soubory mají příponu .EXE. Jedná se asi o nejpoužívanější model.
MEDIUM – Data jsou v jednom segmentu (64kB), kód je ve více segmentech (1MB)
COMPACT – Kód v jednom segmentu (64kB), data ve více segmentech (1MB)
LARGE – Kódový segment stejný jako datový, maximálně 1MB
Každý program musí bezpodmínečně obsahovat několik direktiv:
.DATA – následuje definice dat
.CODE – následuje zdrojový kód
.STACK – určuje velikost zásobníku
.MODEL – nastavuje výše uvedené paměťové modely
END – značí konec programu
Pro vývoj programu je dále nutný překladač – TASM a spojovací program LINKER. Samotný zdrojový text lze vytvořit v libovolném editoru, který neprovádí žádné kódování textu. Tento text uložíme do souboru s příponou .ASM. Pro spuštění programu musíme takto získaný soubor přeložit, překladač nám ukáže, zda je program bez chyb či nikoliv. Po úspěšném přeložení dostaneme soubor s příponou .OBJ, který pomocí spojovacího programu převedeme do spustitelného souboru typu .EXE, .COM (případně knihoven .LIB, .DIL). Vlastní zdrojový program můžeme mít i ve více souborech, pak je ovšem nutné každý soubor přeložit samostatně. Tento způsob se hlavně používá pro procedury ve více souborech. Nejčastějšími programy pro úpravu našeho zdrojového textu jsou programy firmy Borland, TASM.EXE pro přeložení a TLINK.EXE pro slinkování. Ladění programu provádíme pomocí TURBO DEBUGGERu, TD.EXE. Ladění probíhá po jednotlivých instrukcí až se celý program vykoná nebo lze spustit celý program s nastaveným BREAKpointem, tj. místem, při jehož dosažení se program zastaví. Dále umožňuje kroky zpět a změny registrů za běhu programu.