23/03/2009
1
Architecturedessystèmes à
processeurs – IUTGEII(ISIII2)‐3
ChristopheBLANC
www.christopheblanc.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«TantQu
Boucle« Jusqu ’àCeQue »
Bouclegénéralisée«Itére
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«TANTQU
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 linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !