roboforum.ru

Технический форум по робототехнике.

Вопрос по ассемблеру для AVR

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Вопрос по ассемблеру для AVR

Сообщение Roman_tmb » 09 апр 2010, 10:22

Доброго времени суток!
Изучаю исходники одного девайса на меге88 (нужно доработать программу) и периодически встречается такая конструкция:
Код: Выделить всёРазвернуть
clr r16
in r16,SMCR

или
Код: Выделить всёРазвернуть
clr r16
in r16,PIND

В чем тайный смысл очистки регистра перед командой IN?
Roman_tmb
 
Сообщения: 5
Зарегистрирован: 29 апр 2009, 10:04
Откуда: Tambov
прог. языки: Object Pascal; M

Re: Вопрос по ассемблеру для AVR

Сообщение blindman » 09 апр 2010, 10:38

Нету никакого смысла.

Добавлено спустя 4 минуты 34 секунды:
Единственно если только задержки таким хитрым образом сделаны - но маловероятно
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Вопрос по ассемблеру для AVR

Сообщение Romikgy » 09 апр 2010, 13:25

может компилятор какой то при заведении переменой автоматом занулял ее
die Wahrheit ist irgendwo da draußen
Аватара пользователя
Romikgy
 
Сообщения: 750
Зарегистрирован: 15 ноя 2009, 13:37
Откуда: Porto Franco "Odessa"

Re: Вопрос по ассемблеру для AVR

Сообщение blindman » 09 апр 2010, 13:39

Это тогда очень "глупый" компилятор
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Вопрос по ассемблеру для AVR

Сообщение Roman_tmb » 09 апр 2010, 14:28

Не, это точно не компилятор.
Скорее это такой стиль программиста, писавшего код.
В общем, смело буду убирать подобные лишние команды :)
Roman_tmb
 
Сообщения: 5
Зарегистрирован: 29 апр 2009, 10:04
Откуда: Tambov
прог. языки: Object Pascal; M

Re: Вопрос по ассемблеру для AVR

Сообщение Romikgy » 10 апр 2010, 11:07

blindman писал(а):Это тогда очень "глупый" компилятор

низнаю насчет глупого ...
но насколько мне известно Delphi всегда зануляет все свои переменые... и там это считается нормальным действием :wink:
die Wahrheit ist irgendwo da draußen
Аватара пользователя
Romikgy
 
Сообщения: 750
Зарегистрирован: 15 ноя 2009, 13:37
Откуда: Porto Franco "Odessa"

Re: Вопрос по ассемблеру для AVR

Сообщение Duhas » 10 апр 2010, 11:19

в асме точно не имеет смысла занулять регистр в который следом читаешь... а CLR флаг Z не выставляет?
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Вопрос по ассемблеру для AVR

Сообщение blindman » 10 апр 2010, 20:23

Romikgy писал(а):низнаю насчет глупого ...
но насколько мне известно Delphi всегда зануляет все свои переменые... и там это считается нормальным действием :wink:

Ассемблерный листинг - в студию

Добавлено спустя 2 минуты 20 секунд:
Duhas писал(а):а CLR флаг Z не выставляет?

Выставляет
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Вопрос по ассемблеру для AVR

Сообщение Duhas » 10 апр 2010, 20:58

мб там флаг нужен далее по коду.. хотя зачем - опять де вопрос )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19