Chapitre 6 Instructions Pep/8, factorisation et refactorisation

Documents pareils
Chapitre 10 Arithmétique réelle

IV- Comment fonctionne un ordinateur?

Licence Sciences et Technologies Examen janvier 2010

Architecture des ordinateurs

Jeu d instructions NIOS II

ASR1 TD7 : Un microprocesseur RISC 16 bits

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

La mémoire. Un ordinateur. L'octet. Le bit

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Codage d information. Codage d information : -Définition-

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Représentation des Nombres

Une version javascript sera disponible directement dans le cours prochainement.

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

CONFIGURATION DE L AUTOMATE SIEMENS

Concept de machine virtuelle

Organisation des Ordinateurs

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)

Les opérations binaires

Programmation assembleur : aperçu


UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Conception de circuits numériques et architecture des ordinateurs

Rappels d architecture

Initiation à la Programmation en Logique avec SISCtus Prolog

Manuel d'installation de GESLAB Client Lourd

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Algorithme. Table des matières

Structure d un programme

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

GPA770 Microélectronique appliquée Exercices série A

Partie 7 : Gestion de la mémoire

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

Microprocesseur + Logiciel

Logiciel de Base. I. Représentation des nombres

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

ENVOI EN NOMBRE DE MESSAGES AUDIO

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Traduction des Langages : Le Compilateur Micro Java

CODAGE DES SMS. 2 Commandes «AT» 25 3 Matériels utilisés 55 4 Interfacer un téléphone GSM 73 5 Réalisations électroniques 101

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

CAPTURE DES PROFESSIONNELS

UE Programmation Impérative Licence 2ème Année

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Guide d installation Windows XP

Algorithmique et Programmation, IMA

Architecture des ordinateurs Introduction à l informatique

CM2 L architecture MIPS32

Représentation d un entier en base b

Documentation Technique du programme HYDRONDE_LN

Programmation C. Apprendre à développer des programmes simples dans le langage C

Logiciel de base. Première année ENSIMAG

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Génie Logiciel avec Ada. 4 février 2013

ALERT NOTICE D UTILISATION DU DRIVER SIA

PIC : COURS ASSEMBLEUR

INTRODUCTION AU CMS MODX

Structure fonctionnelle d un SGBD

Programmation en langage C

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

Utilisation de KoXo Computers V2.1

Connexion d'un Ordi35 à une ClubInternet Box en WiFi

Informatique Générale

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Consigne : je remplis le tableau en tenant compte des informations de la ligne supérieure et de la colonne de gauche (droite pour les gauchers)

Transmissions série et parallèle

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Bases de données documentaires et distribuées Cours NFE04

N importe qui possédant un code MS valide peut initier la rencontre. Néanmoins, il serait préférable de laisser cette

Utilisation de l'outil «Open Office TEXTE»

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

Conversion d un entier. Méthode par soustraction

Créer une base de données

DM 1 : Montre Autoquartz ETA

Cours d Informatique

Guide d installation du logiciel Proteus V.8 Sous Windows Vista, 7, 8

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

INF 321 : mémento de la syntaxe de Java

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

Guide de l utilisateur ADA pour Desjardins Credit Union

Manuel du logiciel PrestaTest.

Cours Informatique 1. Monsieur SADOUNI Salheddine

KL5121. Pour activer des sorties en fonction de la position d'un codeur

Les arbres binaires de recherche

Le langage de programmation Labview IUT1 Grenoble Département GEII1 Année 2007/2008

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

I- Définitions des signaux.

Transcription:

Chapitre 6 Instructions Pep/8, factorisation et refactorisation Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 1 / 23

Plan 1 Instructions machines 2 Instructions logiques 3 Instructions spéciales 4 Branchements et sous-programmes Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 2 / 23

Plan 1 Instructions machines 2 Instructions logiques 3 Instructions spéciales 4 Branchements et sous-programmes Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 3 / 23

Processeurs Processeur = travailleur Chacun à son jeu d instructions Il existe des familles de processeur Pep/8 Processeur simplifié 39 instructions 1 ou 3 octets Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 4 / 23

Code d instruction Un octet Code d opération (4 à 8 bits) Bits de paramètres registre adressage... Exemples 0000 0000 : STOP 0001 101r : NEGr 0111 raaa : ADDr Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 5 / 23

Programmes non purs Principe Les instructions sont des octets en mémoire Or, on peut modifier les octets en mémoire Donc, on peu modifier les instructions lors de l exécution le programme s écrit lui-même Programme dit «non pur» Ses instructions se modifient à l exécution Style à proscrire Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 6 / 23

Exercices : programmes non purs Simulation accès indexé Écrire un programme non pur qui affiche un chaîne en utilisant que les adressages directs et immédiats Idée : récrire des spécificateurs d opérandes Calculatrice juste-à-temps Écrire un programme non pur qui demande un nombre d opération n et un opérateur (+ ou -) ; puis demande n pairs d opérandes et affiche pour chaque pair le résultats de l opération Idée : en fonction de l opérateur, générer une fois pour toute l instruction arithmétique adaptée Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 7 / 23

Plan 1 Instructions machines 2 Instructions logiques 3 Instructions spéciales 4 Branchements et sous-programmes Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 8 / 23

Instruction logiques Opérations sur bits Une valeur est un ensemble de bits Utilisation Traiter des tas de bits Traites des valeurs via leur représentation binaire Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 9 / 23

Instructions bit-à-bit Instruction NOTr Inverse les bits (0 1 et 1 0) Exercice : ~0xEF01 =? Instruction ANDr Fait le «et» binaire des opérandes (1 et 1 1, sinon 0) Exercice : 0xEF01 & 0x7FAF =? Instruction ORr Fait le «ou» binaire des opérandes (0 et 0 0, sinon 1) Exercice : 0xEF01 0x7FAF =? Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 10 / 23

Instruction bit-à-bit Attention NOTr, ANDr et ORr ne sont pas les connecteurs logiques booléens NEGr NOTr Exercice Écrire un programme qui transforme les minuscules en majuscules. Dur : écrire un programme qui vérifie si un nombre est une puissance de 2 Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 11 / 23

Instructions de décalage Instruction ASLr : décalage à gauche Le bit de poids fort est rangé dans C Le nouveau bit de poids faible est 0 Exercice : 0xABCD << 1 =? Instruction ASRr : décalage à droite Le bit de poids faible est rangé dans C Le nouveau bit de poids fort vaut l ancien Exercice : 0xABCD >> 1 =? Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 12 / 23

Instructions de décalage Attention Travaillent en 16 bits signés Exercices Écrire un programme qui multiple un nombre par 100 Écrire un programme qui affiche le nombre de bits à 1 d un nombre 16 bits signé Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 13 / 23

Instructions de décalage circulaire Instruction ROLr : rotation à gauche Ancien bit fort nouveau C Ancien C nouveau bit faible Instruction RORr : rotation à droite Ancien C nouveau bit fort Ancien bit faible C En pratique Peu d usage car C est difficilement contrôlable en Pep/8 Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 14 / 23

Plan 1 Instructions machines 2 Instructions logiques 3 Instructions spéciales 4 Branchements et sous-programmes Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 15 / 23

Instructions non réalisées Instructions NOPn et NOP Ne font rien 12 spécificateurs d instruction Utilité Place pour commentaires Place pour code généré (programmes non purs) Appel systèmes Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 16 / 23

Instructions de transfert spéciaux Instruction MOVSPA Copie le pointeur de pile vers A Instruction MOVFLGA Copie NZVC vers A Attention Vers A seulement Dans un sens seulement Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 17 / 23

Plan 1 Instructions machines 2 Instructions logiques 3 Instructions spéciales 4 Branchements et sous-programmes Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 18 / 23

Instructions de branchement Déjà vus : BR et BRcond Branche (conditionelement) à une adresse PC opérande Adressages Immédiat ou indexé Exercice Écrire un programme qui affiche un menu fonctionnel (mais qui ne fait rien) Idée : traduire un switch/case en BR indexé Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 19 / 23

Exercice Sommes Écrire un programme qui demande deux nombres affiche leur somme demande deux autres nombres affiche leur somme indique si cette dernière est la plus grande Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 20 / 23

Appel de sous-programmes Instruction CALL Empile la valeur du compteur ordinal (2 octets) Branche à l adresse indiquée Instruction RETn Dépile n octets (pour l instant 0) Dépile 2 octets et branche à cette adresse Utilisation Sous-programmes (procédures et fonctions) Exercice Refaire l exercice précédent Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 21 / 23

Manipulation de pile Instruction ADDSP Dépile des octets Instruction SUBSP Empile des octets Plus tard Semaine 8 Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 22 / 23

Retour d appel système Instruction RETTR Retour de TRAP Encore plus tard Semaine 11 Jean Privat (UQAM) 06 Instructions INF2170 Automne 2013 23 / 23