(&mut self, addr: u64)
| 24 | /// Every component in the memory hierarchy must implement this. |
| 25 | pub trait MemoryAccess { |
| 26 | fn read_byte(&mut self, addr: u64) -> Result<u8, VmError>; |
| 27 | fn read_halfword(&mut self, addr: u64) -> Result<u16, VmError> { |
| 28 | let lo = self.read_byte(addr)? as u16; |
| 29 | let hi = self.read_byte(addr + 1)? as u16; |
| 30 | Ok(lo | (hi << 8)) |
| 31 | } |
| 32 | fn read_word(&mut self, addr: u64) -> Result<u32, VmError> { |
| 33 | let lo = self.read_halfword(addr)? as u32; |
no test coverage detected