Ассемблер (ASM) для AVR в вопросах и ответах
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Почитал, врубаюсь, но так и не понял до сих пор. А какое практическое применение может быть в использовании SP не по прямому назначению?
Или это в чистом виде теоретические исследования, которые до технологической стадии еще не дошли?
Или это в чистом виде теоретические исследования, которые до технологической стадии еще не дошли?
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Тут просто парни хотят накопать на Нобелевскую премию (или Шнобелевскую) в номинации "Особо извращенный изврат".
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Если нельзя, но очень хочется, значит можно.
Практическое применение - в нестандартном мышлении и принятии решения.
Практическое применение - в нестандартном мышлении и принятии решения.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Для указателя стека - определение/подтверждение границ действия. Ибо в техдокументации нет явного утверждения границ адресов ОЗУ для применения указателя стека, а область РСФ/РОН также заявлена производителем как "отображение на ОЗУ".ptr128 писал(а):Почитал, врубаюсь, но так и не понял до сих пор. А какое практическое применение может быть в использовании SP не по прямому назначению?
Или это в чистом виде теоретические исследования, которые до технологической стадии еще не дошли?
Для косвенной адресации РОН - практическая обработка малых массивов с максимальным быстродействием и/или косвенной адресацией. Дополнительная "плюшка" - возможность модификации обрабатываемого регистра в ходе обработки.
В принципе то же и для работы через память выполнимо, однако массивчик как область "сверхбыстрой" передачи параметров имеет некоторые преимущества.
Вобщем - дополнительный анализ рамок применения системы команд и способов адресации "на когда делать нечего".
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Ну это-то работает без проблем, многократно проверено. Например, в 1200 ОЗУ вообще нет, но косвенная адресация имеется. Правда, только через Z. Тут главное - косвенной адресацией сам регистр-указатель не задеть. Как говорил врач из фильма "Экипаж", вправляя пациенту вывихнутую челюсть: "Тут главное - руку вовремя отдернуть"BOB51 писал(а): Для косвенной адресации РОН - практическая обработка малых массивов
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
хорошо сказано, прямо в тему последних сообщений!Jack_A писал(а):Правда, только через Z
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Я же не сказал "через Ж"
В 1200 Z-регистр (R30) один, там нет ZH, вот через него и адресуем ячейку в регистровом файле.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
мелочные нюансы не меняют сути. через то самое - оно и есть через то самое 
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Код: Выделить всё
clz
clc
cp EncD_Plus, EncD_Minus ; сравнить две переменные
breq Ravno ; если равны, то переходим
brlo Menshe ; а если первая меньше, чем вторая, то переходим в другое место
nop ; иначе выполняем другой код.
Последний раз редактировалось СКАЗОЧНИК Вс окт 16, 2016 14:38:49, всего редактировалось 2 раза.
Станислав
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Почему оно должно не работать? Сброс флагов только тут лишнее.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Почему сброс лишнее?
Я же не знаю, какие они были до этого... 
Станислав
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Ассемблер (ASM) для AVR в вопросах и ответах
CPI установит флаги в по результаты операции, не важно что было перед этим. Щаззз ссылку найду как флаги устанавливаются для нее.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Да, только я подправил свой код. )))
Не CPI, а CP (хотя, для флагов не принципиально, они одинаково ставят)
Но и у меня в шпаргалке написано, что эта команда ставит все флаги. Но не написано, что она их сбрасывает....
Не CPI, а CP (хотя, для флагов не принципиально, они одинаково ставят)
Но и у меня в шпаргалке написано, что эта команда ставит все флаги. Но не написано, что она их сбрасывает....
Станислав
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Команды меняют! все флаги (кроме DEC и INC не трогающих C)
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Вот на CP. Для каждого флага есть булево выражение, чему будет он равен после выполнения команды.
Почти все команды меняющие флаг, его меняют всегда. Но не все.
Команда CPC, может не изменить флаг Z. В зависимости от его состояния перед командой и результатом команды. ADC такая же, SUBC или как там она пишется. Может еще есть.
---------------
UPD: Скорректировал вторую ссылку, а то чего то я там напутал.
Почти все команды меняющие флаг, его меняют всегда. Но не все.
Команда CPC, может не изменить флаг Z. В зависимости от его состояния перед командой и результатом команды. ADC такая же, SUBC или как там она пишется. Может еще есть.
---------------
UPD: Скорректировал вторую ссылку, а то чего то я там напутал.
Последний раз редактировалось Z_h_e Вс окт 16, 2016 15:00:26, всего редактировалось 1 раз.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Нет, всегда устанавливается, если равно.Z_h_e писал(а):Команда CPI, может не изменить флаг Z.
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Только что исправил ссылку. Думал одно, писал другое.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Да, я понял о чем разговор, если сравнение с переносом и уже сам нашел эту команду в левом списке (содержании) АВР.
Даже сравнивал их. Честно, не очень с английским. Да и с булевой алгеброй тоже.
Но более или менее можно разобраться.
Короче, сделал вывод. Если написано, что команда ставит флаги, то она не ставит их, а ВЛИЯЕТ на них, т.е. Ставит или Снимает в зависимости от результата операции.
Т.е. Если флаг и был установлен ранее (любой другой операцией или командой), то после того же CPI (например), этот флаг может быть сброшен.
Спасибо. Поубирал лишние строки.
Даже сравнивал их. Честно, не очень с английским. Да и с булевой алгеброй тоже.
Короче, сделал вывод. Если написано, что команда ставит флаги, то она не ставит их, а ВЛИЯЕТ на них, т.е. Ставит или Снимает в зависимости от результата операции.
Т.е. Если флаг и был установлен ранее (любой другой операцией или командой), то после того же CPI (например), этот флаг может быть сброшен.
Спасибо. Поубирал лишние строки.
Станислав
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Вот я тоже так думал и успешно пользовалсяСКАЗОЧНИК писал(а):Если написано, что команда ставит флаги, то она не ставит их, а ВЛИЯЕТ на них, т.е. Ставит или Снимает в зависимости от результата операции.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Да, есть команды, работающие с С-флагом предыдущей операции. ADC, SBC, SBCI, CPC

