23/03/2009
1
Architecturedessystèmes à
processeurs – IUTGEII(ISI‐II2)‐3
ChristopheBLANC
www.christophe‐blanc.info
IUTdeMontluçon
Département Génie Electrique etInformatique
Industrielle
É
Architecturedessystèmes àprocesseurs
PROGRAMMATION STRUCTUR
É
EEN
ASSEMBLEUR
I.U.T.Montluçon—DépartementGénieElectriqueetInformatiqueIndustrielle—2
23/03/2009
2
•Structuresd ’aiguillages
Simples
PROGRAMMATION STRUCTURÉE EN
ASSEMBLEUR
Simples
Multiples
•Branchementconditionnel
Applicationaucodagede:
Si Alors Sinon
SelonQue
•Lesstructuresitératives
Boucle«TantQue»
Boucle« Jusqu ’àCeQue »
Bouclegénéralisée«Itérer»
Aiguillagesimple
STRUCTURESD ’AIGUILLAGES
SIMPLESOUMULTIPLES
Aiguillagemultiple(switch)
Si
SelonQue
Sélecteur
Vaut:
SelonQue
:
Sinon
Alors •ActionV
•ActionF
FinSi
V2:
V1:•Action1
•Action2
V3:•Action3
Autre:•ActionAutre
SelonQue
Sélecteur
Vaut:
FinSelonQue
Condition2:
Condition1:•Action1
•Action2
Condition3:•Action3
Autre:•ActionAutre
SelonQue :
FinSelonQue
!
Positionnerles
indicateursen
fonctiondestests
I.U.T.Montluçon—DépartementGénieElectriqueetInformatiqueIndustrielle—4
Instructiondecomparaison
Instructionarithmétique
•Sautconditionnel
–Auneadresserelative(JCnd)
•Conditions‘Cnd’
–Définiesdansletableausuivant
23/03/2009
3
INSTRUCTIONSDESAUTCONDITIONNEL
JUMPONCONDITION
Mnémonique:J’Cnd’ AdrSymb
Fonctionassurée
Si Conditioncc Vraie
Alors •PC<— AdrSymb
Sinon •PC<— Adr.ProchaineInst.
FinSi
I.U.T.Montluçon—DépartementGénieElectriqueetInformatiqueIndustrielle—5
APPLICATIONAU
CODAGEDE
SI ALORS SINON Etiquette Opération Opérande
SI CMP.B #00h,R0l
JNE
S
SINON
R0l.Bcontientlenumérod ’uneerreur
0≤NuméroErreur≤9
Faire:
•R1l.B=0siR0l.B=0
•R1l.B=1Autrement
JNE
.
S
SINON
ALORS MOV.B #00h,R1l
JMP FINSI
SINON MOV.B #01h,R1l
FINSI NOP
Algorithme
Alors •R1l.B=0
Sinon •R1l.B=1
SiRD0=0
FinSi
23/03/2009
4
APPLICATIONAUCODAGE
DE SELONQUE
e
0: •addition
Etiquette Opération Opérande
•SelonQue R0lvaut:
•………
Algorith
1:•max CAS0 CMP.B # 00h,R0l
JNE CAS1
JSR ADDITION
JMP FINSLQ
CMP.B # 01h,R0l
JNE CAS2
JSR max
JMP FINSL
Q
CAS1
2: •multiplication
Autre:•erreur
FinSelonQue
I.U.T.Montluçon—DépartementGénieElectriqueetInformatiqueIndustrielle—7
Q
CAS2 CMP.B # 02h,R0l
JNE CASAUTRE
JSR MULTIPLICATION
JMP FINSLQ
CASAUTRE JSR ERREUR
FINSLQ NOP
LESSTRUCTURESITÉRATIVES
(DÉJÀDÉFINIESENLANGAGEALGORITHMIQUE)
Boucle«Pour Ind variantde IndMin àIndMax Faire :•Action »
Pratiquementpasutiliséeenlangageassembleur
Sauf pour les «
Macro Assembleurs structurés
»
Sauf
pour
les
«
Macro
Assembleurs
structurés
»
TantQue Condition(vraie)Faire:•Action
Laconditionestévaluéeavant l’action
Laconditiondépenddel’action
Répéter •Action Jusqu ’àCeQue Condition(vraie)
Laconditionestévaluéeaprès l’action
L’actionestexécutéeaumoinsunefois
La condition dépend de l
’
action
I.U.T.Montluçon—DépartementGénieElectriqueetInformatiqueIndustrielle—8
La
condition
dépend
de
l
action
Bouclegénéralisée«Itérer »
«TantQue »et«Jusqu ’àCeQue »casparticuliersde«Itérer »
Intégrationtrèsefficace commeinstructiondanscertainsµP (ex:68k)
23/03/2009
5
BOUCLE«TANTQUE»
Organigramme Notationalgorithmique
•TantQue ConditionCFaire :
Début
Q
PrincipesducodageenAsm
Etiquette Opération Opérande
ConditionC
Action
FausseFausse
VraieVraie
Action
•Action
Début
Fin Comparaison
Vraie
Comparaison
Fausse
T
Q
I.U.T.Montluçon—DépartementGénieElectriqueetInformatiqueIndustrielle—9
ActionAction
………
TQ CMP Src,Dst
JNE FinTQ
……… ………;Action(s)
JMP TQ
FinTQ NOP ;FinduTantQue
FinTQ
BOUCLE«JUSQU’ÀCE
QUE »
OrganigrammeOrganigramme NotationalgorithmiqueNotationalgorithmique
•Répéter
JQCQ
Comparaison
Fausse
Action
ConditionC
VraieVraie
ActionAction
•Action
Jusqu’àceque ConditionC
PrincipesducodageenAsm
Etiquette Opération Opérande
………
JQCQ
;Action (s)
Comparaison
Vraie
JQCQ
I.U.T.Montluçon—DépartementGénieElectriqueetInformatiqueIndustrielle—10
FausseFausse
JQCQ
CMP Src,Dst
JNE JQCQ
……… ………
;
Action
(s)
……… ………;Action(s)
FinJQCQ NOP ;FinduJQCQ
FinJQCQ
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!