begin process at 2010 02 09 17:17:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Applications ms-dos

 > PROGRAMME TSR (TERMINATE & STAY RESIDENT)

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


 Sources de la même categorie

Source avec une capture LECTURE CHAINE ET COMPARAISON[MASM] par w4kfu
Source avec une capture LECTURE TOUCHE CLAVIER[MASM] par w4kfu
Source avec Zip UN RESOLVEUR SUDUKO AVEC ASSEMBLEUR NASM par msavyo1
Source avec Zip TESTEUR DE COMPATIBILITTÉ VESA (SUPER VGA) par bofur
Source avec Zip COMMUNICATION SÉRIE RS232 AVEC INTERRUPTIONS par bouffa

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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales