Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PROGRAMME TSR (TERMINATE & STAY RESIDENT)


Description

salut,
avant toute chose, il faut savoir qu'un programme basic (non-tsr) a se mode de fonctionnement:

[Chargement du code en mémoire] ---==> [exécution du code] ---==> [désallocation de la mémoire occupée] ---==> [retour à dos]

les programme tsr ont un autre mode de fonctionnement:

[Chargement du code en mémoire] ---==> [exécution du code] ---=> [retour à dos]

Il faut savoir aussi, que pour qu'un programme soit résident, il faut reserver un certain nombre de paragraphes (1 paragraphe = 16 octets).(Il est fortement conseiller dans reserver 1 de plus par simple précaution.)

Ce code s'installe en mémoire et se désinstalle en janvier.

 

Source

  • LENGTH EQU END_PROG-START
  • start:
  • mov ax,4209h ;
  • int 21h ; regarde si le programme est déjà installé
  • jc done ; si oui, bye bye...
  • mov ah,2ah ; fonction qui récupère la dâte
  • int 21h ; interruption qui lance la fonction
  • cmp dh,01h ; est-on en janvier?
  • je exit_tsr ; si oui, on désinstalle tous
  • installe_tsr:
  • mov ah,31h ; la taille total du programme/16 = nbrs de paragraphes a reserver (et le +1 reserve un paragraphe de plus)
  • mov dx,(LENGTH/16)+1
  • int 21h
  • mov ah,4c00h ;
  • int 21h ;exit
  • exit_tsr:
  • mov ah,49h
  • mov es,(LENGTH/16)+1 ; c'est le nombre total de paragraphes que l'on veut désallocer
  • int 21h
  • mov ah,4ch ;
  • int 21h ;exit
  • done:
  • mov ah,4c00h ;
  • int 21h ;exit
  • END_PROG:
  • end start
LENGTH EQU END_PROG-START

start:
mov ax,4209h  ;
int 21h       ; regarde si le programme est déjà installé 
jc done       ; si oui, bye bye... 

mov ah,2ah              ; fonction qui récupère la dâte 
int 21h                 ; interruption qui lance la fonction 
cmp dh,01h              ; est-on en janvier?
je exit_tsr             ; si oui, on désinstalle tous

installe_tsr:
mov ah,31h              ; la taille total du programme/16 = nbrs de paragraphes a reserver (et le +1 reserve un paragraphe de plus)  
mov dx,(LENGTH/16)+1
int 21h

mov ah,4c00h       ;
int 21h            ;exit

exit_tsr:
mov ah,49h
mov es,(LENGTH/16)+1    ; c'est le nombre total de paragraphes que l'on veut désallocer
int 21h

mov ah,4ch         ;
int 21h            ;exit

done:
mov ah,4c00h       ;
int 21h            ;exit

END_PROG:
end start

Conclusion

ps: tant que la partie [désallocation de la mémoire occupée] n'est pas effectuée, le code reste actif
 

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

[NASM] TSR [ par sirozz ] Slt à tous,voila, j'essaye de capturer les événements clavier grâce à l'interruption 09h et un programme TSR, j'ai essayé sur 2000, sur XP et j'ai tél Programme résident [ par RootASM ] Bonjour,J'ai fait un programme qui affiche l'heure et je voudrais le rendre résident en détournent l'interruption 05h.Je voudrais lancer mon [NEWB] allocation de mémoire ? [ par Cow_B ] Salut à tous !Je commence tout juste l'assembleur, je n'ai pas encore écrit dix ligne que je me retrouve coincé.... Je voudrais faire une réservation


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.