COURS EXPO Microprocesseur 6809 (2 GIM ) Mr KHATORY

Dimension: px
Commencer à balayer dès la page:

Download "COURS EXPO Microprocesseur 6809 (2 GIM ) Mr KHATORY"

Transcription

1 COURS EXPO Microprocesseur 6809 (2 GIM ) Mr KHATORY 1

2 Naissance du microprocesseur Le 15 novembre 1971 est célébré l'acte de naissance du microprocesseur. Dans une publicité de la revue Electronic News, la firme Intel annonce «A microprogrammable computer on a chip» (un ordinateur programmable dans une puce). 2

3 Organisation matérielle du 6809 Le microprocesseur 6809 est un processeur 8 bits dont l'organisation interne est orientée 16 bits. Il est fabriqué en technologie MOS et se présente sous la forme d'un boîtier 40 broches. 3

4 Organisation matérielle du 6809 Le microprocesseur 6809 est un processeur 8 bits dont l'organisation interne est orientée 16 bits. Il est fabriqué en technologie MOS et se présente sous la forme d'un boîtier 40 broches. 0V +5V Horloge Bus de commande Signaux mémoire XTAL EXTAL Q E DMA/BREQ BS BA NMI IRQ FIRQ HALT RESET MRDY R / W A0 A15 D0 D Bus des adresses Bus des données BROCHAGE DU MC

5 Organisation matérielle du V +5V Horloge Bus de commande Signaux mémoire XTAL EXTAL Q E DMA/BREQ BS BA NMI IRQ FIRQ HALT RESET MRDY R / W A0 A15 D0 D Bus des adresses Bus des données BROCHAGE DU MC

6 Architecture 6809 Le microprocesseur 6809 comporte NEUF registres internes programmables accessibles par l'utilisateur: Accumulateurs. Manipulation des données 8 bits A 16 bits D 8 bits B Registres d'index X Y Pointeurs de pile U S DP Registre page direct PC Compteur programme CCR Registre d état 6

7 Architecture 6809 Pointeur de Pile U Pointeur de Pile S Registre A Registre B Registre..d'état CCR UAL Compteur Ordinal PC Registre d'index X Registre d'index Y Registre de page DP 7

8 Architecture 6809 Accumulateurs : A, B et D Les calculs arithmétiques et les manipulations de données se font grâce aux accumulateurs A et B. Ces deux registres sont interchangeables sauf pour quelques instructions (ABX, DAA) et les opérations sur 16 bits. D= A B (Concaténation de A et B) Registre A Registre B UAL 8

9 Architecture 6809 Pointeur de Pile U Pointeur de Pile S Registre A Registre B UAL Registre d'index Registres pointeurs: S, U, X, Y X Registre d'index Y Registres d'index : X,Y Ces deux pointeurs d'utilisation parfaitement identique sont utilisés dans les modes d'adressage indexé. Le contenu des ces registres (16 bits) permet de pointer des données. 9

10 Architecture 6809 Pointeur de Pile U Registre A Registre B Pointeur de Pile S UAL Registre d'index X Registre d'index Registres d'index : X,Y Le pointeur de pile S (Système) est utilisée par le microprocesseur pour gérer le sauvegarde de ses registres internes pendant l'exécution de programmes d'interruptions ou de sous programmes. Le pointeur de pile U (Utilisateur) est utilisé uniquement par le programmeur pour réaliser des passages d'arguments de ou vers des sous programmes. 10

11 Architecture 6809 Registre A Registre B UAL Compteur Ordinal PC Registre compteur programme PC Le contenu de ce registre (16 bits) détermine l'adresse de l'instruction que doit exécuter le processeur. Il pointe en permanence l'adresse de la prochaine instruction à exécuter. Dans certain cas, ce compteur programme peut être utilisé comme un index. 11

12 Architecture 6809 Pointeur de Pile U Registre A Registre B Pointeur de Pile S UAL Compteur Ordinal PC Registre d'index X Registre d'index Y DP Registre de page: DP Ce registre (8 bits) est prévu pour étendre les possibilités d'adressage direct à tout l'espace mémoire, sous contrôle du logiciel. 12

13 Architecture 6809 Pointeur de Pile U Registre A Registre B Pointeur de Pile S CCR UAL Compteur Ordinal PC Registre d'index X Registre d'index Y DP Registre de codes condition: CCR Le registre codes condition (8 bits) définit à tout instant l'état des indicateurs du processeur. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 E F H I N Z V C 13

14 Architecture 6809 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 E F H I N Z V C C Retenue (Carry) Positionné lors d'une opération arithmétique V Dépassement (overflow) Positionné si le résultat( en complément à deux) d'une opération arithmétique déborde Z Zéro Mis à 1 si le résultat de l'opération précédente est nul N Négatif Indique un résultat négatif. I H Masque d'interruptions IRQ Demi-retenue Lorsqu'il est à 1, masque les interruptions IRQ F Masque d'interruptions FIRQ Lorsqu'il est à 1, masque les interruptions FIRQ E Etat de sauvegarde Si à 1, tout le contexte du processeur est sauvegardé dans la pile 14

15 Architecture 6809 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 E F H I N Z V C C Retenue (Carry) Positionné lors d'une opération arithmétique V Dépassement (overflow) Positionné si le résultat( en complément à deux) d'une opération arithmétique déborde Z Zéro Mis à 1 si le résultat de l'opération précédente est nul N Négatif Indique un résultat négatif. I H Masque d'interruptions IRQ Demi-retenue Lorsqu'il est à 1, masque les interruptions IRQ F Masque d'interruptions FIRQ Lorsqu'il est à 1, masque les interruptions FIRQ E Etat de sauvegarde Si à 1, tout le contexte du processeur est sauvegardé dans la pile 15

16 Architecture 6809 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 E F H I N Z V C C Retenue (Carry) Positionné lors d'une opération arithmétique V Dépassement (overflow) Positionné si le résultat( en complément à deux) d'une opération arithmétique déborde Z Zéro Mis à 1 si le résultat de l'opération précédente est nul N Négatif Indique un résultat négatif. I H Masque d'interruptions IRQ Demi-retenue Lorsqu'il est à 1, masque les interruptions IRQ F Masque d'interruptions FIRQ Lorsqu'il est à 1, masque les interruptions FIRQ E Etat de sauvegarde Si à 1, tout le contexte du processeur est sauvegardé dans la pile 16

17 Architecture 6809 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 E F H I N Z V C C Retenue (Carry) Positionné lors d'une opération arithmétique V Dépassement (overflow) Positionné si le résultat( en complément à deux) d'une opération arithmétique déborde Z Zéro Mis à 1 si le résultat de l'opération précédente est nul N Négatif Indique un résultat négatif. I H Masque d'interruptions IRQ Demi-retenue Lorsqu'il est à 1, masque les interruptions IRQ F Masque d'interruptions FIRQ Lorsqu'il est à 1, masque les interruptions FIRQ E Etat de sauvegarde Si à 1, tout le contexte du processeur est sauvegardé dans la pile 17

18 Architecture 6809 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 E F H I N Z V C C Retenue (Carry) Positionné lors d'une opération arithmétique V Dépassement (overflow) Positionné si le résultat( en complément à deux) d'une opération arithmétique déborde Z Zéro Mis à 1 si le résultat de l'opération précédente est nul N Négatif Indique un résultat négatif. I H Masque d'interruptions IRQ Demi-retenue Lorsqu'il est à 1, masque les interruptions IRQ F Masque d'interruptions FIRQ Lorsqu'il est à 1, masque les interruptions FIRQ E Etat de sauvegarde Si à 1, tout le contexte du processeur est sauvegardé dans la pile 18

19 Architecture 6809 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 E F H I N Z V C C Retenue (Carry) Positionné lors d'une opération arithmétique V Dépassement (overflow) Positionné si le résultat( en complément à deux) d'une opération arithmétique déborde Z Zéro Mis à 1 si le résultat de l'opération précédente est nul N Négatif Indique un résultat négatif. I Masque d'interruptions IRQ Lorsqu'il est à 1, masque les interruptions IRQ H Demi-retenue Lors de la somme sur (4bits) F Masque d'interruptions FIRQ Lorsqu'il est à 1, masque les interruptions FIRQ E Etat de sauvegarde Si à 1, tout le contexte du processeur est sauvegardé dans la pile 19

20 Architecture 6809 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 E F H I N Z V C C Retenue (Carry) Positionné lors d'une opération arithmétique V Dépassement (overflow) Positionné si le résultat( en complément à deux) d'une opération arithmétique déborde Z Zéro Mis à 1 si le résultat de l'opération précédente est nul N Négatif Indique un résultat négatif. I H Masque d'interruptions IRQ Demi-retenue Lorsqu'il est à 1, masque les interruptions IRQ F Masque d'interruptions FIRQ Lorsqu'il est à 1, masque les interruptions FIRQ E Etat de sauvegarde Si à 1, tout le contexte du processeur est sauvegardé dans la pile 20

21 Architecture 6809 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 E F H I N Z V C C Retenue (Carry) Positionné lors d'une opération arithmétique V Dépassement (overflow) Positionné si le résultat( en complément à deux) d'une opération arithmétique déborde Z Zéro Mis à 1 si le résultat de l'opération précédente est nul N Négatif Indique un résultat négatif. I H Masque d'interruptions IRQ Demi-retenue Lorsqu'il est à 1, masque les interruptions IRQ F Masque d'interruptions FIRQ Lorsqu'il est à 1, masque les interruptions FIRQ E Etat de sauvegarde Si à 1, tout le contexte du processeur est sauvegardé dans la pile 21

22 Architecture 6809 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 E F H I N Z V C C Retenue (Carry) Positionné lors d'une opération arithmétique V Dépassement (overflow) Positionné si le résultat( en complément à deux) d'une opération arithmétique déborde Z Zéro Mis à 1 si le résultat de l'opération précédente est nul N Négatif Indique un résultat négatif. I H Masque d'interruptions IRQ Demi-retenue Lorsqu'il est à 1, masque les interruptions IRQ F Masque d'interruptions FIRQ Lorsqu'il est à 1, masque les interruptions FIRQ E Etat de sauvegarde Si à 1, tout le contexte du processeur est sauvegardé dans la pile 22

23 Mode d adressage Le MPU possèdent 59 instructions de base mais en conjonction avec les NEUF modes d'adressage disponibles, on parvient à possibilités STRUCTURE D'UNE INSTRUCTION Elle comporte de un à 5 octets ( dépend du mode d'adressage). Le premier (parfois le deuxième) octet indique l'action à effectuer correspond au code de l'instruction, Les octets suivants précisent les opérandes ou sur quelques registres cette action agira. Charger (Load ) dans le registre A Instruction (mnémoniques) Opération Opérande LDA $2000 LDA $2000 code en hexadécimal = B ( 3 octets) 23

24 Mode d adressage Le MPU possèdent 59 instructions de base mais en conjonction avec les NEUF modes d'adressage disponibles, on parvient à possibilités 1.mode d'adressage inhérent L'adressage inhérent est utilisé par les instructions qui agissent sur les registres internes du MPU et non sur la mémoire. Il existe deux types de mode d'adressage inhérent : Adressage inhérent simple Le code opération contient toute l'information nécessaire à l'exécution de l'instruction. Ces instructions codées sur un octet sont: ABX, INCB,NEGA,.. Exemple: ABX addition de l'accumulateur B à l'index X. 24

25 Exemple: ABX addition de l'accumulateur B à l'index X. X (B) + (X) Mode d adressage MPU Mémoire PC D ADR A ADR+1 ADR+ 1 Code Opération de ABX B 14 X 201C A ADR Y S U DP CCR Adressage inhérent simple 25

26 Mode d adressage Adressage inhérent paramétré L'instruction comporte un octet supplémentaire permettant de préciser les opérandes intervenant dans l'instruction. La présence de cet octet supplémentaire est indispensable pour les instructions de type: Échange et transfert de registres; Instructions d'accès aux piles; Attente d'interruption. 26

27 Mode d adressage Échange et transfert de registres: le premier octet détermine le code opération pur, le second les registres source et destination: Ex :TFR U,S transfert de U dans S MPU Mémoire PC ADR ADR +2 ADR+ 2 D A B X Y S U DP F ADR 34 ADR+1 ADR CCR Adressage inhérent paramétré Échange et transfert des données 27

28 Mode d adressage Post-octet transfert/échange : code Registre 0000 D 0001 X 0010 Y 0011 U 0100 S 0101 PC 1000 A 1001 B 1010 CCR 1011 DP Code Opération 1F TFR U,S transfert de U dans S Post-Octet 34 28

29 Mode d adressage Post-octet transfert/échange : 3 4 code Registre 0000 D 0001 X 0010 Y 0011 U 0100 S 0101 PC 1000 A 1001 B 1010 CCR 1011 DP Code Opération 1F TFR U,S transfert de U dans S Post-Octet 34 29

30 Mode d adressage Instructions d'accès aux piles: le premier octet détermine le code opératoire pur, le post-octet: les registres concernés par l'accès à la pile. Ex :PSHS A, B, X sauvegarde dans la pile de A, B, X MPU Mémoire PC ADR+2 A D B aa bb ADR ADR 16 ADR + 1 ADR + 2 X Y S U xx ss SSS S -4 DP x x s s SSS S - 4 aa bb xx x x SSS S -4 SSS S -3 SSS S -2 SSS S -1 SSS S CCR Adressage inhérent paramétré Instructions d accès aux piles 30

31 EMPILEMENT Mnémoniques : PSHS liste explicite de registres à empiler ou (implicitement) PSHS #$xy (#$xy) = b7 b6 b5 b4 b3 b2 b1 b0 PC U Y X DP B A CCR Ordre d empilement des registres Si bi (0 i 7) = 1, alors le registre correspondant est empilé dans la pile S. Ainsi la donnée immédiate #$xy permet de sélectionner le(s) registre(s) à sauvegarder. Exemple: PSHS A,B,X PSHS #$ X B A aa bb xx x x 31

32 Mode d adressage Attente d'interruption: le premier octet est associé à l'instruction CWAY, le second sert à masquer ou à valider les interruptions. EX :CWAY # $ FF attente d'interruption MPU Mémoire PC ADR+2 ADR+ 2 3C ADR FF ADR + 1 ADR + 2 D A B aa bb CCR SSS S -C aa SSS S -B X xx x x bb SSS S -A pp SSS S -9 Y S yy ss SSSS -C y y s s SSS S - C xx x x SSS S -8 SSS S -7 U uu Masque INT IRQ DP pp u u yy SSS S -6 y y SSS S -5 uu SSS S -4 CCR CCR x 1 x 1 x x x 1 x x x x x x x x u u SSS S -3 ADR +2 SSS S -2 SSS S -1 Sauvegarde Masque INT FIRQ SSS S Adressage inhérent paramétré Attente d interruption 32

33 Mode d adressage (RECAP) Mode adressage I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG II. Mode adressage immédiat III. Mode adressage Direct IV. Mode adressage étendu V. Mode adressage étendu indirect VI. Mode adressage relatif court VII. Mode adressage relatif long VIII. Mode adressage indexé IX. Mode adressage indexé indirect Exemple 2. inhérent paramétré a. Echange, transfert registre a.trf U,S b. Accès aux piles b. PSHS A,B,X c. attente interruptions c. CWAI #$FF

34 Mode d adressage 2. Mode d'adressage immédiat Dans ce mode d'adressage, le code opératoire 8 bit est suivi d'une valeur qui est l'opérande de l'instruction. Ce type d'adressage permet de charger les registres internes du microprocesseur avec la valeur de l'opérande. Le symbole «#» signifie immédiat dans la syntaxe assembleur. Il existe trois types d instructions dans ce mode d adressage : Instructions sur deux octets Le premier octet contient le code opératoire, le second la constante 8 bits. Ce type d instruction est réservé pour travailler sur les registres 8 bits du microprocesseur. 34

35 Ex : LDA #$15 charger la valeur $15 dans l accumulateur A. Le premier octet contient le code opératoire MPU Mémoire PC D ADR A B ADR+2 15 ADR + 2 Code Opération LDA X Y S $15 86 ADR 15 ADR+1 ADR+2 U DP CCR Adressage immédiat Instructions sur deux octets 35

36 Instructions sur trois octets Le premier octet contient le code opératoire, le second et le troisième contiennent la constante 16 bits. Ce type d instructions est réservé pour travailler sur les registres 16 bits du microprocesseur. Ex : ADDD #$2005 addition du contenu de l accumulateur D et de $2005, le résultat se trouve dans D. 36

37 Ex : ADDD #$2005 addition du contenu de l accumulateur D et de $2005, le résultat se trouve dans D. MPU Mémoire PC ADR ADR + 3 ADR + 3 Code Opération ADDD D A 3111 B $1122+$2005 C3 ADR X Y S ADR+1 ADR+2 ADR+3 U DP E F H I N Z V C CCR Adressage immédiat Instructions sur trois octets 37

38 Instructions sur quatre octets Dans ce type d instruction, le code opératoire utilise deux octets mémoire, la constante également. Le premier octet ($10) est nécessaire pour les instructions : CMPD, CMPS, CMPU, CMPY, LDS, LDY, STY, STS. Ex :LDY #$2008 charger l index Y avec la valeur $

39 Ex :LDY # $2008 charger l index Y avec la valeur $2008 MPU Mémoire PC ADR ADR + 4 ADR + 4 Octet supplémentaire D A B $10 10 ADR X Y S U 2008 $2008 8E ADR+1 ADR+2 ADR+3 ADR+4 DP E F H I N Z V C CCR Adressage immédiat Instructions sur quatre octets 39

40 Mode adressage I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG Exemple 2. inhérent paramétré a. Echange, transfert registre a.trf U,S b. Accès aux piles b. PSHS A,B,X c. attente interruptions c. CWAI #$FF II. Mode adressage immédiat 1. sur deux octets 1. LDA #$A0 2. sur trois octets 2. ADDD #$ sur quatre octets 3. LDY #$10B4 III. Mode adressage Direct IV. Mode adressage étendu V. Mode adressage étendu indirect VI. Mode adressage relatif court VII. Mode adressage relatif long VIII. Mode adressage indexé IX. Mode adressage indexé indirect

41 Mode d adressage 3. Mode d'adressage direct Le code opératoire (un ou 2 octet) L'opérande ( 1 octet ) : Poids Faible (8 bits) de l Adresse Effective DP PF Le symbole «<» est une directive assembleur qui force l adressage direct. Il existe deux types d instructions dans ce mode d adressage : Instructions sur deux octets Instructions sur trois octets 41

42 Instructions sur deux octets Le premier octet définit le code opératoire, le second le poids faible de l adresse effective. Ex :LDA $08 ou LDA < $08 chargement de l accumulateur A avec le contenu de $ 2008 ( DP= $20) 42

43 Instructions sur deux octets Le premier octet définit le code opératoire, le second les poids faible de l adresse effective. Ex :LDA $08 ou LDA < $08 chargement de l accumulateur A avec le contenu de $ 2008 ( DP= $20) MPU Mémoire PC ADR ADR +2 ADR ADR D A B ADR+1 ADR+2 X Y S U DP 20 E F H I N Z V C CCR Adressage direct Instructions sur deux octets 43

44 Instructions sur trois octets Le code opératoire (sur 2 octet) L'opérande ( 1 octet ) : Poids Faible (8 bits) de l Adresse Effective Ex : LDY $05 ou LDY < $05 chargement du registre Y avec le contenu de $2005/06 (DP=$20) 44

45 Ex : LDY $05 ou LDY < $05 chargement du registre Y avec le contenu de $2005/06 (DP=$20) MPU Mémoire PC ADR ADR+3 ADR ADR D A B 9E 05 ADR+1 ADR+2 X Y S U DP CCR E F H I N Z V C Adressage direct Instructions sur trois octets 45

46 Mode adressage I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG Exemple 2. inhérent paramétré a. Echange, transfert registre a.trf U,S b. Accès aux piles b. PSHS A,B,X c. attente interruptions c. CWAI #$FF II. Mode adressage immédiat 1. sur deux octets 1. LDA #$A0 2. sur trois octets 2. ADDD #$ sur quatre octets 3. LDY #$10B4 III. Mode adressage Direct 1.LDA $40 ou 1. sur deux octets LDA <$40 adresse = $2040 : (DP)=$20 2. sur trois octets 2. LDY $50 Adresse=$3050/51 (DP=30) IV. Mode adressage étendu V. Mode adressage étendu indirect VI. Mode adressage relatif court VII. Mode adressage relatif long VIII. Mode adressage indexé IX. Mode adressage indexé indirect

47 Mode d adressage 4. Mode d'adressage étendu Le code opératoire (sur 1 ou 2 octet) L'opérande ( 2 octet ) : Adresse Effective Le symbole «>» est une directive assembleur qui force l adressage étendu. Il existe deux types d instructions dans ce mode d adressage Instructions sur trois octets Le premier octet (code opératoire) est suivi de l adresse 16 bits spécifiant l emplacement de l opérande (8 ou 16 bits). Le code opératoire (sur 1 octet) L'opérande ( 2 octet ) : Adresse Effective 47

48 Ex : LDA $21A5 ou LDA > $ 21A5 chargement de l accumulateur A avec le contenu de l adresse $21A5 MPU Mémoire PC ADR ADR+3 ADR + 3 B6 ADR D A B A5 ADR+1 ADR+2 X Y $11 S U A5 DP CCR E F H I N Z V C Adressage étendu Instructions sur trois octets 48

49 Instructions sur quatre octets Mode d'adressage étendu Le code opératoire (sur 2 octet) L'opérande ( 2 octet ) : Adresse Effective Le premier octet est seulement nécessaire pour les instructions qui opèrent sur les pointeurs S et Y et sur les instructions de comparaison CMPU, CMPD. Ex :LDY $2CB5 ou LDY > $2CB5 chargement du registre Y Avec le contenu de $2CB5 49

50 Ex :LDY $2CB5 ou LDY > $2CB5 chargement du registre Y Avec le contenu de $2CB5/B6 PC X Y S U CCR D A B DP MPU ADR ADR E F H I N Z V C Mémoire Pré-octet ADR ADR BE ADR+1 2C ADR+2 B5 ADR+3 $1122 ADR C B5 22 2C B6 Adressage étendu Instructions sur quatre octets 50

51 Mode adressage I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG 2. inhérent paramétré Exemple II. Mode adressage immédiat 1. sur deux octets 1. LDA #$A0 2. sur trois octets 2. ADDD #$ sur quatre octets 3. LDY #$10B4 III. Mode adressage Direct 1.LDA $40 ou 1. sur deux octets LDA <$40 adresse = $2040 : (DP)=$20 2. sur trois octets 2. LDY $50 Adresse=$3050/51 (DP=30) IV. Mode adressage étendu 1. sur trois octets 1. LDB $ sur quatre octets 2. CMPU $2009 V. Mode adressage étendu indirect VI. Mode adressage relatif court VII. Mode adressage relatif long VIII. Mode adressage indexé IX. Mode adressage indexé indirect

52 5. Mode d'adressage étendu indirect Ce mode d adressage est identique au mode d adressage étendu mais il possède en plus une indirection. La notation assembleur " [ ]" force l'adressage étendu indirect. Le code opératoire (sur 2 ou 3 octets) L'opérande ( 2 octet ) : Adresse Effective Instructions sur quatre octets Les deux premiers octets déterminent le code opératoire ; code opératoire de l adressage étendu simple suivi d un post-octet déterminant l indirection. Les 3ème et 4ème octets représentent l adresse de transit. 52

53 Ex :LDA [$2000] chargement de l accumulateur avec le contenu dont l adresse se trouve en $2000 et $2001. MPU Mémoire Post Octet PC D ADR A B ADR+4 11 ADR + 4 A6 9F ADR ADR+1 ADR+2 ADR+3 X Y S U $ ADR DP E F H I N Z V C CCR Adressage étendu Indirect Instructions sur quatre octets 53

54 Mode d adressage Instructions sur cinq octets Pour certaines instructions, il est nécessaire d ajouter un pré-octet Cela est nécessaire pour les instructions opérant sur les pointeurs S et Y ($10) et pour les instructions de comparaison CMPU et CMPD ($11). Le reste de la codification est identique au cas précédent. Ex:LDY [$2004] chargement du registre d index Y avec le contenu dont l adresse se trouve en $2004 et $

55 Ex:LDY [$2004] chargement du registre d index Y avec le contenu dont l adresse se trouve en $2004 et $2005. PC D MPU ADR A B ADR+5 Pré Octet ADR + 5 Mémoire 10 AE 9F Post Octet ADR ADR+1 ADR+2 ADR+3 ADR+4 X Y S U 1122 $ DP CCR E F H I N Z V C Adressage étendu Indirect Instructions sur cinq octets 55

56 Mode adressage I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG 2. inhérent paramétré Exemple II. Mode adressage immédiat 1. sur deux octets 1. LDA #$A0 2. sur trois octets 2. ADDD #$ sur quatre octets 3. LDY #$10B4 III. Mode adressage Direct 1.LDA $40 ou 1. sur deux octets adresse = $2040 : (DP)=$20 2. sur trois octets 2. LDY $50 Adresse=$3050/51 (DP=30) IV. Mode adressage étendu 1. sur trois octets 1. LDB $ sur quatre octets 2. CMPU $2009 V. Mode adressage étendu indirect 1. sur quatre octets LDA [$2009] 2. sur cinq octets LDY [$2009] VI. Mode adressage relatif court VII. Mode adressage relatif long VIII. Mode adressage indexé IX. Mode adressage indexé indirect

57 Mode d adressage 6. Mode d'adressage relatif court Ce mode d'adressage est réservé pour les instructions de branchement Ex: Arret EQU $3000 BPL Arret Dans ce cas,bpl fait un test sur le bit N du registre CCR, le branchement a lieu si N=0 ( Résultat de l opération précédente positif) 57

58 Ex: Arret EQU $3000 BPL ARRET PC MPU ARRET = ADR Depl Mémoire ADR ARRET ADR+2 ADR +2 ADR + 2 +Depl 2A ADR D A Depl ADR+1 B ADR+2 X ADR +2 +Depl Y S U ARRET $3000 DP E F H I N Z V C Si N=0 alors il y a branchement CCR 0 Adressage relatif court Le déplacement (Depl) est calculé en fonction de la valeur de ADR par rapport à l étiquette ARRET ($3000). 58

59 Mode adressage I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG 2. inhérent paramétré Exemple II. Mode adressage immédiat 1. sur deux octets 1. LDA #$A0 2. sur trois octets 2. ADDD #$ sur quatre octets 3. LDY #$10B4 III. Mode adressage Direct 1.LDA $40 ou 1. sur deux octets adresse = $2040 : (DP)=$20 2. sur trois octets 2. LDY $50 Adresse=$3050/51 (DP=30) IV. Mode adressage étendu 1. sur trois octets 1. LDB $ sur quatre octets 2. CMPU $2009 V. Mode adressage étendu indirect 1. sur quatre octets LDA [$2009] 2. sur cinq octets LDY [$2009] VI. Mode adressage relatif court VII. Mode adressage relatif long mode d'adressage est réservé pour les instructions de branchement ( (déplacement ± 7 bits) BHS FIN VIII. Mode adressage indexé IX. Mode adressage indexé indirect

60 7. Mode d'adressage relatif long Ce mode est identique au précédent, il est toujours réservé aux branchements. Les instructions sont codées sur quatre octets, les deux premiers déterminent le code opération, les 3è et 4è octets donnent la valeur signée du déplacement. Le déplacement est codé sur 16 bits. Exemple : ARRET EQU $4000 LBPL ARRET 60

61 Exemple : ARRET EQU $4000 LBPL ARRET ARRET = ADR Depl MPU Mémoire PC X Y S U CCR ADR D A B DP ADR ARRET +4 E F H I N Z V C 0 ADR Depl ADR Depl Si N=0 alors il y a branchement ARRET 10 2A ADR ADR+1 Depl PFO ADR+2 Depl PFA ADR+3 ADR+4 $4000 Adressage relatif long La présence d un pré-octet ($10) permet de différencier l adressage relatif long de l adressage relatif court. 61

62 Mode adressage I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG 2. inhérent paramétré Exemple II. Mode adressage immédiat 1. sur deux octets 1. LDA #$A0 2. sur trois octets 2. ADDD #$ sur quatre octets 3. LDY #$10B4 III. Mode adressage Direct 1.LDA $40 ou 1. sur deux octets adresse = $2040 : (DP)=$20 2. sur trois octets 2. LDY $50 Adresse=$3050/51 (DP=30) IV. Mode adressage étendu 1. sur trois octets 1. LDB $ sur quatre octets 2. CMPU $2009 V. Mode adressage étendu indirect 1. sur quatre octets LDA [$2009] 2. sur cinq octets LDY [$2009] VI. Mode adressage relatif court VII. Mode adressage relatif long VIII. Mode adressage indexé mode d'adressage est réservé pour les instructions de branchement ( (déplacement ± 7 bits) mode d'adressage est réservé pour les instructions de branchement ( (déplacement ± 15 bits) BHS LBPL FIN ARRET IX. Mode adressage indexé indirect

63 8. Mode d'adressage indexé Le mode d adressage indexé présente l avantage de pouvoir travailler en indirection. Dans ce cas on accède à l adresse effective en transitant par une adresse intermédiaire Registre ADRESSE EFFECTIVE = BASE + DEPLACEMENT La puissance d un mode d adressage indexé est déterminée par l éventail des bases dont on dispose et par toutes les possibilités que l on a. la base peut être soit un des deux registres d index (X ou Y) ( ce qui est normale), mais aussi un des deux pointeurs de pile (U ou S) Ou ce qui est très intéressant, le compteur programme PC lui-même (l adressage est alors, un cas particulier de l adressage relatif). 63

64 Pour ce qui est du déplacement, il y a de multiples possibilités: celui-ci peut être nul, codé sur cinq, huit ou seize bits, ou variable dans le cas de l utilisation d un accumulateur A, B ou D. LDB $20, X Instruction déplacement Base : X ou Y ou U ou S ou PC Enfin, l adressage indexé offre des possibilités d auto-incrémentation ou décrémentation de 1 ou de 2. LDA, Y+ Toutes ces options sont sélectionnées par le post-octet qui suit le code opératoire. 64

65 Bit du registre post octet Mode d adressage indexé AE=, Base + Déplacement 0 R Déplacement AE=, R 4 bits 1 R AE=, R + 1 R 0/ AE=, R ++ 1 R AE=, - R 1 R 0/ AE=, - -R 1 R 0/ AE=, R 0 1 R 0/ AE=, R Acc B 1 R 0/ AE=, R Acc A 1 R 0/ AE=, R 7 bits 1 R 0/ AE=, R 15 bits 1 R 0/ AE=, R D (ACC A +Acc B) 1 0/ AE=, PC 7 bits 1 0/ AE=, PC 15 bits post-octet qui suit le code opératoire. 65

66 Bit du registre post octet Mode d adressage indexé AE=, Base + Déplacement 0 R Déplacement AE=, R 4 bits 1 R AE=, R + 1 R 0/ AE=, R ++ 1 R AE=, - R 1 R 0/ AE=, - -R 1 R 0/ AE=, R 0 1 R 0/ AE=, R Acc B 1 R 0/ AE=, R Acc A 1 R 0/ AE=, R 7 bits 1 R 0/ AE=, R 15 bits 1 R 0/ AE=, R D (ACC A +Acc B) 1 0/ AE=, PC 7 bits 1 0/ AE=, PC 15 bits Les bits 5 et 6 du post octet permettent de définir la base : BASE R b6 b5 Index X 0 0 Index Y 0 1 Pointeur U 1 0 Pointeur S 1 1 Compteur Programme Indifférent, la sélection de la base PC se fait à laide des bits 2 et 3 (1,1) 66

67 Bit du registre post octet Mode d adressage indexé AE=, Base + Déplacement 0 R Déplacement AE=, R 4 bits 1 R AE=, R + 1 R 0/ AE=, R ++ 1 R AE=, - R 1 R 0/ AE=, - -R 1 R 0/ AE=, R 0 1 R 0/ AE=, R Acc B 1 R 0/ AE=, R Acc A 1 R 0/ AE=, R 7 bits 1 R 0/ AE=, R 15 bits 1 R 0/ AE=, R D (ACC A +Acc B) 1 0/ AE=, PC 7 bits 1 0/ AE=, PC 15 bits le bit 7 définit le rôle du bit4 : b7=0 b4 = bit de signe. b7=1 b4= choix du mode direct (b4=0) ou indirect (b4=1 ); 67

68 Bit du registre post octet Mode d adressage indexé AE=, Base + Déplacement 0 R Déplacement AE=, R 4 bits 1 R AE=, R + 1 R 0/ AE=, R ++ 1 R AE=, - R 1 R 0/ AE=, - -R 1 R 0/ AE=, R 0 1 R 0/ AE=, R Acc B 1 R 0/ AE=, R Acc A 1 R 0/ AE=, R 7 bits 1 R 0/ AE=, R 15 bits 1 R 0/ AE=, R D (ACC A +Acc B) 1 0/ AE=, PC 7 bits 1 0/ AE=, PC 15 bits 1 R 0/ AE=, Adresse Les bits 0 à 3 définissent le champ du mode d adressage. Nous allons voir toutes les combinaisons possibles. 68

69 Bit du registre post octet Mode d adressage indexé AE=, Base + Déplacement 0 R Déplacement AE=, R 4 bits 1 R AE=, R + 1 R 0/ AE=, R ++ 1 R AE=, - R 1 R 0/ AE=, - -R 1 R 0/ AE=, R 0 1 R 0/ AE=, R Acc B 1 R 0/ AE=, R Acc A 1 R 0/ AE=, R 7 bits 1 R 0/ AE=, R 15 bits 1 R 0/ AE=, R D (ACC A +Acc B) 1 0/ AE=, PC 7 bits 1 0/ AE=, PC 15 bits Déplacement const Auto Increm/Décrem Déplacement nul Dépl accumul Déplacement const Dépl accumul Dépl PC Les combinaisons possibles pour les modes d adressage: 1 :Déplacement nul 2 :Auto Incrémentation/décrémentation 3 :Déplacement constant 4 :Déplacement accumulateur 5 :Base= compteur Programme PC 69

70 Bit du registre post octet Mode d adressage indexé AE=, Base + Déplacement 0 R Déplacement AE=, R 4 bits 1 R AE=, R + 1 R 0/ AE=, R ++ 1 R AE=, - R 1 R 0/ AE=, - -R 1 R 0/ AE=, R 0 1 R 0/ AE=, R Acc B 1 R 0/ AE=, R Acc A 1 R 0/ AE=, R 7 bits 1 R 0/ AE=, R 15 bits 1 R 0/ AE=, R D (ACC A +Acc B) 1 0/ AE=, PC 7 bits 1 0/ AE=, PC 15 bits Déplacement const Auto Increm/ Décrem Déplacement nul Dépl accumul Déplacement const Dépl accumul Dépl PC Les combinaisons possibles pour les modes d adressage: 1 :Déplacement nul 2 :Auto Incrémentation/décrémentation 3 :Déplacement constant 4 :Déplacement accumulateur 5 :Base= compteur Programme PC 70

71 8.1 Mode d'adressage indexé. Déplacement nul. Dans ce mode, le registre pointeur sélectionné contient l adresse effective des données devant être utilisées par l instruction. Ce mode est le mode indexé le plus rapide. Il existe deux types d instructions : Instructions sur deux octets : Le code opératoire est suivi du post-octet précisant les options choisies pour l instruction en cours. Exemple : LDA,X chargement de A avec la valeur dont l adresse est le contenu de l index X. 71

72 LDA,X chargement de A avec la valeur dont l adresse est le contenu de l index X. MPU Mémoire Postoctet PC ADR ADR +2 ADR + 2 A6 ADR D A B ADR+1 ADR+2 X Y S xxxx 11 U DP 11 xxxx E F H I N Z V C CCR Adressage indexé Déplacement nul Dans ce cas le post-octet est égale $84 : b7=1 b4=0 signifie que l adressage est indexé direct b6.b5=0.0 l index est X b3.b2.b1.b0= le déplacement est nul X Déplacement nul Adressage indexé direct 72

73 Instructions sur trois octets pour certains registres du microprocesseur il est nécessaire d ajouter un pré-octet, aux deux octets opératoires proprement dit. Cela mis à part, ce mode est identique au précédent. Exemple : LDY,X chargement de l index Y avec la valeur dont l adresse de base est le contenu de X. 73

74 VIII. Mode adressage indexé 1. Déplacement NUL : a. Sur deux octets LDB,X a. Sur trois octets LDY, U IX. Mode adressage indexé indirect 2. Auto Incrémentation/décrémentation : a. Sur deux octets LDA,Y+ a. Sur trois octets LDY,--X 3. Déplacement constant : a. Sur ± 4 bits ADDB -14,X a. Sur ± 7 bits LDA $30,X a. Sur ± 15 bits LDB $8000,Y 4.Déplacement accumulateur : a. Déplacement sur 7 bits. Acc A ou B LDA B,X a. Déplacement sur 15 bits. Acc D LEAY D,X 5. Base=Compteur Programme PC a. Déplacement sur 7 bits. LDB $20,PC a. Déplacement sur 15 bits. ADDA $2000,PC a. Etiquette localisée LEAX ETIQ,PC 1. Déplacement nul LDA [,X] 2. Auto Incrémentation/décrémentation ADDB [,U++] 3. Déplacement constant LDA [$2000,X] 4.Déplacement accumulateur LDU [D,PC] 5. Base=Compteur Programme PC LDA [$F000,PC] LDA [TABLE,PC] 74

75 8.2 Mode d'adressage indexé. Auto-incrémentation/décrémentation On peut obtenir des pré-décrémentations de un ou deux et des postincrémentations de un ou deux. Ces possibilités permettent de gérer facilement une table. Le registre pointeur sélectionné contient l adresse effective des données utilisées par l instruction. 75

76 Instructions sur deux octets Exemple : LDA,X+ chargement de A avec la valeur dont l adresse est le contenu de X, post-incrémentation par un de X. 76

77 LDA,X+ chargement de A avec la valeur dont l adresse est le contenu de l index X.post incrémentation par un de X MPU Mémoire Postoctet PC ADR ADR +2 ADR + 2 A6 ADR D A ADR+1 B ADR+2 11 X xxxx xxxx+1 Y S U xxxx+1 11 xxxx DP E F H I N Z V C CCR Adressage indexé Auto-incrémentation/Décrémentation(2 octets) Post Octet Dans ce cas le post-octet est égale $80 : b7=1 b4=0 signifie que l adressage est indexé direct b6.b5=0.0 l index est X b3.b2.b1.b0= mode post_incrémentation X post_incrémentation Adressage indexé direct NB: Le mode auto-incrémentation/décrémentation par un est utilisé pour gérer des tables de données 77

78 Instructions sur trois octets : Exemple : LDY, --X chargement de Y avec la valeur dont l adresse de base est le contenu de X 2. MPU Mémoire Postoctet PC ADR ADR+3 ADR ADR D A B AE 83 ADR+1 ADR+2 X xxxx xxxx-2 xxxx -2 ADR+3 Y 1122 S U DP E F H I N Z V C xxxx- 2 xxxx - 1 xxxx CCR Adressage indexé Auto-incrémentation/Décrémentaion(3 octets) Dans ce cas le post-octet est égale $83 : b7=1 b4=0 signifie que l adressage est indexé direct b6.b5=0.0 l index est X b3.b2.b1.b0= double pré décrémentation Adressage indexé direct NB: Le mode auto-incrémentation/décrémentation par deux est utilisé pour gérer des tables d adresses X Double pré_décrémentation 78

79 VIII. Mode adressage indexé 1. Déplacement NUL : a. Sur deux octets LDB,X a. Sur trois octets LDY, U IX. Mode adressage indexé indirect 2. Auto Incrémentation/décrémentation : a. Sur deux octets LDA,Y+ a. Sur trois octets LDY,--X 3. Déplacement constant : a. Sur ± 4 bits ADDB -14,X a. Sur ± 7 bits LDA $30,X a. Sur ± 15 bits LDB $8000,Y 4.Déplacement accumulateur : a. Déplacement sur 7 bits. Acc A ou B LDA B,X a. Déplacement sur 15 bits. Acc D LEAY D,X 5. Base=Compteur Programme PC a. Déplacement sur 7 bits. LDB $20,PC a. Déplacement sur 15 bits. ADDA $2000,PC a. Etiquette localisée LEAX ETIQ,PC 1. Déplacement nul LDA [,X] 2. Auto Incrémentation/décrémentation ADDB [,U++] 3. Déplacement constant LDA [$2000,X] 4.Déplacement accumulateur LDU [D,PC] 5. Base=Compteur Programme PC LDA [$F000,PC] LDA [TABLE,PC] 79

80 8.3 Mode d'adressage indexé. Déplacement constant Dans ce mode d adressage, l adresse effective de l opérande est la somme du déplacement (en complément à deux) et du contenu du registre constituant la base. Le registre de base n est pas modifié. Il existe trois formes d adressage indexé à déplacement constant, suivant la valeur de cette constante. Déplacement sur 4 bits Ce déplacement codé sur 5 bits (en complément à deux) présente l avantage d être contenu dans le post-octet d indexation. Ce qui permet un gain de place mémoire et une exécution plus rapide de cette instruction. Les bits 0 à 4 du post-octet déterminent donc la valeur du déplacement qui peut être de -16 octets en arrière (1 0000) et de + 15 octets en avant (0 1111). Dans ce cas le bit constamment à zéro initialise le bit 4 comme bit de signe. 80

81 Exemple : ADDB -3,Y addition du contenu d adresse mémoire Y-3 au contenu de l accumulateur B, le résultat est dans B. MPU Mémoire PC ADR ADR+2 ADR + 2 EB ADR D A 3D ADR+1 B bb bb+11 ADR+2 bb+11 X Y yyyy -3 S U DP -3 + yyyy 11 yyyy - 3 yyyy - 2 yyyy - 1 E F H I N Z V C yyyy Post Octet CCR Adressage indexé Déplacement sur 4 bits Le post-octet prend la valeur $3D : Y b7=0 le bit b4 est le bit de signe de déplacement. b6.b5=0.1 index Y. b4.b3.b2.b1.b0= le déplacement est -3 en complément à deux Déplacement (en compl à 2) = -3 81

82 Déplacement sur 7 bits Ce déplacement codé sur 8 bits (en complément à deux) est contenu dans un seul octet, placé à la suite du code opératoire proprement dit et du post-octet. Les déplacements possibles sont donc compris entre 128 et octets. Exemple : LDY $30, U chargement du pointeur Y avec le contenu mémoire dont l adresse de base est le contenu de U + $30 82

83 Exemple : LDY $30, U chargement du pointeur Y avec le contenu mémoire dont l adresse de base est le contenu de U + $30 MPU Mémoire Postoctet PC ADR ADR+4 ADR ADR D A AE ADR+1 B uuuu+$30 C8 ADR+2 30 ADR+3 X ADR+4 Y 1122 S U uuuu uuuu+$30 DP 22 uuuu+$31 E F H I N Z V C Post Octet CCR Adressage indexé Déplacement sur 7 bits Le post-octet prend la valeur C8 en hexa ( ) : b7=1 b4=0 adressage indexé direct. b6.b5=1.0. index U. b3.b2.b1.b0= le déplacement est codé sur 8 bits en compléments à deux U Déplacement ±7 bits Adressage indexé direct 83

84 Déplacement sur 15 bits Ce déplacement codé sur 16bits (en complément à deux) est contenu dans deux octets placés à la suite de ceux de l instruction (code opératoire + post octet).les déplacements possibles sont donc compris entre et octets. Exemple : LDA $3000, X chargement de l accumulateur A avec le contenu mémoire d adresse X + $

85 Exemple : LDA $3000, X chargement de l accumulateur A avec le contenu mémoire d adresse X + $3000 MPU Mémoire Postoctet PC ADR ADR+4 ADR + 4 A6 ADR D A ADR+1 B xxxx + $ ADR+2 ADR+3 X xxxx ADR+4 Y S $11 U 11 xxxx +$3000 DP E F H I N Z V C Post Octet CCR Adressage indexé Déplacement sur 15 bits Le post-octet prend la valeur 89 en hexa ( ) : b7=1 b4=0 adressage indexé direct. b6.b5=0.0. index X. b3.b2.b1.b0= le déplacement est codé sur 16 bits en compléments à deux X Déplacement ±15 bits Adressage indexé direct 85

86 VIII. Mode adressage indexé 1. Déplacement NUL : a. Sur deux octets LDB,X a. Sur trois octets LDY, U IX. Mode adressage indexé indirect 2. Auto Incrémentation/décrémentation : a. Sur deux octets LDA,Y+ a. Sur trois octets LDY,--X 3. Déplacement constant : a. Sur ± 4 bits ADDB -14,X a. Sur ± 7 bits LDA $30,X a. Sur ± 15 bits LDB $8000,Y 4.Déplacement accumulateur : a. Déplacement sur 7 bits. Acc A ou B LDA B,X a. Déplacement sur 15 bits. Acc D LEAY D,X 5. Base=Compteur Programme PC a. Déplacement sur 7 bits. LDB $20,PC a. Déplacement sur 15 bits. ADDA $2000,PC a. Etiquette localisée LEAX ETIQ,PC 1. Déplacement nul LDA [,X] 2. Auto Incrémentation/décrémentation ADDB [,U++] 3. Déplacement constant LDA [$2000,X] 4.Déplacement accumulateur LDU [D,PC] 5. Base=Compteur Programme PC LDA [$F000,PC] LDA [TABLE,PC] 86

87 8.4 Mode d'adressage indexé. Déplacement accumulateur Ce mode d adressage est semblable au précédent à l exception du déplacement qui n est plus codé sur des octets spécifiques mais contenu dans les accumulateurs A,B ou D du microprocesseur.. L adresse effective est donc la somme des registres pointeur et accumulateur spécifiés dans le mnémonique de l instruction Déplacement sur 7 bits. Accumulateurs A ou B Exemple : LDA B, X chargement de l accumulateur A avec le contenu mémoire d adresse X + B 87

88 Exemple : LDA B, X chargement de l accumulateur A avec le contenu mémoire d adresse X + B MPU Mémoire Postoctet PC ADR ADR+2 ADR + 2 A6 ADR D A ADR+1 B bb ADR+2 $11 X xxxx Y S U DP xxxx+bb 11 xxxx+bb Post Octet E F H I N Z V C CCR Adressage indexé Déplacement sur 7 bits. Accu A ou B Le post-octet prend la valeur 85 en hexa ( ) : b7=1 b4=0 adressage indexé direct. b6.b5=0.0. index X. b3.b2.b1.b0= le déplacement est égale au contenu de l Acc B (en complément à 2) X Déplacement = contenu de B (Compl à2) Adressage indexé direct 88

89 Déplacement sur 15 bits. Accumulateur D Exemple : LEAY D, X chargement dans l index Y de l adresse effective donnée par la somme D + X PC D A B MPU ADR ADR+2 aa bb ADR + 2 Mémoire 31 8B Postoctet ADR ADR+1 ADR+2 X Y S U DP xxxx aabb + xxxx aabb + xxxx Post Octet CCR E F H I N Z V C Adressage indexé Déplacement sur 15 bits. Accumulateur D Le post-octet prend la valeur 8B en hexa ( ) : b7=1 b4=0 adressage indexé direct. b6.b5=0.0. index X. b3.b2.b1.b0= le déplacement = contenu de l Acc D=(A :B )en complément à 2) X Déplacement = Contenu D (En compl 2) Adressage indexé direct 89

90 VIII. Mode adressage indexé 1. Déplacement NUL : a. Sur deux octets LDB,X a. Sur trois octets LDY, U IX. Mode adressage indexé indirect 2. Auto Incrémentation/décrémentation : a. Sur deux octets LDA,Y+ a. Sur trois octets LDY,--X 3. Déplacement constant : a. Sur ± 4 bits ADDB -14,X a. Sur ± 7 bits LDA $30,X a. Sur ± 15 bits LDB $8000,Y 4.Déplacement accumulateur : a. Déplacement sur 7 bits. Acc A ou B LDA B,X a. Déplacement sur 15 bits. Acc D LEAY D,X 5. Base=Compteur Programme PC a. Déplacement sur 7 bits. LDB $20,PC a. Déplacement sur 15 bits. ADDA $2000,PC a. Etiquette localisée LEAX ETIQ,PC 1. Déplacement nul LDA [,X] 2. Auto Incrémentation/décrémentation ADDB [,U++] 3. Déplacement constant LDA [$2000,X] 4.Déplacement accumulateur LDU [D,PC] 5. Base=Compteur Programme PC LDA [$F000,PC] LDA [TABLE,PC] 90

91 8.5 Mode d'adressage indexé. Base=compteur programme Les paragraphes précédents nous ont permis d aborder les différents modes d adressage indexé utilisant les pointeurs X, Y,S et U comme base. L utilisation du compteur ordinal comme base d indexation impose des restrictions sur les types de déplacements. Seuls les déplacements constants codés sur 8 ou 16 bits (en complément à 2) peuvent être utilisés. 91

92 Déplacement sur 7 bits. L adresse effective est égale au compteur programme courant plus un déplacement codé sur 8 bits. L instruction est codée sur 3 octets ( code opératoire + post-octet+ déplacement). Exemple : LDA $20, PC chargement de l accumulateur A avec le contenu mémoire dont d adresse est la valeur de PC + $20 92

93 Exemple : LDA $20, PC chargement de l accumulateur A avec le contenu mémoire dont d adresse est la valeur de PC + $20 PC MPU ADR ADR+ 3 ADR + 3 Mémoire A6 ADR Postoctet D A B 11 $11 8C 20 ADR+1 ADR+2 ADR+3 X Y S U DP ADR + 3+$20 11 ADR + 3+$20 Post Octet CCR E F H I N Z V C Adressage indexé Base=PC Le post-octet prend la valeur 8C en hexa ( ) : b7=1 b4=0 adressage indexé direct. b6.b5 indifferent b3.b2.b1.b0= le déplacement sur 8 bits (en complément à 2) Indiférent Déplacement sur 8 bits ( en Compl à 2) Adressage indexé direct 93

94 Déplacement sur 15 bits. L adresse effective est égale au compteur courant plus un déplacement codé sur deux octets. Ce mode d adressage présente l avantage de permettre des déplacements sur tout l espace mémoire du processeur Exemple : ADDA $2000, PC addition du contenu mémoire dont l adresse est la valeur courante du PC+ $2000 et de l accumulateur A, le résultat est dans A. 94

95 Exemple : ADDA $2000, PC addition du contenu mémoire dont l adresse est la valeur courante du PC+ $2000 et de l accumulateur A, le résultat est dans A. MPU Mémoire Postoctet PC D A ADR ADR+ 4 aa aa + 11 ADR + 4 AB 8D ADR ADR+1 B aa ADR+2 ADR+3 X ADR+4 Y S U DP ADR + 4+$ ADR + 4+$2000 Post Octet E F H I N Z V C CCR Le post-octet prend la valeur 8D en hexa ( ) : b7=1 b4=0 adressage indexé direct. b6.b5 indifferent b3.b2.b1.b0= le déplacement sur 16 bits (en complément à 2) Adressage indexé Déplacement const sur 15 bits Indiférent Déplacement sur 16 bits ( en Compl à 2) Adressage indexé direct 95

96 Étiquette localisée. Dans ce cas, la syntaxe assembleur n utilise pas directement un déplacement mais une étiquette localisée située à 128 octets de l instruction suivante (déplacement sur 8 bits) ou n importe où sur l espace mémoire du microprocesseur (déplacement sur 16 bits). Comme précédemment l adresse effective est égale au compteur programme courant plus un déplacement codé sur 8 ou 16 bits. L instruction est codée sur trois ou quatre octets. La syntaxe assembleur contient le mnémonique de l instruction, le nom de l étiquette localisée plus la base. L assembleur calcule la valeur du déplacement en fonction de la position de l étiquette. 96

97 Exemple : LEAX ETIQ, PC chargement du registre d index X avec l adresse effective qui est donnée par la position de l étiquette par rapport au compteur programme courant. Dans cet exemple on prend : ADR=$2000 ETIQ=$2015 xxxx=0011 PC MPU ADR ADR+4 ADR + 4 Mémoire 30 ADR Postoctet D A 8D ADR+1 B 00 ADR+2 11 ADR+2 X Y xxxx= 0011 xxxx= ETIQ (ADR+4) ADR+2 S U ETIQ DP E F H I N Z V C CCR Adressage indexé Etiquette localisée Le post-octet prend la valeur 8D en hexa ( ) : b7=1 b4=0 adressage indexé direct. b6.b5 indifferent b3.b2.b1.b0= le déplacement sur 16 bits (en complément à 2) Indiférent Déplacement sur 16 bits ( en Compl à 2) Adressage indexé direct 97

98 Mode adressage VIII. Mode adressage indexé 1. Déplacement NUL : a. Sur deux octets LDB,X a. Sur trois octets LDY, U IX. Mode adressage indexé indirect 2. Auto Incrémentation/décrémentation : Exemple a. Sur deux octets LDA,Y+ a. Sur trois octets LDY,--X 3. Déplacement constant : a. Sur ± 4 bits ADDB -14,X a. Sur ± 7 bits LDA $30,X a. Sur ± 15 bits LDB $8000,Y 4.Déplacement accumulateur : a. Déplacement sur 7 bits. Acc A ou B LDA B,X a. Déplacement sur 15 bits. Acc D LEAY D,X 5. Base=Compteur Programme PC a. Déplacement sur 7 bits. LDB $20,PC a. Déplacement sur 15 bits. ADDA $2000,PC a. Etiquette localisée LEAX ETIQ,PC 1. Déplacement nul LDA [,X] 2. Auto Incrémentation/décrémentation ADDB [,U++] 3. Déplacement constant LDA [$2000,X] 4.Déplacement accumulateur LDU [D,PC] 5. Base=Compteur Programme PC LDA [$F000,PC] LDA [TABLE,PC]

99 9. Mode d'adressage indexé indirect Le mode d adressage indexé présente l avantage de pouvoir travailler en indirection. Dans ce cas on accède à l adresse effective en transitant par une adresse intermédiaire. On peut donc écrire : Adresse effective = contenu mémoire dont l adresse de base est la somme de l index + le déplacement. La syntaxe assembleur utilisée pour définir l indirection est la même que celle de l adressage étendu : «[ ]» Les instructions sont codés sur deux octets, le premier définit le code opératoire (identique à l indexé simple), le second le type de déplacement, le type de base et l indirection. 99

100 9.1 Mode d'adressage indexé indirect. Déplacement nul Exemple : LDA [, X] chargement de A avec le contenu mémoire dont l adresse est le contenu de (X,X+1). MPU Mémoire Post Octet PC ADR ADR+2 ADR + 2 A6 94 ADR D A B 11 ADR+1 ADR+2 X xxxx Y S U DP xxxx xxxx+1 E F H I N Z V C CCR Adressage indexé Indirect Déplacement nul Le post-octet prend la valeur 94 en hexa ( ) : b7=1 b4=1 adressage indexé indirect. b6.b5 =0.0 index X b3.b2.b1.b0= déplacement nul X Déplacement nul 100 Adressage indexé indirect

101 9.2 Mode d'adressage indexé indirect. Auto-incrémentation/décrémentation Le mode indexé travaille seulement en auto-incrémentation/décrémentation par deux, ce qui est normal car ce mode permet de gérer des adresses Exemple : ADDA [, U++] addition de l accumulateur A et du contenu mémoire dont l adresse se trouve pointée par U,U+1, le résultat est dans A. 101

102 Exemple : ADDA [, U++] addition de l accumulateur A et du contenu mémoire dont l adresse se trouve pointée par U,U+1, le résultat est dans A. MPU Mémoire Post Octet PC D A ADR ADR+2 aa+11 ADR + 2 AB D1 ADR ADR+1 ADR+2 B aa+11 X Y S U uuuu uuuu uuuu+1 DP E F H I N Z V C uuuu CCR Adressage indexé Indirect Auto-incrémentation/décrémentation Le post-octet prend la valeur D1 en hexa ( ) : b7=1 b4=1 adressage indexé indirect. b6.b5 =1.0 index U b3.b2.b1.b0= post auto-incrémentation de U Post auto_incrémentation de Adressage indexé indirect

103 9.3 Mode d'adressage indexé indirect. Déplacement constant Les déplacements constants sont codés sur 8 ou 16 bits (en complément à deux). L indirection n est pas possible pour un déplacement codé sur 5 bits. Exemple : LDA [$2000, X] chargement de l accumulateur A avec le contenu mémoire dont l adresse est pointée par X+ $

104 Exemple : LDA [$2000, X] chargement de l accumulateur A avec le contenu mémoire dont l adresse est pointée par X+ $2000. MPU Mémoire Post Octet PC ADR ADR+4 ADR + 4 A6 99 ADR ADR+1 X D A B xxxx 11 $ ADR+2 ADR+3 ADR+4 Y S U xxxx +$ xxxx+2000 xxxx+2001 DP E F H I N Z V C CCR Adressage indexé Indirect Déplacement constant Le post-octet prend la valeur 99 en hexa ( ) : b7=1 b4=1 adressage indexé indirect. b6.b5 =0.0 index X b3.b2.b1.b0= déplacement constant sur 15 bits X Dépl constant sur ±15 bits Adressage indexé indirect 104

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

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION 145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu

Plus en détail

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

GPA770 Microélectronique appliquée Exercices série A GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément

Plus en détail

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

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96 Assembleur i8086 Philippe Preux IUT Informatique du Littoral Année universitaire 95 96 1 Avertissement Ce document décrit le langage d assemblage étudié et utilisé dans le cadre des TP d architecture.

Plus en détail

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

Codage d information. Codage d information : -Définition- Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

Exécution des instructions machine

Exécution des instructions machine Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]

Plus en détail

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 TD7 : Un microprocesseur RISC 16 bits {Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit

Plus en détail

Rappels d architecture

Rappels d architecture Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

Plus en détail

Programmation assembleur : aperçu

Programmation assembleur : aperçu Assembleur : Younès EL AMRANI. 1 Programmation assembleur : aperçu Programmation en assembleur : NASM Module M14 Semestre 4 Printemps 2010 Equipe pédagogique : Younès El Amrani, Abdelhakim El Imrani, Faissal

Plus en détail

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

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie 1 Professeur : Haouati Abdelali CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie I : Généralités et algorithmique de base 1. Environnement matériel et logiciel

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

Les opérations binaires

Les opérations binaires Les opérations binaires Compétences associées A2 : Analyser et interpréter une information numérique Objectifs Etre capable: - De coder les nombres entiers en code complément à 2. - De résoudre les opérations

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle

Plus en détail

Jeu d instructions NIOS II

Jeu d instructions NIOS II Jeu d instructions NIOS II 1 Formats d instructions Le processeur NIOS II a un jeu d instructions de type RISC. Il possède 32 registres de 32 bits, notés r0 à r31, avec r0 0. Les instructions sont de longueur

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Logiciel de Base. I. Représentation des nombres

Logiciel de Base. I. Représentation des nombres Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats

Plus en détail

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

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155) Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155) F. Pellegrini Université Bordeaux 1 Ce document est copiable et distribuable librement et gratuitement à

Plus en détail

Structure d un programme

Structure d un programme Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

TD Architecture des ordinateurs. Jean-Luc Dekeyser

TD Architecture des ordinateurs. Jean-Luc Dekeyser TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l informatique Exercice 1 Une entreprise désire réaliser la sauvegarde de ses données sur un site distant. Le volume de données à sauvegarder

Plus en détail

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Architecture des ordinateurs Introduction à l informatique

Architecture des ordinateurs Introduction à l informatique Architecture des ordinateurs Introduction à l informatique 17 septembre 2004 1 2 3 4 5 6 Les interrupteurs... 0V 5V Ce sont des composants électroniques qui laissent pser un courant principal lorsque la

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Microprocesseur + Logiciel

Microprocesseur + Logiciel Microprocesseur + Logiciel Robot EVALBOT MOHAMED AKIL BUREAU 5253 UNITE IGI 1001 PROGRAMMATION DES MICROPROCESSEURS Présentation [IGI1001] CONTEXTE SCIENTIFIQUE... 4 1. OBJECTIFS DE L UNITE... 6 2. OBJECTIFS

Plus en détail

Fascicule u7.05 : Impression de résultat pour visualisation

Fascicule u7.05 : Impression de résultat pour visualisation Titre : Procédure IMPR_RESU (FORMAT 'MED' Date : 06/05/2013 Page : 1/10 Procédure IMPR_RESU (FORMAT 'MED' 1 But Écrire le résultat d un calcul dans un fichier au format MED. On décrit l ensemble des mots

Plus en détail

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

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

Tout savoir sur le matériel informatique

Tout savoir sur le matériel informatique Tout savoir sur le matériel informatique Thème de l exposé : Les Processeurs Date : 05 Novembre 2010 Orateurs : Hugo VIAL-JAIME Jérémy RAMBAUD Sommaire : 1. Introduction... 3 2. Historique... 4 3. Relation

Plus en détail

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

ET LO GICIEL D UN S YS T EME IN FORMATIQUE C HAPIT RE 0 : ENVIRONNEMENT MATE RI EL ET LO GICIEL D UN S YS T EME IN FORMATIQUE Objectifs : 1. Présenter l ensemble des ressources physiques et logicielles d un système informatique. 2. Comprendre la

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

Manuel de référence du langage Exemples Les aventures de Docteur R. www.irai.com

Manuel de référence du langage Exemples Les aventures de Docteur R. www.irai.com Manuel de référence du langage Exemples Les aventures de Docteur R. www.irai.com 1. Eléments communs... 7 1.1. Les variables... 7 1.1.1. Les variables booléennes... 7 1.1.2. Les variables numériques...

Plus en détail

CHAPITRE VI ALEAS. 6.1.Généralités.

CHAPITRE VI ALEAS. 6.1.Généralités. CHAPITRE VI ALEAS 6.1.Généralités. Lors de la synthèse des systèmes logique (combinatoires ou séquentiels), nous avons supposé, implicitement, qu une même variable secondaire avait toujours la même valeur

Plus en détail

PIC : COURS ASSEMBLEUR

PIC : COURS ASSEMBLEUR PIC : COURS ASSEMBLEUR I) Fonctions de base d une machine informatique Contenir de façon permanente les tâches à exécuter (mémoire programme) en ROM ou sur support magnétique. Contenir de façon temporaire

Plus en détail

Initiation à LabView : Les exemples d applications :

Initiation à LabView : Les exemples d applications : Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

PARAGON Disk Wiper. Guide de l utilisateur. Paragon Technology GmbH, System Programmierung. Copyright Paragon Technology GmbH

PARAGON Disk Wiper. Guide de l utilisateur. Paragon Technology GmbH, System Programmierung. Copyright Paragon Technology GmbH PARAGON Disk Wiper Guide de l utilisateur Paragon Technology GmbH, System Programmierung Copyright Paragon Technology GmbH Publié par : Paragon Technology GmbH System Programming Pearl-Str. 1 D-79426 Buggingen

Plus en détail

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

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Chapitre 4 : Les mémoires

Chapitre 4 : Les mémoires 1. Introduction: Chapitre 4 : Les mémoires Nous savons que dans un ordinateur toutes les informations : valeur numérique, instruction, adresse, symbole (chiffre, lettre,... etc.) sont manipulées sous une

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Documentation SecurBdF

Documentation SecurBdF Documentation SecurBdF SECURBDF V2 Protocole de sécurité de la Banque de France SecurBdF V2 DIRECTION DE L'INFORMATIQUE ET DES TÉLÉCOMMUNICATIONS Sommaire I 1 Contexte... 1 2 Références... 1 3 Cadre...

Plus en détail

IFT1215 Introduction aux systèmes informatiques

IFT1215 Introduction aux systèmes informatiques Introduction aux circuits logiques de base IFT25 Architecture en couches Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau Niveau Couche des langages d application Traduction (compilateur) Couche du langage d

Plus en détail

Jeux de caracte res et encodage (par Michel Michaud 2014)

Jeux de caracte res et encodage (par Michel Michaud 2014) Jeux de caracte res et encodage (par Michel Michaud 2014) Les ordinateurs ne traitent que des données numériques. En fait, les codages électriques qu'ils conservent en mémoire centrale ne représentent

Plus en détail

Cours 3 : L'ordinateur

Cours 3 : L'ordinateur Cours 3 : L'ordinateur Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université A, Mehri - Constantine 2 Plan du cours 1.Définitions de l'ordinateur

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Architecture de l ordinateur

Architecture de l ordinateur Architecture de l ordinateur Emmanuel Lazard Université Paris-Dauphine mars 2011 Computers are my forte! BRAZIL (Terry Gilliam, 1985) Ce document a initialement été publié sous forme de livre : Emmanuel

Plus en détail

Chapitre 10 Arithmétique réelle

Chapitre 10 Arithmétique réelle Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

gestion des processus La gestion des processus

gestion des processus La gestion des processus 1 La Pseudo parallélisme 2 Plusieurs programmes en mémoire Le processeur exécute les instructions tantôt pour l'un tantôt pour l'autre P1 P2 programme de supervision Vu de l'utilisateur => programmes en

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-

Plus en détail

2.1 Le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 1.

2.1 Le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 1. Mémoires RAM 1. LOGIUE STATIUE ET LOGIUE DYNAMIUE Le point mémoire est l élément de base, capable de mémoriser un bit. Il y a deux approches possibles. L approche statique est fondée sur la l'utilisation

Plus en détail

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

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

Les liaisons SPI et I2C

Les liaisons SPI et I2C DAMÉCOURT BENJAMIN AVRIL 28 Liaisons synchrones Les liaisons SPI et I2C Face arrière d un imac : trois ports USB, un port Firewire 4 et un port Firewire 8 CHRONOLOGIE ANNÉES 7 La liaison SPI et la création

Plus en détail

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

Plus en détail

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation

Plus en détail

CONFIGURATION DE L AUTOMATE SIEMENS

CONFIGURATION DE L AUTOMATE SIEMENS CONFIGURATION DE L AUTOMATE SIEMENS Créer un projet Dans le bureau de Windows, double-cliquer sur l icône «SIMATIC Manager» : Cliquer ensuite sur l icône «nouveau» : Choisir un nom de projet et valider

Plus en détail

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

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases Master d'informatique 1ère année Réseaux et protocoles Architecture : les bases Bureau S3-203 Mailto : alexis.lechervy@unicaen.fr D'après un cours de Jean Saquet Réseaux physiques LAN : Local Area Network

Plus en détail

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+ Guide de formation avec exercices pratiques Configuration et dépannage de PC Préparation à la certification A+ Sophie Lange Troisième édition : couvre Windows 2000, Windows XP et Windows Vista Les Guides

Plus en détail

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

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

UGVL : HOMOLOGATION PS 200406-01. ZAC du bois Chaland 6 rue des Pyrénées LISES - 91056 EVRY Cedex FRANCE Tel. 01 69 11 46 00 Fax 01 69 11 46 10

UGVL : HOMOLOGATION PS 200406-01. ZAC du bois Chaland 6 rue des Pyrénées LISES - 91056 EVRY Cedex FRANCE Tel. 01 69 11 46 00 Fax 01 69 11 46 10 UGVL : HOMOLOGATION PS 200406-01 ZAC du bois Chaland 6 rue des Pyrénées LISES - 91056 EVRY Cedex FRANCE Tel. 01 69 11 46 00 Fax 01 69 11 46 10 www.aiphone.fr Crée-le : Mai 2005 Dernière modification le

Plus en détail

Système binaire. Algèbre booléenne

Système binaire. Algèbre booléenne Algèbre booléenne Système binaire Système digital qui emploie des signaux à deux valeurs uniques En général, les digits employés sont 0 et 1, qu'on appelle bits (binary digits) Avantages: on peut utiliser

Plus en détail

Claude Delannoy. 3 e édition C++

Claude Delannoy. 3 e édition C++ Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

CM2 L architecture MIPS32

CM2 L architecture MIPS32 CM2 L architecture MIPS32 Olivier Marchetti (CM-TD-TP) Alexandre Brière (TD-TP) Laboratoire d informatique de Paris 6 Pôle SoC UPMC Année 2014-2015 Instructions MIPS Contrôle Données en MIPS E/S en MIPS

Plus en détail

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Document de formation T I A Page 1 sur 23 Module A5 Ce document a été édité par Siemens

Plus en détail

ELP 304 : Électronique Numérique. Cours 1 Introduction

ELP 304 : Électronique Numérique. Cours 1 Introduction ELP 304 : Électronique Numérique Cours 1 Introduction Catherine Douillard Dépt Électronique Les systèmes numériques : généralités (I) En électronique numérique, le codage des informations utilise deux

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 7 17 décembre 2012 Archi 1/1 Fonctions, suite et fin Archi 2/1 Rappel Forme générale d un sous-programme (fonction) : etiquette sousprogramme: push ebp ; empile la valeur

Plus en détail

TP 10.3.5a Notions de base sur le découpage en sous-réseaux

TP 10.3.5a Notions de base sur le découpage en sous-réseaux TP 10.3.5a Notions de base sur le découpage en sous-réseaux Objectif Identifier les raisons pour lesquelles utiliser un masque de sous-réseau. Faire la distinction entre un masque de sous-réseau par défaut

Plus en détail

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007 Introduction à l architecture des ordinateurs Adrien Lebre Décembre 2007 Plan - partie 1 Vue d ensemble La carte mère Le processeur La mémoire principal Notion de bus Introduction à l architecture des

Plus en détail

3. Structure des ordinateurs. 3.1 L' Unité Centrale (UC) ou processeur (Central Processing Unit CPU)

3. Structure des ordinateurs. 3.1 L' Unité Centrale (UC) ou processeur (Central Processing Unit CPU) ASI Chapitre 3 : Structure des ordinateurs 40 ASI Chapitre 3 : Structure des ordinateurs 41 3. Structure des ordinateurs Le modèle d'architecture de la plupart des ordinateurs actuels provient d'un travail

Plus en détail

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE I/ GÉNÉRALITÉS I.1/ Fonction Un compteur binaire est utilisé : -pour compter un certain nombre d'évènements binaires -pour diviser la fréquence d'un signal logique par 2 m Page 1 FONCTION COMPTAGE BINAIRE

Plus en détail

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Cours de Programmation Impérative: Zones de mémoires et pointeurs Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - david@lipn.univ-paris13.fr Julien David (A101 - david@lipn.univ-paris13.fr) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Structure de base d un ordinateur

Structure de base d un ordinateur Structure de base d un ordinateur 1-Définition de l ordinateur L ordinateur est un appareil électronique programmable qui traite automatiquement les informations. Il est constitué de l unité centrale et

Plus en détail

Initiation au binaire

Initiation au binaire Présenté par TryEngineering Objet de la leçon Cette leçon explique les principes du code binaire et ses applications possibles par les ingénieurs informaticiens. Dans cette leçon, les élèves réaliseront

Plus en détail

Manuel d utilisation pour David GD-04

Manuel d utilisation pour David GD-04 Manuel d utilisation pour David GD-04 Table des matières Le GD-04 «David» communicateur GSM... 3 1) Description de l appareil :... 3 2) La carte Sim... 4 3) Installation... 4 4) Branchement et installation

Plus en détail

Une version javascript sera disponible directement dans le cours prochainement.

Une version javascript sera disponible directement dans le cours prochainement. Author : Cédric Vanconingsloo Ce cours est principalement axé sur la compréhension du fonctionnement d'un ordinateur et l'étude du seul langage qu'il connaisse, le binaire. De ce fait, le cours est relativement

Plus en détail

RECOMMANDATION 30 ASSURANCES AUTOMOBILES : CARTE VERTE

RECOMMANDATION 30 ASSURANCES AUTOMOBILES : CARTE VERTE RECOMMANDATION 30 ASSURANCES AUTOMOBILES : CARTE VERTE 1. Contexte 1.1. L'évolution des relations entre les courtiers et les compagnies qui se traduit par des délégations de pouvoir en matière d'émission

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

ROYAUME DU MAROC RESUME THEORIQUE & GUIDE DE TRAVAUX PRATIQUES : TERTIAIRE ET NTIC : SYSTÈME ET RÉSEAUX INFORMATIQUES

ROYAUME DU MAROC RESUME THEORIQUE & GUIDE DE TRAVAUX PRATIQUES : TERTIAIRE ET NTIC : SYSTÈME ET RÉSEAUX INFORMATIQUES .1.1 ROYAUME DU MAROC OFPPT Office de la Formation Professionnelle et de la Promotion du Travail DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR TERTIAIRE RESUME THEORIQUE & GUIDE DE TRAVAUX PRATIQUES

Plus en détail

Chapitre 1 : La gestion dynamique de la mémoire

Chapitre 1 : La gestion dynamique de la mémoire Chapitre 1 : La gestion dynamique de la mémoire En langage C un programme comporte trois types de données : Statiques; Automatiques ; Dynamiques. Les données statiques occupent un emplacement parfaitement

Plus en détail

Organisation des Ordinateurs

Organisation des Ordinateurs Organisation des Ordinateurs Bernard Boigelot E-mail : boigelot@montefiore.ulg.ac.be URL : http://www.montefiore.ulg.ac.be/~boigelot/ http://www.montefiore.ulg.ac.be/~boigelot/cours/org/ 1 Chapitre 1 Les

Plus en détail

Informatique Industrielle Année 2004-2005. Architecture des ordinateurs Note de cours T.Dumartin

Informatique Industrielle Année 2004-2005. Architecture des ordinateurs Note de cours T.Dumartin Informatique Industrielle Année 2004-2005 Architecture des ordinateurs Note de cours T.Dumartin 1 GENERALITES 5 1.1 INTRODUCTION 5 1.2 QU ENTEND-T-ON PAR ARCHITECTURE? 5 1.3 QU EST CE QU UN MICROPROCESSEUR?

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

PIC 16F84. Philippe Hoppenot

PIC 16F84. Philippe Hoppenot Département GEII PIC 16F84 Philippe Hoppenot hoppenot@lsc.univ-evry.fr http://lsc.univ-evry.fr/~hoppenot/presentationfrancaise.html Ce cours sur le PIC est dispensé en licence professionnelle Concepteurs

Plus en détail

Manuel d'installation de GESLAB Client Lourd

Manuel d'installation de GESLAB Client Lourd Manuel d'installation GESLAB Client Lourd Référence Date de la dernière mise à jour Rédigé par Objet GESLAB_MINS_TECH_Manuel d'installation GESLAB Client 15/04/2013 Steria Manuel d'installation de GESLAB

Plus en détail

Architecture des ordinateurs. Robin FERCOQ fercoq@ece.fr

Architecture des ordinateurs. Robin FERCOQ fercoq@ece.fr Architecture des ordinateurs Robin FERCOQ fercoq@ece.fr 1 Objectifs Introduction aux systèmes informatiques Introduction aux fondamentaux de l'informatique Codage binaire de l'information, quantité d'info.

Plus en détail

Fonctionnement et performance des processeurs

Fonctionnement et performance des processeurs Fonctionnement et performance des processeurs Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Fonctionnement des processeurs Unités de calcul

Plus en détail

TARGET SKILLS PlanningPME

TARGET SKILLS PlanningPME PlanningPME Planifiez en toute simplicité TARGET SKILLS PlanningPME Manuel d installation Ce document décrit l'installation du logiciel PlanningPME. Copyright 2002-2008 TARGET SKILLS. Tous droits réservés.

Plus en détail