Цитата(koyodza @ Oct 14 2008, 22:26)

Никто, кроме пользовательской программы, ОЗУ не модифицирует. Но пользовательская программа, кроме всего прочего, ещё и из стартапа состоит, так что внимательно его просмотрите. Ну и учтите, что в 51 регистры находятся в озу - может, вы сигнатуру неудачно расположили, и она с регистрами пересекается.
Вообще маловато исходных данных: программа на С? Стартап стандартный? Где сигнатура портится, а где нет?
А то больше на конкурс телепатов похоже.
Я проверял все что мог, в том числе и то что вы указали.
Программа на асме. Тест идет практически сразу, уже после всякие инициализации, т.е. стартап помешать не может. Все переменные после 20-го адреса, регистры тоже отпадают. Сигнатура в 1-й половине ОЗУ. Сбоит если передвинуть адрес хоть на несколько байт. Кроме того моя программа сама попортить сигнатуру не может. Я отвел под неё нужный кусок памяти, и другие переменные залезть в неё не должны, а иначе и программа не работала бы.
Так что я сам сильно удивлён, ведь я такой приём с проверкой резета проводил несколько раз и раньше, но никаких глюков не наблюдал.
Могу ещё грешить на некий уникальный глюк процессора, т.к. для проверки имею в наличии один экземпляр платы.