Les procédures et interruptions en Assembleur (Tasm)

Slides:



Advertisements
Présentations similaires
Les Structures.
Advertisements

Premier programme en C :
La boucle for : init7.c et init71.c
Chapitre annexe. Récursivité
Le Concept du programme enregistré
Initiation à la programmation et algorithmique cours 4
Portée des variables VBA & Excel
DECLARATION DE VARIABLES
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
Les Structures. Introduction : Imaginons que lon veuille afficher les notes dune classe délèves par ordre croissant avec les noms et prénoms de chaque.
Exercices Algorithmiques
merci Laurent JEANPIERRE
La pile un élément essentiel
Le Concept du programme enregistré
Les structures de données
FLSI602 Génie Informatique et Réseaux
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Système d’exploitation : Assembleur
Système d’exploitation : Assembleur
Système d’exploitation : Assembleur
Système d’exploitation : Assembleur
Points importants de la semaine Les fonctions. La portée. La passage par copie. Les tableaux.
Assembleur.
Cours de programmation
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Partie 1 Etude de l'existant
Récursivité.
Chapitre IV LES STRUCTURES SIMPLES. Plan I- Les entrées II- Laffectation III- Les sorties.
Les fichiers. Inclusion de fichiers Il est possible daccéder à des procédures, des macros ou des définitions EQU qui se trouvent dans dautres fichiers.
Les piles Djamal Rebaïne.
Les éléments de base de l’algorithmique
MONITEUR AIDE MEMOIRE TELEPHONE Modèle 4020 Premium.
La récursivité Une procédure est dite récursive si, et seulement si, elle fait appel à elle-même, soit directement soit indirectement Djamal Rebaïne Djamal.
CSI3525: Concepts des Langages de Programmation Notes # 12: Implementation des Sous-Programmes ( Lire Chapitre 9 )
Présentation de la séquence de cours sur les interactions HTML-javascript Laure Walser, 11 juin 2010.
Labview Programmation réseau Communication par sockets
Création d’un programme :
Système d’exploitation : Assembleur
LE MICROPROCESSEUR 8086/8088 Architecture externe du 8086
Système d’exploitation : Assembleur
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
Les fichiers 1Djamal Rebaine. Inclusion de fichiers Il est possible daccéder à des procédures, des macros ou des définitions EQU qui se trouvent dans.
Chapitre 9 Les sous-programmes.
Assembleur.
Les chaînes de caractères
LANGAGE C LP A2I IUT St DIE
Processeur modèle 8086 David Saint-Mellion.
Traitement des tableaux et chaînes de caractères
VAL3 Ethernet - Sockets A partir VAL 3 Version 4.x.
MONITEUR AIDE MEMOIRE TELEPHONE Modèle 4035 Advanced.
Sous-programmes.
Architecture interne du microprocesseur 8086.
Module I3 algorithmique et programmation
Programmation Système et Réseau
CSI 3525, Implémentation des sous-programmes, page 1 Implémentation des sous-programmes L’environnement dans les langages structurés en bloc La structure.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
ISBN Chapitre 10 L'implémentation des sous- programmes.
Cours LCS N°4 Présenté par Mr: LALLALI
Système d’exploitation : Assembleur Semaine 01 Introduction.
UE MAREP Cours 9 : Tableaux
Exercices.
IFT209 – Programmation Système
Tour rapide d’un premier programme SPARC v9
Algorithmique Tableaux de données

Chapitre 9 Les caractères.
Transcription de la présentation:

Les procédures et interruptions en Assembleur (Tasm) Tp°4 Les procédures et interruptions en Assembleur (Tasm)

Les Procédures Pour déclarer une procédure en assembleur Syntaxe: <nom-procédure> proc near …….. ret <nom-procédure> endp

Les Procédures Exemple: ecrire_message proc near mov ax, data mov ds, ax mov dx, offset message1 mov ah, 09h int 21h ret ecrire_message endp

Les Procédures Appel d’une procédure: Syntaxe: call <nom-procédure> Exemple: call ecrire_message

Les Procédures pile segment stack pp dw 20 dup (?) pile ends data segment message1 db "bonjour",'$' data ends assume cs:code, ds:data, ss:pile code segment debut: mov cx, 3 boucle: call ecrire_message loop boucle mov ah,4ch int 21h ecrire_message proc near mov ax, data ; fixer le registre segment de donnée mov ds, ax ; charger ds par l'adresse de la chaine mov dx, offset message1 ; reperer le début mov ah, 09h ; préparer l'interruption d'affichage du texte int 21h ; appeler l'interruption ret ecrire_message endp code ends end debut

Les Procédures Écrivez ce programme et observer son exécution sous TD de tasm Que fait ce programme?

Les Procédures Pour passer des paramètres, il y a deux méthodes: On peut utiliser les registres AX, BX, CX et DX  Ou l’empilement et dépilement dans une pile

Interruptions Une interruption est un petit programme stocké en mémoire qui peut être appelé et qui a une tâche spécifique. Les interruptions permettent l'interactivité entre l'utilisateur et le programme (les entrées/sorties). Pour accéder aux périphériques de l’ordinateur, il faut le demander au MS-DOS via des interruptions. A chaque périphérique correspond une fonction identifiée par un numéro.

Interruptions Pour lancer une interruption il faut appeler l’interruption selon la syntaxe suivante: Syntaxe: int <n°> Exemple: int 21 Mais à une interruption, peut y avoir plusieurs fonctions définies chacune pour un périphérique. La valeur de la fonction doit être placée dans le registre ‘AH’

Interruptions Exemple: mov ah, 09h int 21h ici, est l’appel de l'interruption n°= 21h et la fonction n°= 09h.

Interruptions Exemple1: Pour arrêter l’exécution un programme : mov ah, 4ch int 21h

Interruptions int 21h Exemple 2: Pour écrire un caractère à l'écran mov ah, 02h int 21h Mais il faut mettre le caractère à afficher dans le registre DL

interruptions Exemple 3: Écrire une chaîne de caractères à l'écran mov ah, 09h int 21h, Il va falloir écrire une phrase dans un tableau qui se termine par le caractère ‘$’ Ensuite donner l'adresse de ce tableau dans DX

interruptions Exemple 4: Changer la position du curseur mov ah, 02h int 10h

interruptions Exemple 4: Lecture d'une touche au clavier l'interruption 16h gère le clavier. Elle possède deux fonctions intéressantes : 00h: lecture d'une touche. renvoi le code ASCII de la touche dans le registre AL. Si celui-ci vaut 0, alors la touche est étendue, et le code est stocké dans AH 01h, vérification de la présence d'une touche dans le tampon clavier.

Tp à remettre Écrire le programme assembleur permettant de trier un tableau de 10 éléments entiers non signés.