blob: 024699b8c64ef4da2c1b93940d590448945182f3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include "storage.h"
#include "definitions.h"
#include <algorithm>
std::vector<std::array<signed int, LINE_SIZE>>
Storage::view(int base, int lines)
{
base = (base / LINE_SIZE) * LINE_SIZE;
std::vector<std::array<signed int, LINE_SIZE>> ret(lines + 1);
std::copy(
this->data->begin() + base, this->data->begin() + base + lines,
ret.begin());
return ret;
}
void Storage::do_write(signed data, int address)
{
int line = address / LINE_SIZE;
int word = address % LINE_SIZE;
this->servicing = IDLE;
this->data->at(line).at(word) = data;
}
|