Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
а как же команда CJNE в mcs51. Опять же декремент хорош только при счете до 0 или -1. Или где вероятность (+):
Отправлено
argus98
03 июля 2008 г. 17:04
В ответ на:
В подавляющем большинстве ядер операция декремента выставляет флаги переноса/нуля, тем самым как бы параллельно выполняя еще и операцию сравнения с нулем. Поэтому второй и третий варианты будут оптимальнее вне зависимости от муд..рости компилятора
отправлено MBedder 03 июля 2008 г. 16:43
что компиляторописатель не напишет такую конструкцию:
dec Rx
cpi Rx,0
brne...
или
dec Rx
clr Ry
cpse Rx,Ry
rjmp...
Составить ответ
|
Вернуться на конференцию
Ответы
Ну так я как раз об этом и талдычу - надо делать так, чтобы избежать дополнительного сравнения с ЧИСЛОМ за счет халявного сравнения с НУЛЕМ
—
MBedder
(03.07.2008 17:08:53
80.92.96.19
,
пустое
)
Кстати, в х51 будет точно так же, как я привел для х86 - mov r0,#25; @: acall _job; djnz r0,@. А CJNE ничего не декрементирует, поэтому будет лишней (дополнительной) командой
—
MBedder
(03.07.2008 17:24:56
80.92.96.19
,
пустое
)
Всё равно от компиляторописателя больше зависит, особенно если счетчик цикла не однобайтовый (для 8бит МК). Тут простора для фантазии и рукоблудства гораздо больше :)
—
argus98
(03.07.2008 17:34:40
81.22.205.230
,
пустое
)
Вот для того, чтобы от разных тех туесосов не зависеть, я и пишу на АСМах :))
—
MBedder
(03.07.2008 17:40:13
80.92.96.19
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 6 на 2:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru