Offтопик:

Сообщение от
Turbo_man
Это неверно. Для RJMP и RCALL надо PC+2, а для JMP и CALL надо PC+3. Или я опять неправильно вас понял? Вы излагаете свои мысли неоднозначно и как-то витиевато.
Почему так случилось... Я хорошо помню, что была проблема. Странная и не понятная. Пришлось потратить время на поиски того, что же случилось, т.к. учебнику по которому я изучал ассемблер, то же давал PC+2. Вопрос: c какой силой врезается в память такая проблема? При этом сопутствующие детали затмеваются, на фоне основной проблемы. За давностью события, твёрдо всего в мелочах помнить не возможно и особенно при постоянной работой над другими проектами. Ранее писал, что у меня редкое (по событиям) атрофируется за не надобностью. Позже, мне пришлось приложить усилия, что б вспомнить что, как и почему. Я написал на какой-то момент времени лишь то, что всплыло в памяти и именно по этому не писал высосанного из пальца. Я помнил что было, но как оно связано точно не помнил. На фоне проблемы не придал значения связям и уточнениям (теперь текст поправил). Согласитесь, что основной приоритет был в том, что б другие не потратили времени, на грабли на которые наступил я. А если б наступили другие, то стали бы ругать ассемблер по круче Леонида. Вопрос я решил, а позже получаю обвинение в том, что не понимаю того, что я решил!

Если б я ошибался, то на момент решения, то пропускал в силу не понимания... целые команды! Что согласитесь, было бы более чем странно. Заметили не логичность в изложении, спасибо. Исправил, теперь д.б. понятнее.

Сообщение от
Turbo_man
Там нечего проверять. Леонид прав. А упоминание циклов тактов всё только запутало. На них и вовсе необязательно смотреть. Только для рассчётов времени нужно это делать при выравнивании времени исполнения по разным веткам. Мне это не нужно. У меня таких задач и нет.
Тут вообще не понял. Я то писал "такты" и ни каких "циклов тактов", подразумевая равенство шагу "Cycle counter". Это так сильно путает? Тут для меня нет разницы, т.к. не работал на PIC-ах. А на AVR tiny, с чего начинал, нет CALL и JMP, т.ч. команды исполнялись за один шаг "Cycle counter", по этому крепко засело в мозгу. Или вы о чём-то другом? Всегда же можно прямо спросить: "Что вы имеете ввиду под тактами?" - я реально тут не вижу проблемы для понимания. Просто привычка так говорить.

Сообщение от
Leoniv
Поэтому совершенно четко известно, какое смещение требуется для пропуска любой команды - это ее длина в словах +1.
Разумеется есть чёткое указание в документе, но он у вас м.б. под рукой, а у новичка в AVR ассемблере? А правильный вопрос у него сформируется? Вот у меня хелп студии пишет "На данном компьютере содержимое не найдено.". А в книге на его столе об это точно где-то написано? Т.е. придти к этой информации можно, но не сразу. Только где говорят, что вам будет надо для изучения в полном объёме? Только на форумах помогут, если ещё и спрашивать правильно. Согласитесь, что приходится выцарапывать и спотыкаться?
Я думаю проблему обсосали со всех сторон и расставили точки над i. Я был не точен в изложении, исправил текст и был излишне горяч, возраст, нервы и характер портится. Соррь, не со зла. Жаль только то, что каша толком не варится, две страницы крайне не нужных обсуждений (по крайней мере для меня). Просто жаль тратить свою жизнь на подобное. Вопрос решался корректным уточнением, в размере одного-двух предложений.
Социальные закладки