Changes between Version 23 and Version 24 of Archi-1-TD9
- Timestamp:
- Nov 8, 2023, 4:03:40 PM (19 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Archi-1-TD9
v23 v24 130 130 ori $r, $r, 0x4321 // chargement des 16 bits de poids faible de 0x8765431 131 131 }}} 132 Réécrivez le code de la question précédente en utilisant `la` et `li` (C9 S 18)132 Réécrivez le code de la question précédente en utilisant `la` et `li` (C9 S34) 133 133 {{{#!protected ------------------------------------------------------------------------------------ 134 134 '' … … 163 163 '' 164 164 }}} 165 1. À quoi sert la directive `.globl label` dans un programme assembleur ? (C9 S 18)165 1. À quoi sert la directive `.globl label` dans un programme assembleur ? (C9 S34) 166 166 {{{#!protected ------------------------------------------------------------------------------------ 167 167 '' … … 245 245 } 246 246 }}} 247 1. Le fichier `kernel.ld` commence par la déclaration des variables donnant des informations sur les adresses et les tailles des régions de mémoire. Ces symboles n'ont pas de type et ils sont visibles de tous les programmes C. En regardant dans le dessin de la représentation de l'espace d'adressage, complétez les lignes de déclaration des variables pour la région `kdata_region`. Pour répondre, il faut savoir interpréter le dessin représentant l'espace d'adressage. (C9 S7+S 22+S23)247 1. Le fichier `kernel.ld` commence par la déclaration des variables donnant des informations sur les adresses et les tailles des régions de mémoire. Ces symboles n'ont pas de type et ils sont visibles de tous les programmes C. En regardant dans le dessin de la représentation de l'espace d'adressage, complétez les lignes de déclaration des variables pour la région `kdata_region`. Pour répondre, il faut savoir interpréter le dessin représentant l'espace d'adressage. (C9 S7+S38+S39) 248 248 {{{#!protected ------------------------------------------------------------------------------------ 249 249 '' … … 256 256 '' 257 257 }}} 258 1. Le fichier contient ensuite la déclaration des régions (dans `MEMORY{...}`), c'est-à-dire les segments d'adresse en mémoire qui seront remplies par l'éditeur de lien avec les sections trouvées dans les fichiers objets selon un ordre décrit dans la partie `SECTIONS{}` du `ldscript`. Complétez cette partie (la zone `[... question 2 ...]`) pour ajouter les lignes correspondant à la déclaration de la région `kdata_region` ? (C9 S 22+S23)258 1. Le fichier contient ensuite la déclaration des régions (dans `MEMORY{...}`), c'est-à-dire les segments d'adresse en mémoire qui seront remplies par l'éditeur de lien avec les sections trouvées dans les fichiers objets selon un ordre décrit dans la partie `SECTIONS{}` du `ldscript`. Complétez cette partie (la zone `[... question 2 ...]`) pour ajouter les lignes correspondant à la déclaration de la région `kdata_region` ? (C9 S38+S39) 259 259 {{{#!protected ------------------------------------------------------------------------------------ 260 260 '' … … 265 265 '' 266 266 }}} 267 1. Enfin le fichier décrit comment sont remplies les régions avec les sections. Complétez les lignes correspondant à la description du remplissage de la région `ktext_region`. Vous devez la remplir avec les sections `.text` issus de tous les fichiers.\\Il faut bien comprendre que `.ktext` est une section produite par l'éditeur de liens. C'est ce que l'on appelle une section de sortie. `.text` est une section que l'éditeur de liens trouve dans un fichier objet `.o`, c'est ce que l'on appelle une section d'entrée. Comme il y a plusieurs fichiers objet, on doit dire à l'éditeur de lien de prendre toutes les sections `.text` de tous les fichiers qu'on lui donne. (C9 S 22+S23)267 1. Enfin le fichier décrit comment sont remplies les régions avec les sections. Complétez les lignes correspondant à la description du remplissage de la région `ktext_region`. Vous devez la remplir avec les sections `.text` issus de tous les fichiers.\\Il faut bien comprendre que `.ktext` est une section produite par l'éditeur de liens. C'est ce que l'on appelle une section de sortie. `.text` est une section que l'éditeur de liens trouve dans un fichier objet `.o`, c'est ce que l'on appelle une section d'entrée. Comme il y a plusieurs fichiers objet, on doit dire à l'éditeur de lien de prendre toutes les sections `.text` de tous les fichiers qu'on lui donne. (C9 S38+S39) 268 268 {{{#!protected ------------------------------------------------------------------------------------ 269 269 ''