#include #include#includeusing namespace std;#define MEM_SIZE 32#define RAM_SIZE 16#define SWAP_SIZE 32static char ram[RAM_SIZE];static char Swap[SWAP_SIZE];map M;struct page_item { ata = i;end_list = &item[i];}}resent) {struct test_item * prev = first_list;struct test_item * cur = first_list->next;while (cur
= NULL){if (cur->data == laddr){prev->next = cur->next;cur->next = NULL;end_list->next = cur;end_list = cur;break;}prev = cur;cur = cur->next;}return page_table[laddr]
ram_addr;}odified) { am_addr];Swap[page_table[page]
swap_addr] = data;}page_table[page]
present = false;am_addr;page_table[laddr]
ram_addr = paddr;ram[paddr] = Swap[page_table[laddr]
swap_addr];page_table[laddr]
modified = false;page_table[laddr]
present = true;page_table[laddr]
access = 1;return paddr;}int mem_read(in