OUTIL DE DÉVELOPPEMENT LOGICIEL

Slides:



Advertisements
Présentations similaires
GEF 243B Programmation informatique appliquée
Advertisements

Premier programme en C :
Chapitre annexe. Récursivité
Les procédures et interruptions en Assembleur (Tasm)
Initiation à l’utilisation du logiciel STATISTICA
Fonctions & procédures
Les Prepositions.
1 V-Ingénierie… La compétence au service de lexigence… vous présente.
JXDVDTEK – Une DVDthèque en Java et XML
Jacques Lonchamp IUT Nancy Charlemagne – DUT Informatique 1A
Le Modèle Logique de Données
Objectifs Nous allons concevoir une mise en œuvre contenant un noyau de jeu d’instructions. Nous verrons comment l’architecture de jeu d’instructions.
Les éléments de mémorisation
Le codage de l ’information
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
Les structures de données
INTRODUCTION.
Chap. 1 Structures séquentielles : listes linéaires
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
ORTH 1 CE2 Je sais écrire sans erreur les pluriels des noms se terminant par s, x, z.
Exercice Trame Ethernet
Gestion de la communication par établissement sur le site ville
Cours Systèmes logiques
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Développement d’applications web
Les résultats Le tri croisé
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
© 2008 General Parts International, Inc. Written permission is required to copy or forward to anyone other than the intended recipient. Formation TeammateTime.
Formation au module Structure de ZENTO
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
La haute tour sombre 3 Des actions
Gestion des Périphériques
Serveurs Partagés Oracle
18/05/ Utiliser le cahier de texte en ligne avec lapplication SPIP Adresse du site du lycée :
DÉCODAGE D'ADRESSES Mars 2007 JF VIENNE.
TRANSMISSION DES DONNEES.
TRANSMISSION SÉRIE ASYNCHRONE Février 2008 JF VIENNE.
Virtual Local Area Network
INTRODUCTION AU Février 2008
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Le Système Processeur David Saint-Mellion.
@SSR – Installation des applications eduscol.education.fr/securite - février 2007 © Ministère de l'Éducation nationale, de l'Enseignement supérieur et.
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.
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
Programmation concurrente
1.1 LES VECTEURS GÉOMÉTRIQUES
Notre calendrier français MARS 2014
Module 2 : Préparation de l'analyse des performances du serveur
Annexe 1 VISITE SUR
COURS DE PROGRAMMATION ORIENTEE OBJET :
C'est pour bientôt.....
Veuillez trouver ci-joint
SUJET D’ENTRAINEMENT n°4
Atelier de formation : MAT optimisation II (les graphes).
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 8 Filtres UNIX.
Pour Principes de microéconomie, svp ajouter en haut de la page :
Structures des données
Création et présentation d’un tableau avec Word 2007
10 paires -. 9 séries de 3 étuis ( n° 1 à 27 ) 9 positions à jouer 5 tables Réalisé par M..Chardon.
CALENDRIER-PLAYBOY 2020.
LES PILES ET FILES.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
REPRESENTATION DE L’INFORMATION
Patricia Renault UPMC 2005/2006
Tour rapide d’un premier programme SPARC v9
Transcription de la présentation:

OUTIL DE DÉVELOPPEMENT LOGICIEL Janvier 2008 JF VIENNE

Patrick DUCROT L'ASSEMBLEUR L'ÉDITEUR DE LIENS LE "LOCATE" BREF, L'ENSEMBLE DES LOGICIELS QUI CONSTITUENT L'OUTIL DE DÉVELOPPEMENT LOGICIEL A ÉTÉ ÉCRIT PAR : Patrick DUCROT UNE DOCUMENTATION D'UNE DIZAINE DE PAGES EST DISPONIBLE, EN ANNEXE, À LA FIN DE VOTRE POLYCOPIÉ. Janvier 2008 JF VIENNE

SERVEUR NOVELL SALLE 201 SALLE 203 MUX ETHERNET 100 Mbits/s 8 PC SOUS DOS IMPRIMANTE SALLE 203 8 PC SOUS DOS IMPRIMANTE MUX ETHERNET 100 Mbits/s Janvier 2008 JF VIENNE

FICHIER SOURCE - NOM DU FICHIER : Max. 9 caractères suivis de l'extension .src Exemple : ex5.src - UNE LIGNE COMPORTE AU MAXIMUM QUATRE CHAMPS : [Étiquette: ] Opérateur Opérande(s) [ ;Commentaires] Pour l'assembleur, si le premier champ se termine par : il s'agit d'une étiquette => etiq: mov a,b OK etiq mov a,b FAUX => l'assembleur envoie le message "etiq instruction non reconnue" etiq : mov a,b FAUX => même message d'erreur. Janvier 2008 JF VIENNE

FICHIER SOURCE - NOM DU FICHIER : Max. 9 caractères suivis de l'extension .src Exemple : ex5.src - UNE LIGNE COMPORTE AU MAXIMUM QUATRE CHAMPS : [Étiquette: ] Opérateur Opérande(s) [ ;Commentaires] Tout ce qui figure après le point virgule, jusqu'à la fin de la ligne, est considéré comme du commentaire. Exemples de ligne : init: mov b,a ;Le code de la touche est dans le registre B. ;Traitement pour la touche GO it75: inx h nop Janvier 2008 JF VIENNE

ÉTIQUETTE - UNE ÉTIQUETTE (ON DIT AUSSI LABEL OU RÉFÉRENCE) CORRESPOND À UNE ADRESSE. it65: nop push psw …. lxi h,it65 Pour mettre dans HL l'adresse correspondant à it65 loop: nop cpi 12 …. jmp loop Janvier 2008 JF VIENNE

cpi 10h mvi a,0ffh mvi a,ffh FAUX! VALEURS NUMÉRIQUES (ADRESSES OU DONNÉES) UN NOMBRE HEXADÉCIMAL DOIT OBLIGATOIREMENT COMMENCER PAR UN CHIFFRE COMPRIS ENTRE 0 ET 9 ET SE TERMINER PAR LE SUFFIXE H. cpi 10h mvi a,0ffh mvi a,ffh FAUX! UN NOMBRE DÉCIMAL EST COMPOSÉ DE CHIFFRES COMPRIS ENTRE 0 ET 9 ET N'A PAS DE SUFFIXE. lxi h,1000 mvi m,150 UN NOMBRE BINAIRE EST COMPOSÉ DE 0 ET 1 ET SE TERMINE PAR LE SUFFIXE B. ani 01000000b mvi a,00001100b Janvier 2008 JF VIENNE

LA DIRECTIVE EQU À CONSOMMER SANS MODÉRATION ! nom equ expression CETTE DIRECTIVE NE GÉNÈRE PAS DE CODE. À UTILISER DE PRÉFÉRENCE AU DÉBUT DU FICHIER SOURCE. RDKBD equ 02E7h GO equ 12h ;Code de la touche GO CNT79 equ 19h ;Registre de contrôle du 8279 MAX equ 100 call RDKBD cpi GO out CNT79 mvi a,MAX À CONSOMMER SANS MODÉRATION ! Janvier 2008 JF VIENNE

LA DIRECTIVE DB (DEFINE BYTE) CETTE DIRECTIVE PERMET D'INITIALISER UNE ZONE MÉMOIRE AVEC DES OCTETS (DE 1 À 50). UTILISATION TYPIQUE : INITIALISATION DE CONSTANTES 8 BITS.. table8: db 15 12h 234 46h 0ffh table8 0E 15 12 EA 46 FF Janvier 2008 JF VIENNE

LA DIRECTIVE DW (DEFINE WORD) CETTE DIRECTIVE PERMET D'INITIALISER UNE ZONE MÉMOIRE AVEC DES MOTS DE 16 BITS (DE 1 À 25) EN RESPECTANT L'ORDRE INTEL. UTILISATION TYPIQUE : INITIALISATION DE CONSTANTES 16 BITS.. table16: dw 1234h 5678 0abcdh table16 34 12 2E 16 CD AB Janvier 2008 JF VIENNE

LA DIRECTIVE DS (DEFINE STORAGE) CETTE DIRECTIVE PERMET DE RÉSERVER DE LA MÉMOIRE POUR DES OCTETS NON INITIALISÉS. UTILISATION TYPIQUE : RÉSERVATION DE MÉMOIRE POUR LES VARIABLES. compteur: ds 2 ;Réserver deux octets pour le compteur tab_dst: ds 20 ;Réserver 20 octets pour le tableau destination lxi h,0 shld compteur ; Compteur=0 lxi b,tab_dst ; BC pointe le tableau destination Janvier 2008 JF VIENNE

ASSEMBLEUR RELOGEABLE UN ASSEMBLEUR RELOGEABLE EST UN ASSEMBLEUR POUR LEQUEL ON NE FAIT AUCUNE HYPOTHÈSE SUR L'ADRESSE DÉFINITIVE D'IMPLANTATION DU CODE ET DES VARIABLES. ON NE SUPPOSE RIEN SUR L'ADRESSE DE start. ON NE SUPPOSE RIEN SUR L'ADRESSE DE compteur. Janvier 2008 JF VIENNE

NB : IL Y A TOUJOURS DE LA MÉMOIRE NON VOLATILE À L'ADRESSE DU RESET DEUX TYPES DE MÉMOIRE DANS TOUT APPAREIL EMBARQUÉ, IL Y A : - DE LA MÉMOIRE NON VOLATILE (ROM, FLASH…) POUR LE PROGRAMME ET LES CONSTANTES. - DE LA MÉMOIRE VOLATILE (RAM) POUR LES VARIABLES ET LA PILE. μP ROM, FLASH … DEUX ESPACES MÉMOIRE DIFFÉRENTS RAM NB : IL Y A TOUJOURS DE LA MÉMOIRE NON VOLATILE À L'ADRESSE DU RESET Janvier 2008 JF VIENNE

CAS DE LA MAQUETTE SDK85 - COMPTE TENU DU CARACTÈRE PÉDAGOGIQUE DE LA MAQUETTE, VOTRE PROGRAMME NE PEUT ÊTRE QU'EN RAM. 0000 ROM (MONITEUR) 07FFH 2000H RAM 20FFH CET ESPACE MÉMOIRE CONVIENT PARFAITEMENT POUR LA PILE QUI PEUT AINSI S'ÉTENDRE DE 20C2H À 2000H. PILE 2800H RAM 28FFH VARIABLES CET ESPACE MÉMOIRE CONVIENT PARFAITEMENT POUR LES VARIABLES. compteur DEVRA CORRESPONDRE À L'ADRESSE 2800H. 8000H RAM 2Ko TÉLÉCHARGEABLE 87FFH CODE LE SYSTÈME DE DÉVELOPPEMENT LOGICIEL VOUS PERMET DE TÉLÉCHARGER VOTRE CODE ET VOS CONSTANTES UNIQUEMENT DANS CET ESPACE MÉMOIRE. start DEVRA CORRESPONDRE À L'ADRESSE 8000H. Janvier 2008 JF VIENNE

LES DIRECTIVES CSEG ET DSEG -1- LORSQUE VOUS ÉCRIVEZ VOTRE SOURCE LE PROGRAMME DOIT POUVOIR ÊTRE UTILISABLE QUELQUE SOIT L'ADRESSE D'IMPLANTATION DU CODE ET DES VARIABLES. -2- EN CONSÉQUENCE, À L'ISSUE DE L'ASSEMBLAGE, LES ADRESSES DU CODE ET DES VARIABLES NE DOIVENT PAS ÊTRE FIGÉES. C'EST EN CE SENS QUE L'ASSEMBLEUR DOIT ÊTRE RELOGEABLE. COMME NOUS LE VERRONS BIENTÔT, CECI PREND TOUTE SON IMPORTANCE DANS LE CAS DE LA PROGRAMMATION MODULAIRE. -3- IL NOUS FAUT DONC, AU MOMENT OÙ NOUS ÉCRIVONS LE SOURCE DISPOSER DE DIRECTIVES PERMETTANT DE "RELOGER" ULTÉRIEUREMENT LE CODE ET LES VARIABLES. CES DEUX DIRECTIVES SONT cseg ET dseg : C COMME CODE ET D COMME DATA. Janvier 2008 JF VIENNE

LES DIRECTIVES CSEG ET DSEG EN PROCÉDANT AINSI LES ÉTIQUETTES compteur ET start VONT TOUTES LES DEUX CORRESPONDRE À L'ADRESSE 0000 À L'ISSUE DE L'ASSEMBLAGE. MAIS LE FAIT D'AVOIR UTILISÉ LES DIRECTIVES cseg ET dseg FAIT QUE CES ADRESSES NE SONT PAS DÉFINITIVES. NB : SI ON N'UTILISE PAS CES DIRECTIVES, L'ASSEMBLEUR FONCTIONNE EN ASSEMBLEUR ABSOLU À COMPTER DE L'ADRESSE 0. Janvier 2008 JF VIENNE

LES DIRECTIVES CSEG ET DSEG EXAMEN DU FICHIER DE LISTE GÉNÉRÉ PAR L'ASSEMBLEUR SIGNIFIE QU'IL S'AGIT D'UNE ADRESSE RELOGEABLE START EST À L'ADRESSE 0000 COMPTEUR EST À L'ADRESSE 0000 Janvier 2008 JF VIENNE

LA PROGRAMMATION MODULAIRE ON PARLE DE PROGRAMMATION MODULAIRE LORSQUE LE LOGICIEL D'UNE APPLICATION CORRESPOND À PLUSIEURS FICHIERS SOURCES. PRENONS UN EXEMPLE POUR LEQUEL NOUS AVONS DEUX FICHIERS SOURCES : ppal.src QUI CORRESPOND AU PROGRAMME PRINCIPAL. fonc.src QUI CORRESPOND À UNE FONCTION fonc APPELÉE PAR LE PROGRAMME PRINCIPAL. ;Fichier ppal.src dseg var1: ds 2 cseg start: lxi sp,20c2h …. call fonc ;Fichier fonc.src dseg fvar: ds 1 cseg fonc: …. …. ret Janvier 2008 JF VIENNE

LA PROGRAMMATION MODULAIRE ASSEMBLAGE DU FICHIER ppal.src COMMANDE => assemble ppal.src ;Fichier ppal.src dseg var1: ds 2 cseg start: lxi sp,20c2h …. call fonc L'ASSEMBLEUR VA GÉNÉRER L'ERREUR "FONC : ÉTIQUETTE NON RECONNUE" extrn fonc POUR SUPPRIMER CETTE ERREUR IL FAUT FAIRE SAVOIR À L'ASSEMBLEUR QUE CETTE ÉTIQUETTE EST DÉFINIE DANS UN AUTRE FICHIER. POUR CELA IL SUFFIT D'ÉCRIRE extrn fonc DANS LE FICHIER ppal.src CECI ÉTANT FAIT, L'ASSEMBLEUR NE RENCONTRE PLUS D'ERREUR ET GÉNÈRE UN FICHIER OBJET : ppal.obj Janvier 2008 JF VIENNE

LA COMMANDE assemble nomfic.src FICHIER SOURCE nomfic.src assemble nomfic.src nomfic.lst nomfic.obj FICHIER DE LISTE - C'EST DANS CE FICHIER QU'APPARAISSENT LES ERREURS D'ASSEMBLAGE. - FICHIER QUE L'ON PEUT IMPRIMER LORSQU'IL N'Y A PLUS D'ERREUR À L'ASSEMBLAGE. FICHIER OBJET - À SOUMETTRE À L'ÉDITEUR DE LIENS. (Cf. SUITE DE LA PRÉSENTATION) Janvier 2008 JF VIENNE

LA PROGRAMMATION MODULAIRE (SUITE) LE FICHIER fonc.src EST ASSEMBLÉ SANS ERREUR. ;Fichier fonc.src dseg fvar: ds 1 cseg fonc: …. …. ret À L'ISSUE DE L'ASSEMBLAGE DES DEUX FICHIERS ppal.src ET fonc.src ON DISPOSE DES DEUX FICHIERS OBJET : ppal.obj ET fonc.obj L'EXAMEN DES FICHIERS DE LISTE ppal.lst ET fonc.lst MONTRE QUE : var1 EST À L'ADRESSE 0000 fvar EST À L'ADRESSE 0000 start EST À L'ADRESSE 0000 fonc EST À L'ADRESSE 0000 IL NOUS FAUT MAINTENANT RÉUNIR LES VARIABLES ET LE CODE DES DEUX MODULES. C'EST LE RÔLE DE L'ÉDITEUR DE LIENS (LINK) : NOUS ALLONS "LINKER" LES DEUX FICHIERS OBJET ppal.obj ET fonc.obj. Janvier 2008 JF VIENNE

LA PROGRAMMATION MODULAIRE (SUITE) L'ÉDITEUR DE LIENS ppal.src fonc.src assemble ppal.src assemble fonc.src ppal.lst ppal.obj fonc.obj fonc.lst link ppal.obj fonc.obj to p.lnk p.lnk ERREUR AU LINK => "FONC : REFERENCE EXTERNE NON RÉSOLUE" Janvier 2008 JF VIENNE

LA PROGRAMMATION MODULAIRE (SUITE) LA DIRECTIVE PUBLIC POUR QU'UNE RÉFÉRENCE DÉCLARÉE extrn DANS UN MODULE PUISSE ÊTRE UTILISÉE AU LINK IL EST NÉCESSAIRE QUE CETTE RÉFÉRENCE SOIT DÉCLARÉE public DANS LE MODULE OÙ ELLE EST DÉFINIE. ;Fichier fonc.src dseg fvar: ds 1 cseg fonc: …. …. ret public fonc IL N'Y A PLUS D'ERREUR AU LINK Janvier 2008 JF VIENNE

LA PROGRAMMATION MODULAIRE (SUITE) À L'ISSUE DU LINK LA SITUATION EST LA SUIVANTE : DSEG CSEG 0000  var1 0000  start 0002  fvar IL NE RESTE PLUS QU'À FIXER L'ADRESSE DÉFINITIVE D'IMPLANTATION POUR DSEG ET CSEG  fonc Janvier 2008 JF VIENNE

LA PROGRAMMATION MODULAIRE (SUITE) LA COMMANDE LOCATE p.lnk locate –map p.lnk code 8000h data 2800h p.map p FICHIER À VISUALISER POUR OBTENIR L'ADRESSE DÉFINITIVE DE TOUTES LES RÉFÉRENCES. FICHIER À TÉLÉCHARGER DANS LA MAQUETTE. transmit p type p.map Janvier 2008 JF VIENNE

LA PROGRAMMATION MODULAIRE (SUITE) À L'ISSUE DU LOCATE LA SITUATION EST LA SUIVANTE : DSEG CSEG 2800  var1 8000  start 2802  fvar  fonc Janvier 2008 JF VIENNE

EXEMPLE DE FICHIER P.MAP EXEMPLE DE FICHIER P IL S'AGIT EN FAIT D'UN FICHIER "HEX" AU FORMAT INTEL. C'EST CE FICHIER QU'IL FAUT TÉLÉCHARGER DANS LA MAQUETTE SDK85. Janvier 2008 JF VIENNE

MAQUETTE SDK85 : TÉLÉCHARGEMENT 3 LED DE CONTRÔLE POUR LE TÉLÉCHARGEMENT LIAISON SÉRIE VIA UN PORT COM DU PC JACK MAQUETTE SDK85 2 Ko DE RAM 8000H-87FFH > transmit p :0F80000031C220 ……………….. :00000001FF INTERFACE TÉLÉCHARGEMENT 16 FILS DU BUS D'ADRESSES DU 8085 8 FILS DU BUS DE DONNÉES DU 8085 BUS DE CONTRÔLE DU 8085 => RESET RD WR IO/M HOLD HLDA 3 FILS POUR LA COMMANDE DES LED DE CONTRÔLE. LE TÉLÉCHARGEMENT SE FAIT PAR ACCÈS DIRECT MÉMOIRE (DMA). LE HARDWARE DE LA MAQUETTE SDK85 LIMITE LE TÉLÉCHARGEMENT À L'ESPACE MÉMOIRE 8000H-FFFFH. Janvier 2008 JF VIENNE

OUTIL DE DÉVELOPPEMENT LOGICIEL FIN Janvier 2008 JF VIENNE