Создать обработчик исключений, имитирующий «виртуальную память» для любого «запрещённого» адреса — такого, чтение или запись машинного слова по которому приводило бы к LOAD_ACCESS_FAULT или STORE_ACCESS_FAULT. Исключение — адрес 0x00000000, он не поддерживается. Предлагается использовать таблицу вида «виртуальный» адрес:значение. Размер таблицы — 16 таких пар (т. е. 128 байтов). Можно использовать адрес 0 для обозначения пустой ячейки.

Это делается обработкой соответствующих двух исключений. Соблюдать конвенцию неприкосновенности регистров. К обработчику будет приписана следующая программа: PseudoVM.asm. Ввод и вывод полученной программы:

21
123
22
1234
20
1001
100500
1000
100
-70001
-70001
-70000
-70004
0

1234
100500
0
0
-70001


CategoryHomework

LecturesCMC/ArchitectureAssembler2024/Homework_PseudoVM (последним исправлял пользователь FrBrGeorge 2022-03-26 11:34:29)