[an error occurred while processing this directive]
|
1. Что add что inc - по фиг. Короткий immediate в одно слово закодируется.
2. Адрес статических переменных известен, но загрузка по absolute adsress у этого проца жрет 2 слова команд и выполняется дольше. Считая, что впереди нас ждет write, компайлер все правильно сделал заюзав косвенную адресацию.
3.касаемо bfset - у него есть вариант с операндом-памятью, но выполняется это ровно столько же сколько
bfset #1,A1
move.b A1,X:(R0+0)
те же 4 клока.
Ну и стоило столько гнать из-за того, что компайлер загрузил промежуточный результат в другой аккумулятор, прибавил единицу и сравнил с ним? Может написать попроще надо было?
Тем более у моторов дофига сигнальников (например 56300) где bfset выполняется только с АЛУ.
E-mail: info@telesys.ru