La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-1 CONTENU DU COURS.

Présentations similaires


Présentation au sujet: "Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-1 CONTENU DU COURS."— Transcription de la présentation:

1 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-1 CONTENU DU COURS

2 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-2 Partie B Concepts logiciels B.1 Langage assembleur et programmation structurée: modes dadressage et jeu dinstructions boucles, pile et sous-routines programmation structurée B.2 Microcontrôleurs à logique floue: systèmes de contrôle à logique floue instructions spécialisées du 68HC12 B.3 Programmation à haut niveau: survol du langage C comparaisons des langages assembleur et C passages de paramètres compilation, bibliothèques et compilation mixte

3 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-3 Sommaire de la Section B.1 B.1 Langage assembleur et programmation structurée: 1)Processus dassemblage 2)Directives de compilation 3)Modes dadressage 4)Jeu dinstructions 5)Boucles 6)Piles 7)Sous-routines: appel et passage de paramètres 8)Sous-routines utilitaires du D-BUG12 9)Programmation structurée

4 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-4 B.1(1) Processus dassemblage Le processus génère: 1.un fichier en langage machine (*.s19): selon le format de Motorola 2.un fichier liste (*.lst): pour le déverminage: –affiche le code machine pour chaque adresse mémoire –indique ladresse dexécution et le mode dopération de chaque instruction code source en langage assembleur code assemblé en langage machine

5 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-5 B.1(1) Processus dassemblage

6 Université du Québec École de technologie supérieure Fichier.S19 de Motorola GPA770: Microélectronique appliquée B.1-6

7 Université du Québec École de technologie supérieure Fichier Lab1a.S19 simulation GPA770: Microélectronique appliquée B.1-7 S A5C C6C61626F315C70726F6A C62696E5C536F F696E D E616273C3 S EFCF1000C6015B34C6035B35C6FF5B037900C8C6345BC97900CAC60C5BCBCC86 S FBBDE015FBBDD8C10D270615FBBDD220F2CC409B15FBBDCBF FBF7 S BDD4CC40B015FBBDBDCCA25F15FBBDC8CE FDF B08005B0120DB S F E76656E C61626F F D6963BD S FE96C F6E D C697175E9650A0D000A0D41206C55 S12340A F E A0D000A0D003696CC842027FAD6CF323D S12340C0CC844027FA7900CE5BCF323D C10A2404CB302002CB3715FBBD25338D S12340E0C40FC10A2404CB302002CB3715FBBD143D3B180E7B0801F FBBD183A7B3B S11D F FBBD0D3D34B7C5E FBBCEF0820F5303D79 S109FE0240B340BE410ABA S107FE1640CC40F1A7 S105FFFE4000BD S FC Bienvenue au laboratoire de microélectronique $0D appliquée $0A $0D $00 $0A $0D A la prochaine!! $0A $0D $00

8 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-8 B.1(1) Processus dassemblage Éléments dun programme en assembleur: 1.Directives de compilation instructions spéciales qui contrôlent lopération de lassembleur, et permettent dorganiser un programme 2.Instructions en langage assembleur séquences dinstructions que peut reconnaître et exécuter le CPU 3.Commentaires explique la fonction dune ou de plusieurs instructions

9 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-9 B.1(1) Processus dassemblage Format dinstructions en assembleur: étiquetteop-codeopérant(s) commentaires début:LDAA#$FC;charger lacc. A étiquette: identifie une ligne de code du programme permet de localiser une {instructions} à exécuter op-code/directive/macro: élément fonctionnel de linstruction/dirige le compilateur/enregistrement de texte opérant(s): information permettant daccéder aux données pour exécuter une instruction, via le mode dadressage Commentaires: ; indique le début dun commentaire utile aussi pour documentation au début dune ligne

10 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-10 B.1(1) Processus dassemblage Structure globale dun programme: ; SECTION DÉFINTIONS NUM1: EQU $24 NUM2: EQU $05 ; SECTION DE DONNÉES ORG $0800 RESULT:RMB $02 ORG $4000 ; SOUS-ROUTINES ; SECTION DU PROGRAMME PRINCIPAL DEBUT:LDAA #NUM1 LDAB #NUM2 MUL STD RESULT END

11 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-11 Sommaire de la Section B.1 B.1 Langage assembleur et programmation structurée: 1)Processus dassemblage 2)Directives de compilation 3)Modes dadressage 4)Jeu dinstructions 5)Boucles 6)Piles 7)Sous-routines: appel et passage de paramètres 8)Sous-routines utilitaires du D-BUG12 9)Programmation structurée

12 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-12 B.1(2) Directives de compilation déf.: Instructions spéciales qui contrôlent lopération de lassembleur, et permettent dorganiser un programme en mémoire Rôle des directives de compilation: spécifier le début et la fin dun programme définir des symboles et des données réserver et initialiser des blocks en mémoire spécifier le format de sortie fixer les conditions pour lassemblage

13 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-13 B.1(2) Directives de compilation Directives de base: ORG: fixe une adresse de départ pour le compilateur INCLUDE: inclure un fichier texte LIST: écrit le résultat de la compilation dans *.lst EQU: associe un symbole avec une valeur numérique END: commande la fin de la compilation (et non la fin du programme) étiquetteop-codeopérant(s) commentaire ORG$4000 LDAA#$ END

14 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-14 B.1(2) Directives de compilation Directives pour réserver et initialiser des blocks en mémoire RAM: RMB: réserve un bloc de mémoire dun nombre spécifié doctets pour le programme FCB (FDB): réserve un bloc de mémoire de 1 octet (2 octets) par nombre et initialise les valeurs FCC: permet dinitialiser des caractères de texte étiquetteop-codeopérant(s) commentaire TEMP1:RMB$10 ; réserve $10 octets TEMP2:FDB$1100, $1233 ; réserve et initialise 4 octets TEMP3:FCC`JOE` ; stocke JOE en ASCII

15 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-15 Sommaire de la Section B.1 B.1 Langage assembleur et programmation structurée: 1)Processus dassemblage 2)Directives de compilation 3)Modes dadressage 4)Jeu dinstructions 5)Boucles 6)Piles 7)Sous-routines: appel et passage de paramètres 8)Sous-routines utilitaires du D-BUG12 9)Programmation structurée

16 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-16 B.1(3) Modes dadressage déf.: méthode utilisée par le CPU afin daccéder aux données pour exécuter des instructions Indicateurs du mode: op-code + opérants Types de modes dadressage: a.mode inhérent ( INH ) b.mode immédiat ( IMM ) c.mode direct ( DIR ) d.mode étendu ( EXT ) e.mode indexé ( IDX ) f.mode relative ( REL )

17 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-17 B.1(3) Modes dadressage a. Mode inhérent ( INH ) Les données requises pour exécuter linstruction est contenue dans son op-code les opérants sont dans les registres du CPU Exemples: étiquetteop-codeopérant(s) commentaires INCA; A + 1 A ABA; A + B A INX; IX + 1 IX

18 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-18 B.1(3) Modes dadressage b. Mode immédiat ( IMM ) Les données requises pour exécuter linstruction sont stockées immédiatement après le op-code en mémoire les opérants sont inclus dans la séquence dinstructions symbole #: indique à lassembleur que lopérant doit être traitée comme une donnée (non comme une adresse). Exemples: étiquetteop-codeopérant(s) commentaires LDAA#$5F; $5F A ADDA#$12; A+$12 A LDD#$1234; $1234 D

19 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-19 B.1(3) Modes dadressage c. Mode direct ( DIR ) Les données requises sont stockées à ladresse mémoire indiqué par loctet bas (suppose loctet haut = $00) létendue des adresses mémoire limitée: $0000 $00FF consomme moins de mémoire et sexécute plus rapidement Exemples: étiquetteop-codeopérant(s) commentaires LDAA$5F ; ($005F) A ADDA$12 ; ???

20 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-20 B.1(3) Modes dadressage d. Mode direct étendu ( EXT ) Les données requises sont stockées à ladresse mémoire qui est indiqué par deux octets (adresse de 16 bits) létendue des adresses mémoire: $0100 $FFFF ladresse effective est une adresse explicite Exemples: étiquetteop-codeopérant(s) commentaires LDAA$5F43 ; charge ($5F43) A ADDA$1234 ; charge ($1234)+AA ADDD$1030 ; ???

21 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-21 B.1(3) Modes dadressage e. Modes indexés ( IDX ) Les données requises sont accédées en additionnant le contenu des indexes IX, IY, SP ou PC avec un décalage le décalage (offset) est: nombre hex, dec ou bin de longueur 5, 9 ou 16 bits nombre signés en complément à 2: décalage + ou – décalage avec accumulateurs A/B (8 bits) et D (16 bits) Exemples: étiquetteop-codeopérant(s) commentaires LDAA$53, X ; charge ($53+IX) A ADDA$12, X ; ???

22 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-22 B.1(3) Modes dadressage e. Modes indexés (suite) Lors de lexécution, on peut effectuer une pré/post incr/décrémentation automatique de IX, IY et SP: le signe + (-): incrémente (décrémente) de 1 à 8 (-8 à -1) valeurs le signe vient avant (après) lindex: indique la pré (post) incr/décrémentation Exemples: étiquetteop-codeopérant(s) commentaires STAA2, -SP ; SP-2SP et A(SP) LDX2, SP+ ; ( SP)X et SP+2SP LDX2, SP ; ???

23 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-23 B.1(3) Modes dadressage e. Modes indexés (suite) Mode indexé indirect [ IDX ] trouve un pointeur (i.e., une adresse) aux données dintérêt: ladresse effective est indiquée par un décalage de 16 bits (soit D ou une valeur de 16 bits) et le registre IX, IY, SP ou PC Exemples: étiquetteop-codeopérant(s) commentaires SUBA$0, Y; A-($0+IY) A LDAAA, X; (A+IX) A LDAA[D, X]; ???

24 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée B.1-24 B.1(3) Modes dadressage e. Mode indexé (suite)

25 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-25 B.1(3) Modes dadressage f. Mode relatif ( REL ) Utilisé pour les instructions de branchement Bxx et LBxx Calcul ladresse effective de branchement en additionnant un décalage relatif signé au contenu du PC. Exemple: branchement conditionnel étiquetteop-codeopérant(s) commentaire BEQ$10; branchement si Z=1 STAA$ INX

26 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-26 B.1(3) Modes dadressage f. Mode relatif (suite) Utilise normalement une étiquette, plutôt quune valeur numérique Exemple: étiquetteop-codeopérant(s) commentaire BEQNEXT; brancher si Z=1 STAA$ NEXTINX

27 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-27 Sommaire de la Section B.1 B.1 Langage assembleur et programmation structurée: 1)Processus dassemblage 2)Directives de compilation 3)Modes dadressage 4)Jeu dinstructions 5)Boucles 6)Piles 7)Sous-routines: appel et passage de paramètres 8)Sous-routines utilitaires du D-BUG12 9)Programmation structurée

28 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-28 B.1(4) Jeu dinstructions Catégories dinstructions: a. transfert et manipulation de données b. arithmétique c. logique et manipulation de bits d. test de données e. branchement f. appel aux fonctions (à voir plus loin dans B.1) g. logique floue (à voir dans la section B.2)

29 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-29 B.1(4) Jeu dinstructions a. Transfert et manipulation de données Fonction: déplacer et manipuler des données Exemples communs: MOVB: déplacer un octet dune adresse mémoire à une autre LDAA: charger une valeur de mémoire dans A STAA: stocker la valeur dans A en mémoire PULX: accéder les 2 premiers octets de la pile, et charger dans IX PSHA: stocker le contenue de laccumulateur A dans la pile ROL: rotation des données vers la gauche ASR: décaler les données vers la droite

30 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-30 B.1(4) Jeu dinstructions a. Transfert et manipulation de données (suite) LDx – Instructions de chargement: copient le contenu de ladresse mémoire indiquée vers un accumulateur (A, B ou D), ou vers un indexe (IX, IY ou SP) Affecte les bits détat N, Z et V du CCR Exemples: étiquetteop-codeopérant(s) commentaires LDAA#$12 ; charger $12 A LDAB$4000 ; charger ($4000) B LDS#$1000 ; ????

31 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-31 B.1(4) Jeu dinstructions a. Transfert et manipulation de données (suite) STx – Instructions de stockage: copient le contenu dun accumulateur ou dun index vers ladresse mémoire qui est indiquée Affecte les bits détat N, Z et V du CCR Exemples: étiquetteop-codeopérant(s) commentaires STAB$1237 ; stocker B ($1237) STD$0800 ; stocker D ($0800:$0801) STAA$FF ; ????

32 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-32 B.1(4) Jeu dinstructions a. Transfert et manipulation de données (suite) MOV et TFR – Instructions de transfert: copient le contenu entre registres du CPU, ou entre adresses de mémoire MOV naffecte pas les bits détat N, Z et V du CCR Exemples: étiquetteop-codeopérant(s) commentaires (source destination) MOVB $1234, $CF0D; 8 bits mém mém MOVW $1234, $CF0D; 16 bits mém mém TFR A, B; transfert A B TBA; ????

33 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-33 B.1(4) Jeu dinstructions a. Transfert et manipulation de données (suite) Instructions de décalage et de rotation: 21 différentes opérations classifiées en 3 types. 1. LSL/R– instructions de décalage logique, pour: examiner chaque bit, en regardant le bit détat C du CCR écarter des bits, et de les remplacer par des 0 décaler dans la direction spécifiée 2. ASL/R– instructions de décalage arithmétique, pour: la multiplication et la division par multiple de 2 (car on conserve le bit MSb de signe) 3. ROL/R– instructions de rotation, pour: la rotation des positions de bits dans un octet (conserve lordre)

34 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-34 B.1(4) Jeu dinstructions a. Transfert et manipulation de données (suite) Instructions de décalage et de rotation: (suite)

35 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-35 B.1(4) Jeu dinstructions a. Transfert et manipulation de données (suite) Instructions de décalage et de rotation: (suite) Exemples: étiquetteop-codeopérant(s) commentaires ROL $1234 ; rotation gauche RORA ; rotation droite LSLD ; décalage logique gauche ASL $2345 ; décalage arithm. gauche ASRB ; ???

36 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-36 B.1(4) Jeu dinstructions b. Arithmétique Fonction: effectuer des opérations arithmétiques Exemples communs: ADDA: additionner le contenu de A avec celle dun adresse mémoire, et stocker dans A SUBA: soustraire une valeur en mémoire de A, et stocker dans A MUL: multiplier deux nombres à 8 bits EMUL: multiplier deux nombres à 16 bits IDIV: division de nombres entiers FDIV: division de nombres fractionnaires

37 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-37 B.1(4) Jeu dinstructions b. Arithmétique (suite) ADD/SUB– Addition et soustraction: plusieurs différentes instructions addition à 8 bits: ABA, ABX/ABY, ADCA/ADCB, ADDA/ADDB addition à 16 bits: ADDD Exemples: étiquetteop-codeopérant(s) commentaires ABA; A + B A ADDB$1234; B + ($1234) B SBA; A - B A SUBB$1234; ???

38 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-38 B.1(4) Jeu dinstructions b. Arithmétique (suite) MUL– Multiplication: 4 différentes instructions, nombres entiers MUL: multiplier 2 nombres à 8 bits qui sont dans A et B, et stocker le résultat à 16 bits dans D EMUL (étendue): multiplier 2 nombres à 16 bits dans D et IY, et stocker le résultat à 32 bits dans D et IY. EMULS (signé): même chose que EMUL, mais avec nombres signés EMACS: multiplier et accumuler 2 nombres signés à 16 bits à partir de la mémoire. étiquetteop-codeopérant(s) commentaires LDAA#$10; charger $10 A LDAB#$20; charger $20 B MUL; A * B D (écrase A et B)

39 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-39 B.1(4) Jeu dinstructions b. Arithmétique (suite) DIV– Division: 5 différentes instructions, opérants de 16/32 bits IDIV (IDIVS): division dentiers non-signés (signés) à 16 bits. Le dividende et le diviseur sont dans D et IX, tandis que le quotient et le reste sont dans IX et D. FDIV: division à 16 bits de nombres fractionnaires non-signés EDIV (EDIVS): division dentiers non-signés (signés), avec un dividende à 32 bits (dans IY et D), et un diviseur à 16 bits étiquetteop-codeopérant(s) commentaires LDD#$0020; charger D LDX#$0010; charger IX IDIV; D / IX IX.D

40 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-40 B.1(4) Jeu dinstructions c. Logique et manipulation de bits Fonction: effectuer des opérations logiques Exemples communs: ANDA: effectuer un ET, bit par bit, avec le contenu de A et une valeur de 8 bits EORB: effectuer un OU-exclusif, bit par bit, avec le contenu de B et une valeur de 8 bits ORCC: effectuer un OU, bit par bit, avec le contenu du CCR et une valeur de 8 bits BSET: fixer à 1 les bits indiqués dans un masque à 8 bits BCLR: fixer à 0 les bits indiqués dans un masque à 8 bits

41 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-41 B.1(4) Jeu dinstructions c. Logique et manipulation de bits (suite) Logique: fonctions ET, OU, OU-exclusif et complément AND – produit 1 si les deux bits sont 1 ANDA (ANDB): effectuer un ET, bit par bit, entre les contenus de A (B) et une adresse mémoire, et stocker dans A (B) ANDCC: [effacer des bits] effectuer un ET, bit par bit, entre le contenu du CCR et un masque à 8 bits, et stocker dans CCR BITA (BITB): même que ANDA (ANDB), sauf quil affecte seulement les bits N, Z et (V=0) du CCR étiquetteop-codeopérant(s) commentaires ANDA $1234 ; A and ($1234) A BITA$1234 ; A and ($1234) (change le CCR)

42 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-42 B.1(4) Jeu dinstructions c. Logique et manipulation de bits (suite) OR – produit 1 si au moins un des bits est 1 ORA (ORB): effectuer un OU, bit par bit, entre les contenus de A (B) et une adresse mémoire, et stocker dans A (B) ORCC: [fixer des bits] effectuer un OU, bit par bit, entre le contenu du CCR et un masque à 8 bits, et stocker dans CCR BITA (BITB): pas déquivalent au ET EOR – produit 1 si les deux bits sont différents EORA (EORB) : effectuer un OU-exclusif, bit par bit, entre les contenus de A (B) et une adresse mémoire, et stocker dans A (B) ANDCC et BITA (BITB): pas déquivalent au ET

43 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-43 B.1(4) Jeu dinstructions c. Logique et manipulation de bits (suite) NEG/COM – Instructions pour gérer des nombres signés en complément à 2: NEGA (NEGB): effectuer un codage en complément à 2 sur le contenu de A (B) COMA (COMB): effectuer un codage en complément à 1 sur le contenu de A (B)

44 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-44 B.1(4) Jeu dinstructions c. Logique et manipulation de bits (suite) Manipulation de bits: 4 différentes instructions BCLR (BSET): fixer les bits contenus dans ladresse mémoire M à 0 (1) sils correspondent aux bits = 1 dans le masque Format: op-code adr_mémoire, masque BRCLR (BRSET): branchement si les bits contenus dans ladresse mémoire M, qui sont spécifiés par le masque, sont 0 (1). Format: op-code adr_mémoire, masque, adr_branchement étiquette op-code opérant(s) commentaires BSET$D000, % ;($D000)*masque( $D000 ) NEXT BRCLR$D000, % , NEXT ;branch. étiquette

45 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-45 B.1(4) Jeu dinstructions d. Test de données Fonction: comparer et tester le contenu dun accumulateur ou dune adresse mémoire fixe les drapeau du CCR sans modifier les opérants (contenus dans les registres ou la mémoire) Exemples communs: CMPA: comparer les contenus de A et dune adresses mémoire CPY: comparer les contenus de IY et de 2 adresses mémoire consécutives. TSTB: tester le contenu de B pour un 0

46 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-46 B.1(4) Jeu dinstructions d. Test de données (suite) Il existe 10 instructions de 2 types, presque toujours suivies dun branchement: 1.CMP – Comparaison: soustraire une valeur du registre indiqué, et ensuite fixer les bits N, Z, V et C du CCR. CMPA, CMPB, CBA, CPD, CPS, CPX, CPY 2.TST – Test: soustraire 0 du registre indiqué, et ensuite fixer les bits N et Z du CCR (C et V sont fixés à 0) TST, TSTA, TSTB

47 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-47 B.1(4) Jeu dinstructions e. Branchement Fonction: réaliser des structures de contrôle et des boucles en langage assembleur peuvent modifier lordre dexécution des instructions Exemples communs: BEQ: branchement si le résultat de linstruction précédente est 0 (si Z = 1 au CCR) BMI: branchement si le résultat de linstruction précédente est un nombre négatif (si N = 1 au CCR) BRA: branchement non-conditionnel

48 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-48 B.1(4) Jeu dinstructions e. Branchement (suite) Types dinstructions de branchement: 1.non-conditionnel: sexécute toujours 2.conditionnel: sexécute selon les bits détat du CCR signé (non-signé): si un test de valeurs signées (non- signées) donne un combinaison de bits au CCR. Longueur des branchements : court Bxx: décalage représenté sur 8 bits signés entre et +127 adresses) long LBxx: décalage représenté sur 16 bits signés (couvre toute la mémoire, entre et adresses)

49 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-49 B.1(4) Jeu dinstructions e. Branchement (suite) Branchement non-conditionnel: 3 instructions BRA: brancher vers une adresse indiquée par un décalage plus rapide, consomme peu de mémoire LBRA: brancher vers une adresse quelconque de mémoire mais plus lent, consomme plus de mémoire JMP: comme LBRA, mais permet un mode EXT, IDX,etc. (plutôt que le mode REL )

50 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-50 B.1(4) Jeu dinstructions e. Branchement (suite) Branchement conditionnel: 34 instructions évalue des bits du CCR pour décider dun branchement format: Bxx adresse_relative où xx indique les bits détat du CCR à tester convention de xx selon les nombres: non-signés: HI (higher than), HS (higher or same), LO (lower than), LS (lower or same) signés: GT (greater than), LT (less than), GE (greater or equal), LE (less or equal) une bonne habitude: faire précéder le branchement par un instruction de TST,CMP …pour actualiser les bits du CCR.

51 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-51 B.1(4) Jeu dinstructions e. Branchement (suite)

52 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-52 B.1(4) Jeu dinstructions e. Branchement (suite) étiquetteop-code opérant(s) commentaires LDAA #$00; initialise un compteur de boucles VER:CMPA #$0A; vérifie que (A) = $OA? BEQ STOP; si oui, sortir de la boucle INCA; incrémenter le compteur BRA VER; prochaine itération de boucle STOP:STAA $0800; stocker le compteur

53 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-53 B.1(4) Jeu dinstructions f. Appel aux fonctions Fonction: initier ou terminer une sous-routine Exemples communs: JSR: appel vers une sous-routine loin BRS: appel vers une sous-routine près RTS: retourner dune sous-routine RTI: retourner dune routine de service CALL: appel une sous-routine en mode étendu paginé A voir dans la suite de cette section, les sous-routines...

54 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-54 B.1(2) Jeu dinstructions d. Logique floue Fonction: réaliser un contrôleur à logique floue Exemples communs: MEM: fuzzification REV: méthode dinférence MIN-MAX pour lévaluation des règles WAV: dé-fuzzification A voir dans la section B.2...

55 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-55 B.1Exercice de compilation


Télécharger ppt "Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger B.1-1 CONTENU DU COURS."

Présentations similaires


Annonces Google