[ TP70 / QB45 / ASM ] Program TSR dla DOS

0

W systemie DOS istnieją programy TSR. Taki program uruchamia się i zostaje w pamięci i powraca do wiersza poleceń. Jednak taki program cały czas "siedzi" w pamięci i w każdej chwili przywołuje się go określoną kombinacją klawiszy.

Mam do dyspozycji następujace kompilatory:

  • Turbo Pascal 7.0
  • Microsoft QuickBasic 4.5

Oprócz kompilatorów mam assembler AFD (można w nim tworzyć pliki *.COM)

W jaki sposób napisać program TSR?

Ja potrzebuję napisać taki prosty TSR. Mianowicie w nim jest "zaszyta" nazwapliku z katalogiem, np. napis "C:\DOS\JAKISPRO.EXE". Po uruchomieniu TSR pracuje sie w systemie DOS i nie widać, że jest uruchomiony ten program, a w wyniku wciśnięcia określonej kombinacji klawiszy uruchomiłby się wybrany program, nawet w czasie pracy innego programu (praca tamtego byłaby wstrzymana do wyjścia z programu C:\Dos\Jakispro.exe).

W którym z wymienionych programów najprościej zrealizować ten programik?

0

Dla mnie najprościej było by w asemblerze.

Ideja jest taka:
Po zwykłym zamknięciu programu pamięć którą on zajmował jest zwalniana przez system. W programach które mają być TSR trzeba tak wyjść aby kod i dane używane przez program nie były zwolnione po jego zakończeniu. Jest odpowiednia funkcja przerwania DOS aby wyjść z programu pozostawiając go w pamięci.

Teraz pytanie czemu to ma służyć.
Piszesz program w którym podpinasz pod przerwanie zegarowe pewną swoją procedurę. Zamykasz go pozostawiając w pamięci ponieważ ta procedura jest jego częścią i chcesz żeby została w pamięci. Będzie ona wywoływana przez przerwanie zegarowe tak około 18 razy na sekundę.
Ta procedura musi sprawdzać stan określonych klawiszy i w zależności od tego jaki on jest już tam wykonywać odpowiednie akcje. Ładowanie pliku do pamięci i uruchomienie czy co tam chcesz.

Będzie to jak wiadomo działać tylko pod DOSem no i może jeszcze w konsoli MS.

1 użytkowników online, w tym zalogowanych: 0, gości: 1