Arm variables et acces memoire
Introduction à l ? assembleur ARM variables et accès mémoire GIF- Ordinateurs Structure et Applications Hiver Jean-François Lalonde CRappel cycle d ? instructions Que fait le microprocesseur Lire aller chercher la prochaine instruction Décode décode l ? instruction détermine ce qu ? il y a à faire Exécute exécuter l ? instruction DÉCODE Décoder l ? instruction LIRE FETCH Aller chercher la prochaine instruction EXÉCUTE Exécuter l ? instruction CRappel instructions ? De quoi une instruction est-elle constituée ? ??Opcode ? ou code d ? opération code identi ?ant quelle instruction est e ?ectuée MOV LDR etc ? Paramètres un ou plusieurs dépendent de l ? opcode CL ? assembleur des instructions en mots ? Il est donc possible d ? écrire un programme en binaire si on sait comment représenter les instructions avec des ?? ? et des ?? ? Toutefois le processus est très pénible qui voudrait écrire x AB F EE FFA pour e ?ectuer l ? opération ??a b c ? ? Un assembleur est un programme qui traduit des mots en anglais dans un ?chier texte en instructions ? Exemple a b c MOV R x LDR R R MOV R x LDR R R ADD R R R MOV R x STR R R Adresse de la variable b Lire la variable b dans le registre R Adresse de la variable c Lire la variable c dans le registre R R R R Adresse de la variable c Écrire le registre R dans la variable a CPlan ? Cette semaine ? Déclarer des variables et leur a ?ecter des valeurs ? E ?ectuer des opérations mathématiques et logiques ? Les semaines prochaines ? Gérer la séquence des opérations avec des énoncés conditionnels et des boucles ? Appeler des fonctions diviser une t? che en sous-t? ches ? Gérer les évènements et les exceptions CRevenons à notre exemple d ? addition MOV R x LDR R R MOV R x LDR R R ADD R R R MOV R x STR R R Adresse de la variable b Lire la variable b dans le registre R Adresse de la variable c Lire la variable c dans le registre R R R R Adresse de la variable c Écrire le registre R dans la variable a ? Pas pratique ? d ? avoir à conna? tre les adresses de a b et c ? d ? avoir à utiliser deux instructions MOV puis LDR pour les charger ? Solution ? L ? assembleur nous permet de donner un nom à des adresses mémoires ce sont les constantes et les variables ? constante ne change pas ? variable peut changer CConstantes ?? syntaxe ? Déclarer une constante réserve de l ? espace en ROM nom DCss valeur ? ??nom ? est le nom de la constante ? ??DCss C constante ss indique la taille Par exemple ? DC constante de bits ? DC constante de bits ? ??valeur ? la valeur de la constante ? exemple a
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11701663690aokgubfkzxgnhvadpepvqtaugqsb4ifnzgquwwyvh1sgmkvvunrhxp8r9rpy2u273ohu5ehfkasimxyic3fs24dtzw3zwensp3ff.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11701711682cjryu7lhqtauslpue1xi3yo0kxwd98ymkkpik3arqgu18qxavcl2hz6cmgpdlxqskrahfcauu0dnmjrzmq6hzh46vntz9qqjtwfb.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/zA3reZTy3EALa760YwVihJTojd5Kql6c23BRecNYjp9JheOuSzZOVKh3XzzqpSDmTU4InTcGP7PbhBsjiLU5zVA7.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/HIHGDpU55nlrSHTDKs6jV9FqcQQvbVxoms5iIWSjNo1Kzj9tkDb6UG8B6ucixlv6zjMl5iyDGTasrTryWprsA6oV.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11701660476ep43b8rdxrq8jaoztpss0jzbqvsjecslf0cwgghqkdikoldpez0r2k8fpsjxl3krlwtsubzdhzf3fsfzhfnswmzdmyvmrbkgaohi.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/IRl9s9CRUx0gQbkD88yOADX6AOPQ7YngK3MsLCIuzfQ86qAF1kmptMJNyjtDYXaH6xbTPFeruWTG8mTNPHNOa2Mr.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/PVxRYPezJpwoXGEtVGs8HtAO3UodJzJKpIbj1sY8u1NPGlViOy6BV7NICUVvzslkiKpG1Wrd1zoa3mKWUxsoE8bL.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/N0J5vw6saAoKDRWehT5UBFDBITpA5VUb7ebodHZktjb6DFJeHqhvopj8Cw50YQm5dKrGaQ7QNna5hcrbccxiSPiV.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11701765344ygnfqrzlscxwz68ghiex3jxqhamorefuaihm8z0uebx0s614gcgutw5pburvjxgceams51apsjvjbw0bs1duivwsad33buoovjbz.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11701767798dg0kfqkpsz6j5sk8rjk06tgqlcxx2ngvt62hi8u3yqe5g2cytgjxu24cmxeaiymwhl0cf7jxoiskie7wkpr1shpupvln46urncgq.png)
-
36
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Jui 04, 2022
- Catégorie Law / Droit
- Langue French
- Taille du fichier 58.6kB