Keep
Verze z 2. 10. 2012, 15:42, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (1 revízia: Uses DOS)
Ukončí běh programu, ale ponechá jej v paměti.
- Deklarace
procedure Keep(ExitCode: Word);
- Režim
- Reálný, Chráněný
- Poznámky
- Celý program zůstane v paměti, včetně datového segmentu, zásobníkového segmentu a haldy, takže nezapomeňte určit pomocí direktivy kompilátoru $M maximální velikost haldy. ExitCode odpovídá výstupnímu kódu, předanému standardní proceduře Halt.
- Omezení
- Používejte opatrně! Rezidentní programy (TSR) jsou složité a není pro ně poskytována žádná jiná podpora. Informujte se v technické dokumentaci DOSu.
- Viz také
- DosExitCode
Vzorový příklad
{ Keep.PAS } { Příklad na Keep } {$M $800,0,0 } { 2K zásobníku, žádná halda } { Tento program při každém stisku klávesy cvakne.} uses Crt, Dos; var KbdIntVec : Procedure; {$F+} procedure Keyclick; interrupt; begin if Port[$60] < $80 then { Cvakne jen při stisku klávesy } begin Sound(5000); Delay(1); Nosound; end; inline ($9C); { PUSHF -- Push flags } { Volej starý ovladač } KbdIntVec; end; {$F-} begin { Vlož přerušovací proceduru do řetězce ovladačů klávesnice } GetIntVec($9,@KbdIntVec); SetIntVec($9,Addr(Keyclick)); Keep(0); { Ukonči a zůstaň rezidentní } end.