Пока и так есть над чем подумать :)
...
Вот какую интересную "самодеятельность" показал контроллер:
1. После RESET регистр 176730 имеет значение 054 ( установлены BIT_5, BIT_3, BIT_2 csr ), а регистр 176732 - случайное значение в диапазоне 0..0377.Код:@176730/000054 @176730/000054 @176732/000376 ^ 176730/000044 @176732/000376 0^ 176730/000040 1 @176730/000054 @176732/000200 0^ 176730/000040 1 @176732/000200 ^ 176730/000044 @176732/000200 0^ 176730/000040 1 @176730/000054 1 @176730/000004 24 @176730/000004 @176732/000200 1^ 176730/000004 24 @176730/000044 @176732/000200 ^ 176730/000044 @176732/000200 0^ 176730/000040 1 @176730/000054 @176732/000200 1^ 176730/000040 1 @176730/000004 24 @176730/000044 @176732/000200 ^ 176730/000044 @176732/000200 0^ 176730/000040 1 @176730/000054
2. Запись в регистр 176730 после RESET изменяет его значение только в том случае, если в записываемом значении установлен BIT_0 - тогда сбрасываются BIT_5 и BIT_3 ( получается 176730/000004 ) и контроллер начинает ожидать записи в регистр 176732. Затем, если в регистр 176732 записан 0 - значение регистра 176732 изменяется со случайного на число 0200, а в регистре 176730 устанавливается BIT_5 ( получается 176730/000044 ).
3. После любого чтения регистра 176732 - сбрасывается BIT_3 регистра 176730 ( если сделать это сразу после RESET, то получается 176730/000044 ).
4. После любой записи в регистр 176732, когда контроллер не ожидает записи туда - сбрасывается BIT_2 регистра 176730 ( если сделать это сразу после RESET, то получается 176730/000040 ). Если записать в регистр 176732 значение 0 и после этого записать 1 ( т.е. BIT_0 ) в регистр 176730 - то в этом регистре установятся BIT_5, BIT_3 и BIT_2 ( получается 176730/000054 ).
Весьма похоже, что строчка
в драйвере - это запись кода команды в регистр 176732.Код:055276 Mov (SP)+, @20.(R3)





Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

