Fixed incorrect length and address readouts because of an incorrectly configured radix
This commit is contained in:
parent
2a3d8f3550
commit
0047b7d762
@ -39,8 +39,8 @@ impl Section {
|
|||||||
|
|
||||||
/// Creates a memory section from a SectionFormat
|
/// Creates a memory section from a SectionFormat
|
||||||
fn from(section: &SectionFormat) -> Section {
|
fn from(section: &SectionFormat) -> Section {
|
||||||
let addr = usize::from_str_radix(§ion.addr, 16).unwrap_or_default();
|
let addr = usize::from_str_radix(§ion.addr, 10).unwrap_or_default();
|
||||||
let len = usize::from_str_radix(§ion.len, 16).unwrap_or_default();
|
let len = usize::from_str_radix(§ion.len, 10).unwrap_or_default();
|
||||||
let content: Vec<u8> = section.content.as_bytes().chunks(2).map(|x| {
|
let content: Vec<u8> = section.content.as_bytes().chunks(2).map(|x| {
|
||||||
u8::from_str_radix(std::str::from_utf8(x).unwrap_or_default(), 16).unwrap_or_default()
|
u8::from_str_radix(std::str::from_utf8(x).unwrap_or_default(), 16).unwrap_or_default()
|
||||||
}).collect();
|
}).collect();
|
||||||
@ -168,9 +168,7 @@ impl MemChecker{
|
|||||||
machine.int_reg.set_reg(2, m_c.sp as i64);
|
machine.int_reg.set_reg(2, m_c.sp as i64);
|
||||||
machine.pc = m_c.pc as u64;
|
machine.pc = m_c.pc as u64;
|
||||||
|
|
||||||
|
|
||||||
for section in m_c.sections.iter() {
|
for section in m_c.sections.iter() {
|
||||||
|
|
||||||
for (i,b) in section.content.iter().enumerate() {
|
for (i,b) in section.content.iter().enumerate() {
|
||||||
machine.main_memory[section.addr + i] = *b;
|
machine.main_memory[section.addr + i] = *b;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user