Télécharger la présentation
1
OUTIL DE DÉVELOPPEMENT LOGICIEL
Janvier 2008 JF VIENNE
2
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
3
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
4
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
5
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
6
É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
7
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 b mvi a, b Janvier 2008 JF VIENNE
8
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
9
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 h h 0ffh table8 0E 15 12 EA 46 FF Janvier 2008 JF VIENNE
10
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 abcdh table16 34 12 2E 16 CD AB Janvier 2008 JF VIENNE
11
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 ;Réserver deux octets pour le compteur tab_dst: ds ;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
12
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
13
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
14
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
15
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
16
LES DIRECTIVES CSEG ET DSEG
EN PROCÉDANT AINSI LES ÉTIQUETTES compteur ET start VONT TOUTES LES DEUX CORRESPONDRE À L'ADRESSE À 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
17
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
18
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
19
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
20
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
21
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
22
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
23
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
24
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
25
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
26
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
27
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
28
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 :0F C220 ……………….. : FF 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
29
OUTIL DE DÉVELOPPEMENT LOGICIEL
FIN Janvier 2008 JF VIENNE
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.