Используете доп. 3 переменных в ОЗУ. Адрес текущей проверяемой ячейки, данные в ней, флаг валидности.
Проверка каждой ячейки представляет из себя сохранение адреса и содержимого ячейки в вышеописанных переменных и установка флага валидности (именно в таком порядке). Потом тест. Потом восстановление содержимого ячейки и сброс флага валидности.
Если произойдет сброс во время теста, то при установленном флаге валидности востанавливаете текущую тестируемую ячейку.
А вообще это способ себе ноги простреливать, через ресет поднимать состояние из внешнего озу.
PS Лично я рассматриваю эти тесты исключительно как отмазку при разного рода сертификационных испытаниях на соответствие каким-либо требованиям, в которых прописано - вот нужен тест, и писец. Ну и пусть будет, мне не жалко.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|