Asembler w TSR KURS0


MINI KURS PISANIA PROGRAMÓW TSR W ASEMBLERZE


0. WSTĘP

Na początku zapoznajmy się z podstawowym pojęciem - czym właściwie jest
ten TSR. Otóż TSR to skrót od Terminate and Stay Resident (ang.), czyli
"Zakończ i pozostań rezydentem". Można też się spotkać z innymi
tłumaczeniami, ale w sumie chodzi o program, który po oddaniu sterowania
(czyli po powrocie do DOSu) zostawia pewną część swojego kodu w pamięci.
Pojawia się pytanie: tylko po co zagracać pamięć niepotrzebnymi programami,
które już wykonały swoje zadanie ? Otóż TSR prócz stałej obecności w pamięci
komputera może wykonywać pewne zadania w zależności od wyobraźni autora - na
przykład po przechwyceniu przerwania zegara, kod TSRa będący cały czas w
pamięci może zająć się wyświetlaniem aktualnego czasu w prawym górnym rogu
ekranu, gdy podstawimy swoją procedurę pod przerwanie klawiatury - możemy
zmieniać kody znaków przekazywane na drodze klawiatura-edytor tekstu. Na tej
zasadzie działają liczne programy udostępniające kody polskich znaków na
klawiaturze i ekranie. I tak dalej, przykłady można mnożyć - driver do
obsługi odtwarzacza kompaktów, TSR grający w tle muzykę, zmieniający czcionkę
na ekranie czy też większy system, uaktywniany pewną kombinacją klawiszy, jak
np. SideKick lub dowolny rezydentny kalkulator. Wszystkie wymienione programy
mają jedną wspólną cechę - instalują się rezydentnie w pamięci (czyli są
programami TSR).

Wbrew powszechnemu przekonaniu pisanie programów rezydentnych nie jest
jedynie domeną "rasowych" programistów czy super-c00l-coderów, każdy z nas
posługujący się w miarę dobrze asemblerem i dysponujący potrzebną
dokumentacją (jak np. spis przerwań BIOSu i DOSu) może zabrać się za
napisanie TSRa. Co to będzie ? Na początku pewnie zegar, w miarę wzrostu
doświadczenia może z tego wyjść dobry rezydentny edytor tekstów. Aha, jeszcze
o tym, co nam będzie potrzebne: na pewno edytor tekstów (to chyba każdy ma,
wystarczy dobry edytor z Nortona Commandera lub Dos Navigatora, ale można też
używać bardziej zaawansowanych narzędzi, ja preferuję edytor o dźwięcznej
nazwie: bingo), do tego niezastąpiony będzie asembler (tasm lub masm) oraz
linker (tlink lub link). W niektórych skomplikowanych przypadkach przyda się
też util o nazwie: exe2bin, ale można się bez niego obejść. Ale dość już
tego wstępu, przystąpmy do części praktycznej.

Jeszcze jedno: wszystkie przytoczone opisy funkcji DOSu i innych
przerwań (oczywiście po dokonaniu niezbędnych skrótów) zostały zaczerpnięte z
książki Andrzeja Dudka pod tytułem: "Jak pisać wirusy", wydanie pierwsze,
Jelenia Góra 1993.


Wyszukiwarka