• Aucun résultat trouvé

Cours mini assembleur en PDF

N/A
N/A
Protected

Academic year: 2021

Partager "Cours mini assembleur en PDF"

Copied!
34
0
0

Texte intégral

(1)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Éléments d’informatique – Cours 1. Éléments

d’architecture des ordinateurs, mini-assembleur

Pierre Boudes

15 septembre 2010

(2)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre) Architecture de von Neumann

Représentation des informations Cycle d’exécution

Instructions Trace d’exécution Démos et fin

(3)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf) • Écriture et appel de fonctions

• Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(4)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf) • Écriture et appel de fonctions

• Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(5)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf) • Écriture et appel de fonctions

• Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(6)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf) • Écriture et appel de fonctions

• Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(7)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf) • Écriture et appel de fonctions

• Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(8)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf) • Écriture et appel de fonctions

• Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(9)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf) • Écriture et appel de fonctions

• Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(10)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf)

• Écriture et appel de fonctions • Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(11)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf) • Écriture et appel de fonctions

• Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(12)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf) • Écriture et appel de fonctions

• Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(13)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf) • Écriture et appel de fonctions

• Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(14)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf) • Écriture et appel de fonctions

• Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(15)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Survol du contenu du cours (ce semestre)

• Éléments d’architecture des ordinateurs (+mini-assembleur)

• Éléments de systèmes d’exploitation

• Programmation structurée impérative (éléments de langage C)

• Structure d’un programme C

• Variables : déclaration (et initialisation), affectaction • Évaluation d’expressions

• Instructions de contrôle : if, for, while

• Types de données : entiers, caractères, réels, tableaux, enregistrements

• Fonctions d’entrées/sorties (scanf/printf) • Écriture et appel de fonctions

• Débogage

• Notions de compilation

• Analyse lexicale, analyse syntaxique, analyse sémantique • préprocesseur du compilateur C (include, define) • Édition de lien

• Algorithmes élémentaires

(16)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

« L’informatique n’est pas plus la science des ordinateurs que l’astronomie n’est celle des télescopes. »

(17)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Architecture de von Neumann

• John William Mauchly et John Eckert

• Idée d’une machine à programme stocké.

(18)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Représentation en binaire des informations

Definition (bit)

• Le chiffre binaire, ou bit, est l’équivalent binaire de nos chiffres décimaux. Il peut valoir soit 0 soit 1. Un bit est une quantité élémentaire d’information (oui ou non, ouvert ou fermé, etc.).

• L’information manipulée par un ordinateur est consituée de bits.

• les cases mémoires et les registres contiennent des mots mémoire : des suite de n bits, où n est fixé une fois pour toute par l’architecture matérielle.

• les instructions du langage machine sont exprimées en binaire.

• le langage assembleur en est un notation pratique pour les humains.

Nous en verrons plus sur les codages en binaire des données dans quelques cours.

(19)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Représentation en binaire des informations

Definition (bit)

• Le chiffre binaire, ou bit, est l’équivalent binaire de nos chiffres décimaux. Il peut valoir soit 0 soit 1. Un bit est une quantité élémentaire d’information (oui ou non, ouvert ou fermé, etc.).

• L’information manipulée par un ordinateur est consituée de bits.

• les cases mémoires et les registres contiennent des mots mémoire : des suite de n bits, où n est fixé une fois pour toute par l’architecture matérielle.

• les instructions du langage machine sont exprimées en binaire.

• le langage assembleur en est un notation pratique pour les humains.

Nous en verrons plus sur les codages en binaire des données dans quelques cours.

(20)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Représentation en binaire des informations

Definition (bit)

• Le chiffre binaire, ou bit, est l’équivalent binaire de nos chiffres décimaux. Il peut valoir soit 0 soit 1. Un bit est une quantité élémentaire d’information (oui ou non, ouvert ou fermé, etc.).

• L’information manipulée par un ordinateur est consituée de bits.

• les cases mémoires et les registres contiennent des mots mémoire : des suite de n bits, où n est fixé une fois pour toute par l’architecture matérielle.

• les instructions du langage machine sont exprimées en binaire.

• le langage assembleur en est un notation pratique pour les humains.

Nous en verrons plus sur les codages en binaire des données dans quelques cours.

(21)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Représentation en binaire des informations

Definition (bit)

• Le chiffre binaire, ou bit, est l’équivalent binaire de nos chiffres décimaux. Il peut valoir soit 0 soit 1. Un bit est une quantité élémentaire d’information (oui ou non, ouvert ou fermé, etc.).

• L’information manipulée par un ordinateur est consituée de bits.

• les cases mémoires et les registres contiennent des mots mémoire : des suite de n bits, où n est fixé une fois pour toute par l’architecture matérielle.

• les instructions du langage machine sont exprimées en binaire.

• le langage assembleur en est un notation pratique pour les humains.

Nous en verrons plus sur les codages en binaire des données dans quelques cours.

(22)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Représentation en binaire des informations

Definition (bit)

• Le chiffre binaire, ou bit, est l’équivalent binaire de nos chiffres décimaux. Il peut valoir soit 0 soit 1. Un bit est une quantité élémentaire d’information (oui ou non, ouvert ou fermé, etc.).

• L’information manipulée par un ordinateur est consituée de bits.

• les cases mémoires et les registres contiennent des mots mémoire : des suite de n bits, où n est fixé une fois pour toute par l’architecture matérielle.

• les instructions du langage machine sont exprimées en binaire.

• le langage assembleur en est un notation pratique pour les humains.

Nous en verrons plus sur les codages en binaire des données dans quelques cours.

(23)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Représentation en binaire des informations

Definition (bit)

• Le chiffre binaire, ou bit, est l’équivalent binaire de nos chiffres décimaux. Il peut valoir soit 0 soit 1. Un bit est une quantité élémentaire d’information (oui ou non, ouvert ou fermé, etc.).

• L’information manipulée par un ordinateur est consituée de bits.

• les cases mémoires et les registres contiennent des mots mémoire : des suite de n bits, où n est fixé une fois pour toute par l’architecture matérielle.

• les instructions du langage machine sont exprimées en binaire.

• le langage assembleur en est un notation pratique pour les humains.

Nous en verrons plus sur les codages en binaire des données dans quelques cours.

(24)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Représentation en binaire des informations

Definition (bit)

• Le chiffre binaire, ou bit, est l’équivalent binaire de nos chiffres décimaux. Il peut valoir soit 0 soit 1. Un bit est une quantité élémentaire d’information (oui ou non, ouvert ou fermé, etc.).

• L’information manipulée par un ordinateur est consituée de bits.

• les cases mémoires et les registres contiennent des mots mémoire : des suite de n bits, où n est fixé une fois pour toute par l’architecture matérielle.

• les instructions du langage machine sont exprimées en binaire.

• le langage assembleur en est un notation pratique pour les humains.

Nous en verrons plus sur les codages en binaire des données dans quelques cours.

(25)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Cycle d’exécution

• Le registre compteur de programme(CP) contient l’adresse du mot mémoire représentant la prochaine instruction

• le contenu de ce mot est transféré de la mémoire centrale dans le registre d’instruction (RI)

• CP est incrémenté (c’est à dire que sa valeur augmente de 1)

• le contenu de RI est décodé afin de déterminer l’opération à exécuter

• l’opération est exécutée (le contenu d’un ou plusieurs registres est modifié)

(26)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Cycle d’exécution

• Le registre compteur de programme(CP) contient l’adresse du mot mémoire représentant la prochaine instruction

• le contenu de ce mot est transféré de la mémoire centrale dans le registre d’instruction (RI)

• CP est incrémenté (c’est à dire que sa valeur augmente de 1)

• le contenu de RI est décodé afin de déterminer l’opération à exécuter

• l’opération est exécutée (le contenu d’un ou plusieurs registres est modifié)

(27)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Cycle d’exécution

• Le registre compteur de programme(CP) contient l’adresse du mot mémoire représentant la prochaine instruction

• le contenu de ce mot est transféré de la mémoire centrale dans le registre d’instruction (RI)

• CP est incrémenté (c’est à dire que sa valeur augmente de 1)

• le contenu de RI est décodé afin de déterminer l’opération à exécuter

• l’opération est exécutée (le contenu d’un ou plusieurs registres est modifié)

(28)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Cycle d’exécution

• Le registre compteur de programme(CP) contient l’adresse du mot mémoire représentant la prochaine instruction

• le contenu de ce mot est transféré de la mémoire centrale dans le registre d’instruction (RI)

• CP est incrémenté (c’est à dire que sa valeur augmente de 1)

• le contenu de RI est décodé afin de déterminer l’opération à exécuter

• l’opération est exécutée (le contenu d’un ou plusieurs registres est modifié)

(29)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Cycle d’exécution

• Le registre compteur de programme(CP) contient l’adresse du mot mémoire représentant la prochaine instruction

• le contenu de ce mot est transféré de la mémoire centrale dans le registre d’instruction (RI)

• CP est incrémenté (c’est à dire que sa valeur augmente de 1)

• le contenu de RI est décodé afin de déterminer l’opération à exécuter

• l’opération est exécutée (le contenu d’un ou plusieurs registres est modifié)

(30)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Instructions

Une instruction type comporte un code d’opération et, si nécessaire, une ou deux opérandes.

Vocabulaire : dans l’expression arithmétique usuelle 3 + 5, le signe + est l’opérateur et les nombres 3 et 5 sont les opérandes.

(31)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Instructions

Une instruction type comporte un code d’opération et, si nécessaire, une ou deux opérandes.

Vocabulaire : dans l’expression arithmétique usuelle 3 + 5, le signe + est l’opérateur et les nombres 3 et 5 sont les opérandes.

(32)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

stop Arrête l’exécution du programme.

noop N’effectue aucune opération.

saut i Met le compteur de programme à la valeur i .

sautpos ri j Si la valeur contenue dans le registre i est positive ou nulle, met le compteur de programme à la valeur j . valeur x ri Initialise le registre i avec la valeur x.

lecture i rj Charge, dans le registre j , le contenu de la mémoire d’adresse i .

ecriture ri j Écrit le contenu du registre i dans la mémoire d’adresse j .

inverse ri Inverse le signe du contenu du registre i .

add ri rj Ajoute la valeur du registre i à celle du registre j (la somme obtenue est placée dans le registre j ).

soustr ri rj Soustrait la valeur du registre i à celle du registre j (la différence obtenue est placée dans le registre j ). mult ri rj Multiplie par la valeur du registre i celle du registre j

(le produit obtenu est placé dans le registre j ). div ri rj Divise par la valeur du registre i celle du registre j (le

quotient obtenu, arrondi à la valeur entière inférieure, est placé dans le registre j ).

(33)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Trace d’exécution

Instructions Cycles CP r0 r2 10 11 Initialisation 0 1 ? ? 14 ? lecture 10 r0 1 2 14 valeur 5 r2 2 3 5 soustr r2 r0 3 4 9 sautpos r0 8 4 8 ecriture r0 11 5 9 9 stop 6 10

(34)

Plan Plan du cours Architecture de von Neumann Représentation des informations Cycle d’exécution Instructions Trace d’exécution Démos

Références

Documents relatifs

To respond to this need, a comparative analysis of well-known ML/DL techniques, including Multilayer Perceptron, K-Nearest Neighbors, Decision Tree, Random Forest, and Voting

Pour assurer une connectivité permanente entre le patient suivi dans son environnement (fixe ou mobile) et les acteurs extérieurs (les intervenants médicaux, les applications

L’objectif principal de cet article est de proposer une approche qui permet : (1) de concevoir facilement l’architecture d’un système logiciel en cours de développement en

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

ةلوطبلا لولأا لصفلا : ةيرظن تادّدحم 8 ديهمت : ةلوطبلا ٌفإ ب ةطبترلدا ميىافلدا ـدقأ نم ةٌيناسنلإا سفٌنلا عكرأ نم يىك ،اهيف ةمغمغتلداك

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Les propres réflexions de Bougard centrées sur le travail de Lemery sont rares, et ne se retrouvent pas non plus au chapitre suivant qui a pour propos

• Les ondes gravitationnelles sont des oscillations de courbure qui se propagent dans l’Univers `a la vitesse de la lumi`ere. • Ces ondes sont g´en´er´ees par l’acc´el´eration