squelette mem_cmp
This commit is contained in:
parent
3762547402
commit
2d9c3f4ea3
60
src/simulator/mem_cmp.rs
Normal file
60
src/simulator/mem_cmp.rs
Normal file
@ -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<u8>, // 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<u8> = 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}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user