|
Вот что обнаружил я в некоторых ATMEGA128
;Считаем, что регистровая пара X указывает на ячейку
;внутренней памяти с адресом к примеру 0x200
cli
.........
ldi r16, 0xAA
st X, r16
; nop
ld r17, X
cp r16, r17
brne HUNG
.........
HUNG:
jmp HUNG
Так вот - при тестировании ячеек с адресом, кратным 0x100 - тест не
проходит (происходит переход на метку HUNG). Самый прикол - содержимое
регистров r16 и r17 _одинаково_, я потом это вижу. При этом если
раскомментарить nop - все будет работать. То есть ошибка даже не в
памяти, а в реализации операции сравнения. Похоже к моменту сравнения
в регистр r17 данные еще не попали.
Просьба сообщить мылом код недели процессора
E-mail: info@telesys.ru