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.