diff --git a/src/simulator/mem_cmp.rs b/src/simulator/mem_cmp.rs new file mode 100644 index 0000000..7da05f7 --- /dev/null +++ b/src/simulator/mem_cmp.rs @@ -0,0 +1,60 @@ +/* TRUCS MANQUANT +* Verifier qu'il y a un nombre pair de caractere hexa dans la ligne correspondante d'une section du fichier source +* Sinon on ne peut pas automatiquement remplir chaque octect car 2 hexa = 1 octet +*/ + + + + +/* FORMAT FICHIER.TXT Représentant la mémoire apres éxecution d'un prog +* PC +* SP +* Section_1 +* Section_2 +* ... +* ... +* Section_n +*/ + +/* Chaque section se divise en 3 parties, sur 2 lignes de texte +* addr ESPACE len +* content +*/ + +//content est une suite hexadécimale + +//Section dans le fichier, champ String car informations proviennent d'un fichier txt +struct SectionFormat{ + addr: String, + len: String, + content: String, +} + +//Section dans le programme +struct Section{ + addr: usize, // adresse dans la mémoire + len: usize, // nombre d'octets de la donnée à addr + content: Vec, // la donnée en question +} + + + + +/* +* Voir si instanciation d'une structure deplace les valeurs "locales" à la méthode from, je sais plus .... + */ +impl Section{ + fn from(section: &SectionFormat) -> Section { + let mut content: Vec = Vec::new(); + let addr: usize = section.addr.parse().unwrap(); + let len: usize = section.len.parse().unwrap(); + + /* + * Remplissage de content + */ + + + Section{addr:addr, len:len, content:content} + } +} +