syst me d exploitation assembleur n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Système d’exploitation : Assembleur PowerPoint Presentation
Download Presentation
Système d’exploitation : Assembleur

Loading in 2 Seconds...

play fullscreen
1 / 5

Système d’exploitation : Assembleur - PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on

Système d’exploitation : Assembleur. Semaine 13 Les interruptions. Les interruptions (1/4). 2 types d’interruptions Interruptions matérielles : commandées par le câblage électrique ( expl 1 : signal horloge : interrompt un prog + de 18 x / sec.)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Système d’exploitation : Assembleur' - riona


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
syst me d exploitation assembleur

Système d’exploitation : Assembleur

Semaine 13

Les interruptions

les interruptions 1 4
Les interruptions (1/4)
  • 2 types d’interruptions
    • Interruptions matérielles : commandées par le câblage électrique
      • (expl 1 : signal horloge : interrompt un prog + de 18 x / sec.)
      • (expl 2 : clavier : si touche enfoncée, caract va dans buffer clavier)
    • Interruptions logicielles : commandées par le programme
      • (fonctions utiles écrites par MS - expl : ouvrir un fichier - code en ROM ou RAM )
  • Les interruptions matérielles
    • Quand µpro exécute programme, il peut être interrompu par une interruption sur une des broches du µpro (INTR ou NMI - voir brochage du µpro en début du cours)
    • INTR = interruption masquable (dont on peut condamner l’accès par logiciel : activer l’indicateur IF - interrupt flag)
    • NMI = interruption non-masquable : on ne peut interdire son fonctionnement par logiciel - offre une très haute priorité
    • (pour INTR, il existe une broche INTA - “interruptacknowledge”- que le µpro active quand il a reçu une demande d’interruption et qu’il est prêt à la prendre en compte)
  • Les interruptions logicielles
    • instruction INT dans le programme en précisant le numéro d’ordre
les interruptions 2 4
Les interruptions (2/4)
  • Vecteur d’interruptions
    • Une interruption logicielle est caractérisée par son numéro d’entrée dans le vecteur des interruptions.
    • Ce vecteur occupe les 1024 premiers octets de la mémoire et est composé de 256 éléments.Chaque élément contient une adresse de la forme segment: offset (4 octets).Cette adresse est celle de la première instruction de la procédure de traitement de l’interruption.
    • Remarque : Les interruptions 0 à 63 sont réservées par le système.(par ex : 21h : DOS)
  • Traitement des interruptions logicielles
    • Une instruction INT suivie du numéro de l’interruption survient
    • Le registre des indicateurs d’état, CS et IP sont empilés (±idem CALL)
    • TF et IF sont remis à 0
    • CS et IP sont chargés avec l’adresse du programme d’interruption
    • Le programme se poursuit en CS:IP
    • Le programme de l’interruption se termine par IRET
    • Extraction de la pile de IP, puis CS, puis les indicateurs
    • Le programme reprend en CS:IP
les interruptions 3 4
Les interruptions (3/4)
  • Traitement des interruptions matérielles
    • Idem interruptions logicielles, mais l’instruction en cours est terminée avant exécution de l’interruption.
  • Instructions spécifiques pour interruptions
    • INT (voir ci-dessus)
    • IRET (voir ci-dessus)
    • HLT (halte jusqu’à une interruption ou réinitialisation)
    • STI : mise à 1 de IF
    • CLI : mise à 0 de IF
  • Utilisation des interruptions :
    • Pour accéder aux fonctions du système (ouvrir fichier, écrire un caractère…) écrites par Microsoft
    • Possibilité de détourner les interruptions de MS-DOS.
      • Exemplele programme keybfr détourne l’interruption matérielle associée au clavier.Quand une touche est enfoncée, le programme (résidant) analyse la touche et transforme le ‘a’ en ‘q’,...
    • Fonctions universelles du DOS (fonctions liées à INT 21h) – cf. page suivante
les interruptions 4 4
Les interruptions (4/4)
  • Fonctions universelles du DOS (fonctions liées à INT 21h – numéro du service dans AH)
    • Fonction 4Ch : fin de programme avec code de retour via AL.

Ce code de retour peut être testé avec la commande ERRORLEVEL

    • Fonction 09h : Affichage d’une chaîne de caractères

Envoie une chaîne de caractères à l’écran à l’emplacement actuel du curseur. (! Ne pas oublier le fin de chaîne $ - la chaîne à afficher doit se trouver à DS:DX)

    • Fonction 0Ah : Lecture d’une chaîne de caractères au clavier

La chaîne lue sera disponible à DS:DX

1er octet = longueur max de la chaîne à lire (avec <CR>)

2ème octet = longueur de la chaîne lue

La chaîne débute réellement au 3ème octet

    • Traitement de fichiers,…(3Ch, 5Bh,…)
  • Autres interruptions utiles :
    • Test si caractère frappé au clavier : INT 16h, service 01h
    • Imprimer un caractère : INT 17h, service 0 (code ASCII du caractère dans AL)