©Pierre Marchand, 2001 87 Objectifs : Vous apprendrez comment sont implantées les structures de contrôle des langages de haut niveau. Pour y arriver, vous.

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Prmt For imbriqués.
Reporting de la Cellule Nationale Droit dOption Situation au 31 décembre 2011.
[number 1-100] There is no rule to the way to remember the names for the numbers 1 to 10 in French so we recommend that you simply practice!
OBJECTIF: Arrondir un grand nombre. Objective: Round-Off numbers.
Le passé composé des verbes réfléchis
Les propositions avec si
Les Articles Indéfinis
Rappels de C ECP – Option SA Henri Fallon. Objectifs Théorie + pratique Compréhension générale du langage Repartant « du début » Pour ceux qui savent.
B Les expressions interrogatives avec qui p. 108 Quest-ce quon fait? 3 3 UNITÉ Quit Un concert de musique africaine 8 8 LEÇON A Les questions dinformation.
Formation C débutant. Notion de compilation source.c executable Phase de compilation Fichier de texte brut, inexploitable directement par la machine Fichier.
Lire et écrire les valeurs de positions décimales Objectif.
QCA Unit 16 – Scène de Plage (part 3a – extended sentences) Jo Rhys-Jones - Kingswear Primary School 2008.
Leçon 6 – la page 40 jusquà la page 43 NOUNS Nouns referring to _____ or _____ areNouns referring to _____ or almost always ________________are almost.
Par Madame Cook. When put into the passé composé, the reflexive verbs are always conjugated with être. Je me brosse les dents. Je me suis brossé les dents.
Sayada le 03 Mars 2009 Réalisé par : Mr. SOUISSI Chaouki
A Le verbe être et les pronoms sujets p. 84 Être (to be) is the most frequently used verb in French. Note the forms of être in the chart below. être to.
Mercredi le 28 novembre. Warm-up Ask in 3 different ways the following statements: John et Sophie sont à lécole.
A. Le subjonctif: formation irrégulière p. 86
Rappels de C ECP – Option SA Henri Fallon. Objectifs Théorie + pratique Compréhension générale du langage Repartant « du début » Pour ceux qui savent.
Exercice 1 1 (père) et 1 (fils) 1 (père) et 0 (fils)
High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction.
Révision (p. 130, texte) Nombres (1-100).
What does en mean? The object pronoun en usually means some or of them.
Système d’exploitation : Assembleur
Course Design Task Activité de conception de cours de formation.
10 Copyright © Oracle Corporation, Tous droits réservés. Autres concepts relatifs aux déclencheurs.
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Cours VHDL Chap 3: sémantique VHDL
IMAGINE John LENNON (Pour que les paroles écrites correspondent à la chanson, laissez les pages se dérouler sans intervenir)
Le conditionnel. -ais-ions -ais-iez -ait-aient Les fins.
Le fantooôme du futur © French 103 Reg/irreg Le conditionnel What one WOULD do FORMATION= FUTURE INFINITIVES + IMPARFAIT ENDINGS.
LE MICROPROCESSEUR 8086/8088 Architecture externe du 8086
SEG 3601 Élaboration de cas d'utilisation avec UCEd
Pôle Evaluation Bilan de la journée SPIRAL CONNECT 2010.
Master 1 SIGLIS java Lecteur Stéphane Tallard Chapitre 4 – Structures de contrôle.
140 ans Dune entreprise familiale à… Une famille dentreprises.
Structures de données IFT-2000 Abder Alikacem La librairie STL du C++ Département dinformatique et de génie logiciel Édition Septembre 2009.
CLS algorithm Step 1: If all instances in C are positive, then create YES node and halt. If all instances in C are negative, create a NO node and halt.
Chapitre 8 Structure de contrôle.
Introduction au Langage C
CSI 1502 Principes fondamentaux de conception de logiciels
A Les questions d’information p. 106 The questions below ask for specific information and are called INFORMATION QUESTIONS. The INTERROGATIVE EXPRESSIONS.
A Les verbes en -er: le singulier p. 94 The basic form of a verb is called the infinitive. Many French infinitives end in -er. Most of these verbs are.
A Compare the forms of the adjectives in heavy print as they
Integer Caratheodory theorems. Linear Caratheodory Given A={a 1,…, a n } IR d. For all v cone(A) there exists B A, |B| d st v cone(B) Proof : Si A nest.
Structures alternative et répétitive
Système d’exploitation : Assembleur
LANGAGE PASCAL Introduction rapide….
Let’s revise!! 1 Take your road map 2 Read it again Objectifs linguistiques: Mots interrogatifs + intonation des questions Present perfect Will + would.
23/03/05SE Info2 - S. L'haire UNIGE1 TP 7 PROCEDURE Inserer(VAR a, crt : AgendaPtr; j, h : INTEGER; IN s : Chaine); VAR nouveau, temp : AgendaPtr; BEGIN.
Calcul de Factoriel Code prit sur . 15/02/09
Les pronoms interrogatifs. Step 1: avec des prépositions  If the expression requires a preposition, the choices of pronouns differ  Common prepositions:
Le meilleur joueur de basket-ball américain
Les Contrôles Page 1. Page 2 If … Elseif... Endif If … Endif if (i=5 and j
70 : 72 : soixante -dix : soixante -douze: Le nombre du jour :73
Présentation des joueurs de l’ASM
Architecture interne du microprocesseur 8086.
Cours Architecture des Systèmes Informatiques
Architectures des ordinateurs
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 4.
Les structures de contrôle
UE MAREP Cours 5 : Structures de contrôle représentées en assembleur
Les instructions de contrôle
- 5  3 = ? - 5  ( - 9) = ? 6  (- 9) = ? (– 35)  (– 2) = ?
Nicolas Ribot Introduction aux triggers Nicolas Ribot - Licence GNU FDL - Version 1.1.
Master 1ère année Sécurité des Systèmes d’Information 1 Programmation en shell.
Negative sentences Questions
@Pierre Marchand, IFT Semaine 04 Programmation système.
Département Informatique Gestion du flux d’exécution Laurent JEANPIERRE D’après le cours de Pascal FOUGERAY IUT de CAEN – Campus 3.
Transcription de la présentation:

©Pierre Marchand, Objectifs : Vous apprendrez comment sont implantées les structures de contrôle des langages de haut niveau. Pour y arriver, vous aurez atteint les objectifs suivants : - savoir implanter les structures if-then-else, for, while, switch. - décrire comment les branchements s'effectuent en fonction de la valeur des indicateurs. Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.1 Principales structures de contrôle Saut inconditionnel jmpétiquette; continue lexécution à étiquette Sauts conditionnels jeétiquette; jump if equal jlétiquette; jump if less jleétiquette; jump if less or equal jgétiquette; jump if greater jgeetiquette; jump if greater or equal Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.1 Principales structures de contrôle Autres sauts conditionnels jneétiquette; jump if not equal jnlétiquette; jump if not less = jge jnleétiquette; jump if not less or equal = jg jngétiquette; jump if not greater = jle jngeetiquette; jump if not greater or equal = jl Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.1 Principales structures de contrôle if (a > b) {if:cmpa,b …jngelse… }… else{jmpendif …else:…… } …endif:… Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.1 Principales structures de contrôle if (a > b) && (c <= d) {if:cmpa,b …jngendif …cmpc,d }jnleendif…...… endif:… … Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.1 Principales structures de contrôle while (a > b) {while:cmpa,b …jleendwhile… }… jmpwhile endwhile:… Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.1 Principales structures de contrôle for (i = 1; i <= 10; i++) {for:movi,1 …jmptest …next:…… }inci …test:cmpi,10 jlenext endfor:… Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.1 Principales structures de contrôle switch (i) {switch: case 1:…case1:cmpi,1 …jnecase2 … break; jmpendswitch case 2:… case2:cmpi,2... jnedefault … break; jmpendswitch default:…default:… }endswitch:... … Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements Lors d'une comparaison, par exemple cmp a,b, le processeur effectue la soustraction a – b et positionne les indicateurs selon le résultat de l'opération. Les indicateurs qui nous intéressent ici sont : ZF = zero flag = 1 si le résultat est nul, sinon ZF = 0, CF = carry flag = 1 si une retenue est générée, sinon CF = 0, SF = sign flag = 1 si le résultat est négatif, sinon SF = 0, OF = overflow flag = 1 s'il y a débordement de capacité, sinon OF = 0 On rappelle quun débordement de capacité se produit seulement si les deux opérandes sont de même signe et que le résultat de lopération est de signe différent. Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements Pour mieux comprendre comment ces indicateurs sont affectés, examinons ce qui se passe lors d'une addition. Cas ExempleSFZFOFCF 1.P + P = P = P+ P = N * = P+ N = P70 + F0 = P+ N = N = E N+ N = P *A = N+ N = NF0 + E0 = D01001 Les nombres sont en hexadécimal * Pas possible en arithmétique ordinaire Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements Voyons maintenant ce qui se passe lors d'une soustraction (comparaison) : Cas Exemple*SFZFOFCF 1.P - P = P = P - P = N = E P - N = P50 - F0 = P - N = N * = A N - P = P *B = N - P = NA = N - N = PC0 - A0 = N - N = NA0 - F0 = B01001 Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements A > B non signé Exemple CasSFZFOFCF A > 0 et B > = 40P - P = P0000 A = 70N - P = P0010 A = 80N - P = N1000 A < 0 et B < = 10N - N = P0000 Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements On peut dériver de la sorte les conditions suivantes pour des quantités non signées : a (above)ZF = 0 et CF = 0 ae (above or equal)CF = 0 b (below) CF = 1 be (below or equal)CF = 1 ou ZF = 1 Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements Cas de quantités signées en complément à 2 : A > B signé Exemple CasSFZFOFCF A > 0 et B > 0: = 40P - P = P0000 A > 0 et B < 0: 50 - F0 = 60P - N = P0001 A > 0 et B < 0: = C0P - N = N1011 A < 0 et B < 0: F = 60N - N = P0000 Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements Cas de quantités signées en complément à 2 : On peut ainsi dériver les conditions suivantes pour les quantités signées : g (greater) ZF = 0 et SF = OF ge (greater or equal)SF = OF l (less)SF OF le (less or equal)ZF = 1 ou SF OF Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements Il faut bien prendre garde d'utiliser le bon branchement selon le type de données considéré. En C, les variables sont signées par défaut. Pour avoir des variables non signées, on utilise la déclaration unsigned. Exemples : unsigned char x;0 x 255 unsigned short y;0 y unsigned long z; 0 z char x;-128 x 127 short y; y long z; z Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements En assembleur, cest le type de branchement, signé ou non signé qui détermine le comportement signé ou non signé des opérations. Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements Branchements inconditionnels call; appel de sous-programme jmp; saut ret, retn, retf, iret; retour (near, far), retour dinterrution Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements Branchements conditionnels simples je; jump if equal: ZF = 1 jne; jump if not equal:ZF = 0 jz; jump if zero: ZF = 1 jnz; jump if not zero:ZF = 0 Exemple : testeax, eaxou cmpeax, 0 jezero Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements Branchements conditionnels non signés ja; jump above (x > y non-signé )CF = 0 & ZF = 0 jna; jump not above = jbe jae; jump above or equalCF = 0 jnae; jump not above or equal = jb jb; jump below (x < y non-signé) CF = 1 jnb; jump not below = jae jbe; jump below or equal CF = 1 | ZF = 1 jnbe; jump not below or equal = ja Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements Branchements conditionnels signés jg; jump greater (x > y signé) SF = OF & ZF = 0 jng; jump not greater SF OF & ZF = 1 jge; jump greater or equal SF = OF jnge; jump not greater or equal = jl jl; jump less (x < y signé) SF OF jnl; jump not less = jge jle; jump less or equal SF OF jnle; jump not less or equal = jg Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements Branchements sur les indicateurs jc; jump if carry: CF = 1 jnc; jump if not carry: CF = 0 jo; jump if overflow: OF = 1 jno; jump if not overflow: OF = 0 jp; jump if parity: PF = 1 jnp; jump if not parity:PF = 0 jpo; jump if parity odd: PF = 0 js; jump if sign: SF = 1 (negative) jns; jump if no sign:SF = 0 Unité A3: Structures de contrôle

©Pierre Marchand, Structures de contrôle 5.2 Branchements Branchements conditionnels sur compteur C jcxz; jump if cx = 0 jecxz; jump if ecx = 0 Unité A3: Structures de contrôle