Таймерные уже работают. Вот список прерываний, тесты которых проходят:
6 - отсутствующий адрес памяти в новом режиме 7 - отрицательный номер страницы у команды 8 - отрицательный номер страницы у операнда 9 - программная интерпретация тега команды 10 - программная интерпретация тега операнда 11 - защита адреса при чтении 12 - контроль команды 13 - математический адрес равен нулю 14 - чужой регистр приписки при чтении/записи операнда 15 - чужой регистр приписки при выборке команд 16 - защита страницы при обращении 17 - защита страницы при записи 18 - защита выборки команды 19 - защита передачи управления 20 - защита адреса при записи 21 - чужой сумматор 22 - чужой операнд 23 - запрос модификации приоритетов страниц 28 - шаговое прерывание 26 - внешние прерывания 30 - часы 31 - таймер
Это забавная штука: прерывание для модификации приоритетов страниц.
Задумана хитрая схема приоритетов страниц (которая непонятно как должна работать). Есть два массива приоритетов страниц (ОЗУПС0 и ОЗУПС1). Для каждой страницы N ОЗУПС0 хранит номер страницы, предшествующей N по приоритету, а в ОЗУПС1 - номер страницы, следующей за N по приоритету. Периодически списки приоритетов надо модифицировать (программно). Для этого есть отдельный флагов БМСП. При обращении к странице, бит модификации которой равен 1, происходит прерывание “запрос модификации приоритетов страниц”.
Еще есть аппаратное ускорение заполнения массива БМСП единицами. По концу заполнения тоже возникает это прерывание.
no subject
no subject
В нём легко настроить подсветку синтаксиса под любой формат, чем я и пользуюсь.
no subject
no subject
6 - отсутствующий адрес памяти в новом режиме
7 - отрицательный номер страницы у команды
8 - отрицательный номер страницы у операнда
9 - программная интерпретация тега команды
10 - программная интерпретация тега операнда
11 - защита адреса при чтении
12 - контроль команды
13 - математический адрес равен нулю
14 - чужой регистр приписки при чтении/записи операнда
15 - чужой регистр приписки при выборке команд
16 - защита страницы при обращении
17 - защита страницы при записи
18 - защита выборки команды
19 - защита передачи управления
20 - защита адреса при записи
21 - чужой сумматор
22 - чужой операнд
23 - запрос модификации приоритетов страниц
28 - шаговое прерывание
26 - внешние прерывания
30 - часы
31 - таймер
Осталось доделать:
4 - программное прерывание
27 - останов
no subject
no subject
Задумана хитрая схема приоритетов страниц (которая непонятно как должна работать). Есть два массива приоритетов страниц (ОЗУПС0 и ОЗУПС1). Для каждой страницы N ОЗУПС0 хранит номер страницы, предшествующей N по приоритету, а в ОЗУПС1 - номер страницы, следующей за N по приоритету. Периодически списки приоритетов надо модифицировать (программно). Для этого есть отдельный флагов БМСП. При обращении к странице, бит модификации которой равен 1, происходит прерывание “запрос модификации приоритетов страниц”.
Еще есть аппаратное ускорение заполнения массива БМСП единицами. По концу заполнения тоже возникает это прерывание.
Подробности здесь: ссылка.
no subject