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