![]() |
|
|
![]()
|
|
| Стас123 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 24.11.2011 Репутация: нет Всего: нет |
Как известно, вектор обработки немаскируемого прерывания для этого процессора находится по адресам 0008-000b, в которых должны быть прописаны сегмент и адрес (два слова = 4 байта).
Вопрос, почему после считывания первого слова проц возвращается на исходный адрес, и только затем считывает второе слова из вектора ? Вот конкретный кусок: сегмент)адрес - код 0)0008 70 0)0009 e0 0)000a 00 0)000b f0 ..... ..... f)e06a f4 f)e06b 90 ..... f)e070 xx Процессор после выполнения f4 по адресу e06a находится в останове, ожидая прерывания. При его поступлении, идёт на адрес 0008 и считывает новый адрес (e070), затем ВОЗВРАЩАЕТСЯ на e06b, затем идёт на 000a и считывает новый сегмент (f000), затем благополучно заносит всё что нужно в стек и переходит на f)e070. Т.е. всё вроде как надо работает, но в чём смысл этого "перескока" ? Я туда пока пустой код поставил (90), а что там ДОЛЖНО быть ? |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |