Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sde2:teme:tema_fr_3_rust [2022/04/25 22:45]
alexandru.radovici
sde2:teme:tema_fr_3_rust [2023/05/14 20:30] (current)
alexandru.radovici
Line 1: Line 1:
-====== Tema 3 Rusty Loader ​======+====== Tema 4 Rustyloader ​======
  
 ===== Informatii ===== ===== Informatii =====
  
 <note important>​ <note important>​
-Date limite: ** Le 10 mai, 23h59 ** \\+Date limite: ** Le 30 mai, 23h59 ** \\
 Note: ** 2 points ** de la note \\ Note: ** 2 points ** de la note \\
-Lien: [[https://​classroom.github.com/​a/​NenM8B_7|Devoir ​3]] \\+Lien: [[https://​classroom.github.com/​a/​5CBIdgHi|Devoir ​4]] \\
 Télécharger en retard: **2 points / jour** (maximum 4 jours)\\ Télécharger en retard: **2 points / jour** (maximum 4 jours)\\
 </​note>​ </​note>​
Line 35: Line 35:
  
   * Își va inițializa structurile interne.   * Își va inițializa structurile interne.
 +  * Va afisa pe stderr (2) lista de segmente ale fisierului executabil
 +  * Va afisa pe stderr (2) //base address// pentru fisierul executabil (adresa de memorie minima la care se incarca segmente)
 +  * Va afisa pe stderr (2) //entry point address//
   * Va parsa fișierul binar - pentru a face asta aveți la dispozitie biblioteca [[https://​docs.rs/​object/​latest/​object/​|object]].   * Va parsa fișierul binar - pentru a face asta aveți la dispozitie biblioteca [[https://​docs.rs/​object/​latest/​object/​|object]].
   * Va rula prima instrucțiune a executabilului (//entry point-ul//​).   * Va rula prima instrucțiune a executabilului (//entry point-ul//​).
Line 45: Line 48:
   * Pagina trebuie mapată **fix** la adresa indicată în cadrul segmentului.   * Pagina trebuie mapată **fix** la adresa indicată în cadrul segmentului.
  
 +
 +==== Formatul afisarii ====
 +<​code>​
 +Segments
 +#       ​address ​        ​size ​   offset ​ length ​ flags
 +0       ​0x8048000 ​      ​1012 ​   0x0     ​1012 ​   r-x
 +1       ​0x804a000 ​      ​8192 ​   0x1000 ​ 8192    rw-
 +Entry point 8048120
 +Base address 8048000
 +</​code>​
 +
 +<​note>​
 +Alinierea campurilor se face cu TAB (\t). Daca alinierea nu este buna, adaugati doua caratere TAB.
 +</​note>​
  
 ===== Biblioteca object ===== ===== Biblioteca object =====
sde2/teme/tema_fr_3_rust.1650915944.txt.gz · Last modified: 2022/04/25 22:45 by alexandru.radovici
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0