Добрый день!
Речь идет не о банальных опечатках, а о более глобальных ошибках.
Например, вот фрагмент кода, который формирует секундную задержку для микроконтроллера AT90S1200. Кварц на 2.4576 МГц.
Код
ldi Count30,30
ldi Mark80,80
TimeLoop:
out TCNT0,temp
cp temp,Mark80
brne TimeLoop
subi Mark80,-80
dec Count30
brne TimeLoop
Понимаю, что вместо out TCNT0,temp должно быть in temp,TCNT0. Быстрей всего это косяк переводчика. Но насколько работоспособен сам принцип формирования такой задержки? Насколько я понял, таймер считает до 255 и начинает заново, значит после 3-х циклов, когда Mark80 превысит значение 255 равенства не наступит. Правильно ли я понимаю, или есть какие-то особенности?