Кстати по поводу разницы. Когда-то давно я гонял команду SOB R0,. между двумя прерываниями таймера. Естественно все было синхронизировано, на первом прерывании запускался пустой цикл со значением R0 = 0 (т.е. фактически 65536), на втором прерывании смотрелось сколько отщелкало. Все это делалось в пультовом отладчике, так что никаких прерываний, окромя таймера и быть не могло. Так вот результаты капитально плавали, отличались подчас на несколько сотен. Вот так-то.