реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
aaarrr
сообщение Oct 28 2011, 20:53
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(ILYAUL @ Oct 29 2011, 00:38) *
CLI либо изменит состояние I, либо нет.

Представьте: прерывания уже были запрещены (и не просто так, наверное), выполнили CLI (которая ничего не изменила), прочитали регистры, а потом что?
Разрешить прерывание теперь - значит нарушить нормальный ход программы. Для этого и нужно сохранять состояние - чтобы была возможность вернуть процессор в исходное.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Oct 28 2011, 21:05
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



QUOTE (aaarrr @ Oct 29 2011, 00:53) *
Представьте: прерывания уже были запрещены (и не просто так, наверное), выполнили CLI (которая ничего не изменила), прочитали регистры, а потом что?
Разрешить прерывание теперь - значит нарушить нормальный ход программы. Для этого и нужно сохранять состояние - чтобы была возможность вернуть процессор в исходное.


Убедили biggrin.gif


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Nov 1 2011, 20:07
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Что-то у меня логика не сходится.
Пусть прерывание произошло между чтением младшего и старшего байта. Пока читается младший, старший , тихой сапой , переползает в регистр временного хранения. Прерывание сохраняет , полюбасу , следующую команду и тихо уходит по своим делам . Если в эти дела , таймер не замешан , то старший байт сидит и ждёт своей участи , торча там где ему и положено, счётчик считает. Все заняты своим делом.
Вернулись , прочитали старший байт - он не изменился. Т.е , если в прерывании timer не задействован , то нафинг запрещать прерывания перед чтением.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 1 2011, 20:22
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(ILYAUL @ Nov 2 2011, 00:07) *
Т.е , если в прерывании timer не задействован , то нафинг запрещать прерывания перед чтением.

В этом случае действительно ничего запрещать не надо.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Nov 1 2011, 20:34
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(aaarrr @ Nov 2 2011, 00:22) *
В этом случае действительно ничего запрещать не надо.


Спасибо


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 13:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.02007 секунд с 7
ELECTRONIX ©2004-2016