You are on page 1of 14

Počítače a jejich periférie – pc.

2 1

2 Systémové služby
Pro programování a řešení algoritmů nepostačuje pouze znalost instrukcí a direktiv
jazyka symbolických instrukcí. Pro komunikaci s okolím (pro tzv. vstupně-výstupní operace)
na běžném osobním počítači s operačním systémem je nutné využívat systémových služeb.
Mezi nejdůležitější systémové služby patří služby OS (konkrétně DOSu) a tzv. služby
obrazovky. Podrobný popis všech systémových služeb lze nalézt v systémovém manuálu
(Sysman).

2.1 Služby DOSu

Služeb DOSu je přes 120 (liší se dle verze DOSu) a některé služby přitom mají
vícenásobnou funkci. Služby DOSu se volají pomocí funkce ROM-BIOSu číslo 21h. Volání
se provádí pomocí vektoru přerušení (jejich celkový počet je 256). Konkrétně služba (funkce)
DOSu se zavolá instrukcí int 21h. Která konkrétní služba a s jakými konkrétními parametry
má být vykonána, je specifikováno pomocí hodnot v implicitních registrech. Obsah
implicitních registrů bývá zachován s výjimkou těch registrů, které slouží k navrácení
výstupních parametrů služby.
Typické použití implicitních registrů:
ah – číslo požadované služby,
al – vstupní data pro službu nebo číslo podfunkce, pokud se daná služba rozděluje na
podfunkce,
bx – identifikátor souboru,
cx – atributy souboru,
ds:dx – adresa uložení vstupních/výstupních dat,
es:bx – adresa uložení vstupních/výstupních dat,
es – adresa segmentu pro alokaci paměti.

Úspěšné provedení služby se signalizuje stavem bitu přenosu CF (příznakový bit Carry
Flag). Je-li CF=0, služba proběhla úspěšně. Pokud je CF=1, došlo k chybě, jejíž kód je uložen
v registru ax.

2.2 Často používané služby DOSu

Služby DOSu jsou pojmenovány dle čísla služby a toto číslo služby se vždy před
voláním přerušení int 21h ukládá do registru ah.

DOS Fn 01h: Vstup z klávesnice s echem.


Vstup: ah ← 01h
Výstup: al → znak načtený ze standardního vstupu

Ing. Miroslav Balík. Ph.D.


2 Fakulta elektrotechniky a komunikačních technologií VUT v Brně

Čte (s čekáním) znak ze standardního vstupního zařízení. Opíše tento znak na


standardní výstupní zařízení. Je-li zjištěno Ctrl-Break, je vyvoláno přerušení int 23h.
Rozšířené kódy kláves (tj. F1-F12, PgUp, kurzorové šipky atd.) vyžadují dvě volaní této
funkce. První volaní vrátí al=0. Druhé volaní vrátí al s rozšířeným ASCII kódem.

DOS Fn 02h: Výstup na displej (obrazovku).


Vstup: ah ← 02h
dl ← znak, který má být zobrazen na standardním výstupu
Výstup: nic
Vyšle znak v dl na standardní výstup. Backspace (ASCII 8h) způsobí posunutí kurzoru
doleva. Je-li zjištěno Ctrl-Break, je vyvoláno přerušení int 23h.

DOS Fn 07h: Nefiltrovaný vstup z klávesnice bez echa.


Vstup: ah ← 07h
Výstup: al → znak načtený ze standardního vstupu
Čte (s čekáním) znak ze standardního vstupního zařízení a tento znak vrací v al.
Nedetekuje Ctrl-Break, Backspace apod. Volejte dvakrát pro vstup rozšířených ASCII kódů.
Použijte DOS Fn 0Bh pro kontrolu statusu vstupu, nechcete-li čekat na zmáčknutí klávesy.

DOS Fn 08h: Vstup z klávesnice bez echa.


Vstup: ah ← 08h
Výstup: al → znak načtený ze standardního vstupu
Čte (s čekáním) znak ze standardního vstupního zařízení a tento znak vrací v al. Je-li
zjištěno Ctrl-Break, je vyvoláno přerušení int 23h. Volejte dvakrát pro vstup rozšířených
ASCII kódů.

DOS Fn 09h: Zobraz řetězec.


Vstup: ah ← 09h
ds:dx ← adresa řetězce zakončeného “$“ (ASCII 24h)
Výstup: nic
Řetězec až po zakončovací znak “$“ je vyslán na standardní výstup. Backspace je
ošetřováno stejně jako ve funkci DOS Fn 02h. Normální postup pro zobrazení nového řádku
je dán zahrnutím dvojice CR/LF (ASCII 0dh následovaný znakem 0ah) do řetězce. Řetězce
obsahující znak “$“ mohou být tisknuty přes funkci DOS Fn 40h (bx=0).

DOS Fn 0Ah: Zásobníkový vstup řetězce z klávesnice.


Vstup: ah ← 0Ah
ds:dx ← adresa vstupního zásobníku (viz níže)

Ing. Miroslav Balík. Ph.D.


Počítače a jejich periférie – pc.2 3

Výstup: zásobník obsahuje vstup zakončený CR (ASCII 0dH)


Před voláním je třeba připravit zásobník na adrese ds:dx takto:
max ? ? ? ? ? ?
max - maximální počet znaků (rozsah: 1 až 254)

Po provedení funkce je zásobník naplněn takto:


max len “T“ “E“ “X“ “T“ 0Dh
len - skutečná délka vstupu (není počítán závěrečný CR tj. 04h).

Znaky jsou čteny ze standardního vstupu až do CR (ASCII 0dh) nebo až do hodnoty


max-1. Je-li dosaženo max─1, konzola pípne pro každý znak tak dlouho, dokud není čten
znak Enter (CR). Druhý byte v zásobníku je naplněn skutečnou délkou vstupu zmenšenou o
ukončovací CR. Poslední znak v zásobníku je vždycky CR (který není započítán do
délkového bytu). Znaky v zásobníku (včetně len) jsou před voláním použity jako "šablona" a
editovací klávesy DOSu mají tyto významy:
ESC zobrazí "\" a restartuje editaci,
F3 zobrazí do konce šablony,
F5 zobrazí "@" a uloží aktuální řádek jako šablonu atd.
Většina rozšířených ASCII kódů je ignorována. Je-li zjištěno Ctrl-Break, provede se int
23h a zásobník zůstane nezměněn.

DOS Fn 0Bh: Kontrola statusu klávesnice.


Vstup: ah ← 0Bh
Výstup: al → 0ffh je-li přípraven znak na standardním vstupu (zmáčknuta klávesa)
0h není-li znak připraven
Kontroluje status standardního vstupu. Je-li zjištěno Ctrl-Break, je provedeno int 23h.
Funkce se používá před funkcemi DOS Fn 01h, DOS Fn 07h a DOS Fn 08h, aby systém
nečekal na zmáčknutí klávesy. Toto je jednoduchá, nedestruktivní metoda kontroly na Ctrl-
Break při dlouhých výpočtech nebo jiném zpracování, které se normálně neobrací na vstup.
Dovoluje uživateli ukončit takovouto sekvenci.

DOS Fn 4Ch: Ukončí program s návratovým kódem.


Vstup: ah ← 4Ch
al ← návratový kód, 00h ukončeno v pořádku, 01h ukončeno s chybou
Výstup: nic
Vrátí řízení dceřinného procesu jeho rodiči s nastavením výstupního kódu, který se dá
zjistit přes DOS Fn 4Dh. Řízení je předáno na adresu Terminate v PSP končícího programu.
Vektory Ctrl-Break a Kritická chyba jsou vráceny na adresy z rodičovského PSP. Hodnota
ERRORLEVEL (používaná v dávkových souborech DOSu) se dá využít pro testování
výstupního kódu naposledy volaného programu.

Ing. Miroslav Balík. Ph.D.


4 Fakulta elektrotechniky a komunikačních technologií VUT v Brně

DOS Fn 62h: Čti adresu Prefixu programového segmentu (PSP).


Vstup: ah ← 62h
Výstup: bx → segmentová adresa PSP právě spuštěného programu
Tato funkce vrací v bx PSP volajícího programu. Využití pro získání parametrů
příkazového řádku, prostředí DOSu a všech dalších užitečných informací obsažených v PSP.
Struktura PSP viz Sysman.

2.3 Služby obrazovky

Služeb obrazovky je celkem 25 z toho pouze prvních 16 je univerzálních a nezávislých


na grafickém adaptéru. Služby obrazovky se volají pomocí funkce ROM-BIOSu číslo 10h,
takže služba (funkce) obrazovky se zavolá instrukcí int 10h. O kterou konkrétní službu a
s jakými konkrétními parametry má být vykonána, je specifikováno pomocí hodnot
v implicitních registrech. Princip je podobný jako u služeb DOSu.

2.4 Často používané služby obrazovky

Služby obrazovky se jmenují dle čísla služby a toto číslo služby se vždy před voláním
přerušení int 10h ukládá do registru ah.

VID Fn 00h: Nastav mód obrazovky, inicializuj obrazovku.


Vstup: ah ← 00h
al ← číslo módu
Výstup: nic
Čistí obrazovku, nastaví proměnné BIOSu a zapne mód.

Tabulka 2.1: Tabulka módů obrazovky dle nastavení registru al.

al Typ Formát Barvy Adaptér Adr. Monitor


00h text 40x25 16/8 odstíny CGA, EGA B800 Kompozitní
01h text 40x25 16/8 CGA, EGA B800 Komp., RGB, Zvýraz.
02h text 80x25 16/8 odstíny CGA, EGA B800 Kompozitní
03h text 80x25 16/8 CGA, EGA B800 Komp., RGB, Zvýraz.
04h graf 320x200 4 CGA, EGA B800 Komp., RGB, Zvýraz.
05h graf 320x200 4 odstíny CGA, EGA B800 Kompozitní
06h graf 640x200 2 CGA, EGA B800 Komp., RGB, Zvýraz.
07h text 80x25 3 (č/b/zvýraz.) MDA, EGA B000 TTL Monochromat.

Ing. Miroslav Balík. Ph.D.


Počítače a jejich periférie – pc.2 5

0Dh graf 320x200 16 EGA A000 RGB, Zvýraz.


0Eh graf 640x200 16 EGA A000 RGB, Zvýraz.
0Fh graf 640x350 3 (č/b/zvýraz.) EGA A000 Zvýraz.,TTL Mono
10h graf 640x350 4 nebo 16 EGA A000 EGA, Analog.VGA
11h graf 640x480 2 VGA A000 Analog. VGA
12h graf 640x480 16 VGA A000 Analog. VGA
13h graf 320x200 256 VGA A000 Analog. VGA

V případě adaptéru EGA se rozumí počet barev jako počet současně zobrazitelných
barev, které lze však vybrat z širšího množství (tzv.paleta). Tato paleta u EGA představuje
celkem 64 odstínů, u VGA 262144 odstínů. Adaptér EGA a VGA připouští přičtení 80h k al a
inicializace se provede bez smazání obrazovky.

VID Fn 01h: Nastav velikost/tvar kurzoru (textové módy).


Vstup: ah ← 01h
ch ← počáteční řádek (0─1Fh; 20h=žádný)
cl ← poslední řádek (0─1Fh), počítáno shora v textovém řádku
Výstup: nic
Je-li kurzor viditelný, bliká.

VID Fn 02h: Nastav pozici kurzoru.


Vstup: ah ← 02h
bh ← stránka obrazovky
dh, dl ← řádek, sloupec (počítá se od nuly)
Výstup: nic
Nastavení na řádek 25 učiní kurzor neviditelným.

VID Fn 03h: Zjisti velikost a pozici kurzoru.


Vstup: ah ← 03h
bh ← stránka obrazovky
Výstup: dh, dl → řádek, sloupec (počítá se od nuly)
ch, cl → první a poslední čárka kurzoru (viz VID Fn 01h)

VID Fn 06h: Roluj okno nahoru (nebo smaž okno).


Vstup: ah ← 06h
ch, cl ← řádek, sloupec levého horního rohu okna (počítá se od nuly)

Ing. Miroslav Balík. Ph.D.


6 Fakulta elektrotechniky a komunikačních technologií VUT v Brně

dh, dl ← řádek, sloupec pravého spodního rohu okna


al ← počet prázdných řádků, které se narolují (0=vymaž celé okno)
bh ← barevný atribut pro nové řádky
Výstup: nic
Roluje zvolený obdélník obrazovky o jeden nebo více řádků nahoru.

VID Fn 07h: Roluj okno dolů (nebo smaž okno).


Vstup: ah ← 07h
ch, cl ← řádek, sloupec levého horního rohu okna (počítá se od nuly)
dh, dl ← řádek, sloupec pravého spodního rohu okna
al ← počet prázdných řádků, které se narolují (0=vymaž celé okno)
bh ← barevný atribut pro nové řádky
Výstup: nic
Roluje zvolený obdélník obrazovky o jeden nebo více řádků dolů.

VID Fn 08h: Čti znak/atribut na dané pozici kurzoru.


Vstup: ah ← 08h
bh ← číslo stránky obrazovky
Výstup: al → načtený znak
ah → načtený barevný atribut (pouze pro textový mód)

VID Fn 09h: Napiš znak/atribut na dané pozici kurzoru.


Vstup: ah ← 09h
bh ← číslo stránky obrazovky
al ← zobrazovaný znak
cx ← počet opakování (kolikrát zapsat znak z al)
bl ← barevný atribut (textové módy) nebo barva (grafické módy)
Výstup: nic

VID Fn 0Ah: Napiš znak na dané pozici kurzoru.


Vstup: ah ← 0Ah
bh ← číslo stránky obrazovky
al ← zobrazovaný znak
cx ← počet opakování (kolikrát zapsat znak z al)
Výstup: nic

Ing. Miroslav Balík. Ph.D.


Počítače a jejich periférie – pc.2 7

VID Fn 13h: Napiš řetězec (AT) (EGA).


Vstup: ah ← 13h
es:bp ← zobrazovaný řetězec (speciální formát pro al=2 a al=3)
cx ← délka řetězce (počítají se jen znaky)
dh, dl ← řádek, sloupec počátku zobrazení
bh ← číslo stránky obrazovky
al ← kód podfunkce
=0 použij atribut v bl; neměň kurzor
=1 použij atribut v bl; nastav kurzor na konec řetězce
=2 formát řetězce: znak, atr, znak, atr...; neposunuj kurzor
=3 formát řetězce: znak, atr, znak, atr...; posuň kurzor
Výstup: nic

3 Zdrojový kód v jazyce symbolických instrukcí x86


Uspořádání zdrojového kódu v jazyce symbolických instrukcí x86 není nijak striktně
předepsáno. Následující ukázky uspořádání doporučuji dodržovat pro jasnou orientaci ve
zdrojovém kódu.
Zdrojové kódy se obecně rozdělují na několik typů, zde se budeme zabývat výběrem
následujících typů:
• Zdrojový kód pro spustitelný soubor typu *.com (16 bit DOS)
• Zdrojový kód pro spustitelný soubor typu *.exe (16 bit DOS)
• Zdrojový kód pro spustitelný soubor typu *.exe (32, 64 bit WIN)

Základní rozdíl programů typu *.exe a *.com spočívá v omezení použitelných


segmentů. Programy typu *.exe mohou pracovat s různými typy segmentů (kódový, datový,
zásobníkový). Programy typu *.com mohou pracovat pouze s jedním kódovým segmentem,
takže jak zásobník, tak všechna data musí být uložena v kódovém segmentu a musí být
ošetřena tak, aby ukazatel na instrukci nikdy nenabyl hodnot jejich adres. Toto lze zařídit
správným uspořádáním zdrojového kódu. Každý z výše uvedených zdrojových kódů se
překládá a následně případně linkuje odlišným způsobem. Překlad na soubor typu *.com se
provádí přímo překladačem. Při překladu na soubor typu *.exe se provádí nejdříve překlad do
objektového souboru, který se následně linkuje.
Výhodou souboru typu *.com je pak jeho výrazně menší velikost než u téhož souboru
typu *.exe. Nevýhodou je naopak omezení celého programu na jeden segment.

Ing. Miroslav Balík. Ph.D.


8 Fakulta elektrotechniky a komunikačních technologií VUT v Brně

3.1 Uspořádání zdrojového kódu pro spustitelný soubor typu *.com


(16 bit DOS)
; zahrnutí externích zdrojových kódů
[%include ...]
; pomocné objekty
[... equ ...]
[%macro ...]
[... struc ...]
; definice kódového segmentu
[segment _ code]
; vyhrazení části paměti pro systémové proměnné
org _ 100h
; první instrukce (zajistí skok do hlavní části programu)
start: _ jmp main
; část kódového segmentu vyhrazená pro data
name1 _ db _ value1
name2 _ db _ value2 Data v kódovém
… segmentu

; sled instrukcí realizujících hlavní část programu
main: instrukce1 _ op1[,op2]
instrukce2 _ op3[,op4]

… Instrukce hlavní
; instrukce předání řízení OS, ukončení běhu programu části programu
mov _ ax,4C00h v kódovém segmentu
int _ 21h


; sled instrukcí jednotlivých podprogramů (procedur)
name3:
instrukce3 _ op5[,op6]

… Instrukce
ret podprogramů
name4: v kódovém segmentu


ret

Ing. Miroslav Balík. Ph.D.


Počítače a jejich periférie – pc.2 9

3.2 Uspořádání zdrojového kódu pro spustitelný soubor typu *.exe


(16 bit DOS)
; zahrnutí externích zdrojových kódů
[%include ...]
; pomocné objekty
[... equ ...]
[%macro ...]
[... struc ...]
; definice zásobníkového segmentu
segment _ stack _ stack
resb 64 rezervace 64 B
stacktop: začátek zásobníku
; definice datového segmentu
segment _ data
name1 _ db _ value1
Data v datovém
name2 _ db _ value2
segmentu

; definice kódového segmentu
segment _ code
; svázání segmentů se segmentovými registry, nastavení
ukazatele do zásobníku
..start: mov _ ax,data
mov _ ds,ax
mov _ ax,stack
mov _ ss,ax
mov _ sp,stacktop
; sled instrukcí realizujících hlavní část programu
instrukce1 _ op1[,op2] Instrukce hlavní
instrukce2 _ op3[,op4] části programu
… v kódovém segmentu

; instrukce předání řízení OS, ukončení běhu programu
mov _ ax,4C00h
int _ 21h


; sled instrukcí jednotlivých podprogramů (procedur)
name3:
instrukce3 _ op5[,op6]

Instrukce

podprogramů
ret
v kódovém segmentu
name4:

ret

Ing. Miroslav Balík. Ph.D.


10 Fakulta elektrotechniky a komunikačních technologií VUT v Brně

3.3 Uspořádání zdrojového kódu pro spustitelný soubor typu *.exe (32,
64 bit WIN)
; zahrnutí externích zdrojových kódů
[%include ...]
; importování externích funkcí z knihoven
extern _ ExitProcess
import _ ExitProcess _ kernel32.dll
; definice datového segmentu
[segment _ data _ class=DATA _ use32 _ align=16]
szWndClassName: _ DB _ "WIN CLASS32",0
… Data v datovém
hInstance _ dd _ 0 segmentu

; definice kódového segmentu
[segment _ code _ USE32 _ class=CODE]
; začátek kódu, získání handlu programu
..start: push _ dword _ NULL
call _ [GetModuleHandle]

; registrace, vytvoření a zobrazení mateřského okna
Vytvoření

mateřského okna
call _ [RegisterClassEx]
v kódovém segmentu

call _ [CreateWindowEx]

call _ [ShowWindow]
; načtení, překlad a odeslaní zprávy proceduře mat. okna
.MessageLoop:

call _ [GetMessage]

call _ [TranslateMessage]
Smyčka zpracování

zpráv v kódovém
call _ [DispatchMessage]
segmentu

; ukončení, obsluha zprávy o ukončení programu.
.Finish
push _ dword _ NULL
call _ [ExitProcess]
; procedura mateřského okna
WndProc: Podprogram
WndProc_PARAMBYTES _ EQU _ 16 mateřského okna
enter _ 0,0 v kódovém segmentu
; obsluha zpráv předaných smyčkou zprac. zpráv
mov _ eax, _ dword _ [ebp+12]
cmp _ eax, _ WM_CLOSE
je _ near _.Destroy

Ing. Miroslav Balík. Ph.D.


Počítače a jejich periférie – pc.2 11

; návěští Destroy pro zaslání zprávy pro ukončení aplikace


.Destroy:
push _ dword _ 0
call _ [PostQuitMessage]
; konec procedury
ret _ WndProc_PARAMBYTES

3.4 Překlad zdrojového kódu do souborů spustitelných na PC

Vytvoření spustitelných souborů z textových souborů zdrojových kódů je vícefázový


proces, výjimkou jsou soubory *.com. V první fázi se vytváří objektový soubor relativních
adres, druhou fází je tzv. linkování, které převede relativní adresy na adresy absolutní a
vzniká spustitelný soubor.
Jednotlivé fáze vždy probíhají postupně a odděleně, přičemž fáze linkování je možná až
po úspěšně dokončeném překladu. Úspěšný překlad je podmíněn zdrojovým kódem bez
syntaktických chyb, což však neznamená, že je zdrojový kód algoritmicky a funkčně správný!
Ke tvorbě zdrojového kódu lze použít jakýkoliv textový editor, který generuje čistý
text. Bylo vytvořeno několik většinou freeware nebo shareware editorů, které lze najít na
Internetu, např. aside nebo asmedit. Na počítačových cvičeních se používá freewarový editor
Programer’s Wizard. Zdrojové soubory vytvořené takovým editorem mají příponu *.asm.
Součástí zdrojového souboru mohou být také další kódy, které jsou do zdrojového kódu
vkládány nebo přidány z knihoven.

TEXTOVÝ EDITOR

*.asm - zdrojový kód

ASSEMBLER
přepínač
- o *.com *.com - spustitelný soubor *.com
- l *.txt *.txt - textový výpis překladu

DEBUGGER

spuštění ladění

Obrázek 3.1: Přímý překlad na *.com (16 bit DOS) pomocí překladače NASM

Assembler je pro soubory typu *.asm překladačem a slouží k vytvoření souboru *.obj,
které obsahují tzv. kód relativních adres. V případě použití přepínače -l *.txt je také výstupem
textový soubor, ve kterém se vyskytuje zdrojový kód s očíslovanými řádky, příslušnými

Ing. Miroslav Balík. Ph.D.


12 Fakulta elektrotechniky a komunikačních technologií VUT v Brně

adresami a přeloženými instrukcemi. Na cvičení kursu budeme používat překladač The


Netwide Assembler, soubor překladače se nazývá nasm.exe.
Pokud byl správně proveden překlad, může Linker v souboru *.obj nahradit relativní
adresy absolutními a vytvoří spustitelný soubor *.com nebo *.exe. Pokud je soubor
relativních adres *.obj chybný nebo nekompletní, spustitelný soubor buď vůbec nevznikne,
nebo je vytvořena nekorektní verze s varováními. Jako linker bude použit alink.exe.
Podle požadovaného typu spustitelného souboru se postupy překladu a linkování liší.
Postupně budou uvedeny bloková schémata vysvětlující postup překladu a linkování.

TEXTOVÝ EDITOR

*.asm - zdrojový kód

ASSEMBLER

přepínač
- fobj *.obj - kód relativních adres
- l *.txt *.txt - textový výpis překladu

LINKER

*.exe - spustitelný soubor *.exe

DEBUGGER

spuštění ladění

Obrázek 3.2: Fáze překladu na *.exe (16 bit DOS) pomocí překladače NASM

Ing. Miroslav Balík. Ph.D.


Počítače a jejich periférie – pc.2 13

TEXTOVÝ EDITOR KNIHOVNY

*.asm - zdrojový kód

ASSEMBLER

přepínač
- fobj *.obj - kód relativních adres
- l *.txt *.txt - textový výpis překladu

LINKER

přepínač
-oPE -subsys gui *.exe - spustitelný soubor *.exe

DEBUGGER

spuštění ladění

Obrázek 3.3: Fáze překladu na *.exe (32, 64 bit WIN) pomocí překladače NASM

Dále je uveden konkrétní příklad překladu a linkování pro soubor typu *.exe DOS 16 b.
Uvedeny jsou dvě fáze vytvoření spustitelného souboru v příkazové řádce (předpokladem je
přítomnost všech potřebných souborů nasm.exe, alink.exe a pr1.asm v adresáři např. C:\asm\):

C:\asm\nasm -fobj pr1.asm [-l pr1.txt] Příkaz pro překlad zdrojového


výsledkem úspěšného překladu je soubor pr1.obj souboru pr1.asm s vytvořením
a výpis překladu v soubory pr1.txt výpisu překladu (nepovinné)
C:\asm\alink pr1.obj Příkaz pro linkování objektového
výsledkem linkování je soubor pr1.exe souboru pr1.obj.

Pro zobrazení všech přepínačů je volán assembler nasm.exe s přepínačem -h a linker


alink.exe stačí spustit přímo bez parametrů.
Pro vytváření spustitelných souborů, jejich spouštění a případné zobrazování výpisu
překladu jsou vhodné dávkové soubory. Pro každý typ vytvářeného spustitelného souboru je
vytvořena sada dávek, které tyto operace realizují a jsou připraveny pro jejich univerzální
volání. Sada dávek vždy obsahuje:
make.bat – slouží k překladu a případnému linkování do spustitelného souboru právě
otevřeného zdrojového kódu,
run.bat – slouží ke spuštění přeloženého právě otevřeného zdrojového kódu,

Ing. Miroslav Balík. Ph.D.


14 Fakulta elektrotechniky a komunikačních technologií VUT v Brně

mrun.bat – po překladu a linkování automaticky spustí právě vytvořený spustitelný


soubor právě otevřeného zdrojového kódu,
list.bat – zobrazí se výpis překladu právě otevřeného zdrojového kódu.

Dávky jsou upraveny pro vytvoření jedno-tlačítkových externích nástrojů v programu


Programmer’s Wizard. Podmínkou jejich spolehlivé funkce je správné nastavení aktuálního
adresáře v textovém editoru a důsledné dokončování vykonávání těchto dávek.

Ing. Miroslav Balík. Ph.D.

You might also like