roboforum.ru

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

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

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

Roman_tmb » 09 апр 2010, 10:22

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

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

В чем тайный смысл очистки регистра перед командой IN?

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

blindman » 09 апр 2010, 10:38

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

Добавлено спустя 4 минуты 34 секунды:
Единственно если только задержки таким хитрым образом сделаны - но маловероятно

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

Romikgy » 09 апр 2010, 13:25

может компилятор какой то при заведении переменой автоматом занулял ее

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

blindman » 09 апр 2010, 13:39

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

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

Roman_tmb » 09 апр 2010, 14:28

Не, это точно не компилятор.
Скорее это такой стиль программиста, писавшего код.
В общем, смело буду убирать подобные лишние команды :)

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

Romikgy » 10 апр 2010, 11:07

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

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

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

Duhas » 10 апр 2010, 11:19

в асме точно не имеет смысла занулять регистр в который следом читаешь... а CLR флаг Z не выставляет?

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

blindman » 10 апр 2010, 20:23

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

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

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

Выставляет

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

Duhas » 10 апр 2010, 20:58

мб там флаг нужен далее по коду.. хотя зачем - опять де вопрос )


Rambler\'s Top100 Mail.ru counter