Страница 281 из 400
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср окт 12, 2016 16:31:29
ptr128
Почитал, врубаюсь, но так и не понял до сих пор. А какое практическое применение может быть в использовании SP не по прямому назначению?
Или это в чистом виде теоретические исследования, которые до технологической стадии еще не дошли?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср окт 12, 2016 20:45:33
dimmer
Тут просто парни хотят накопать на Нобелевскую премию (или Шнобелевскую) в номинации "Особо извращенный изврат".
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт окт 13, 2016 07:43:57
trofim2
Если нельзя, но очень хочется, значит можно.
Практическое применение - в нестандартном мышлении и принятии решения.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт окт 13, 2016 08:56:50
BOB51
ptr128 писал(а):Почитал, врубаюсь, но так и не понял до сих пор. А какое практическое применение может быть в использовании SP не по прямому назначению?
Или это в чистом виде теоретические исследования, которые до технологической стадии еще не дошли?
Для указателя стека - определение/подтверждение границ действия. Ибо в техдокументации нет явного утверждения границ адресов ОЗУ для применения указателя стека, а область РСФ/РОН также заявлена производителем как "отображение на ОЗУ".
Для косвенной адресации РОН - практическая обработка малых массивов с максимальным быстродействием и/или косвенной адресацией. Дополнительная "плюшка" - возможность модификации обрабатываемого регистра в ходе обработки.
В принципе то же и для работы через память выполнимо, однако массивчик как область "сверхбыстрой" передачи параметров имеет некоторые преимущества.
Вобщем - дополнительный анализ рамок применения системы команд и способов адресации "на когда делать нечего".

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Чт окт 13, 2016 09:31:08
Jack_A
BOB51 писал(а):
Для косвенной адресации РОН - практическая обработка малых массивов
Ну это-то работает без проблем, многократно проверено. Например, в 1200 ОЗУ вообще нет, но косвенная адресация имеется. Правда, только через Z. Тут главное - косвенной адресацией сам регистр-указатель не задеть. Как говорил врач из фильма "Экипаж", вправляя пациенту вывихнутую челюсть: "Тут главное - руку вовремя отдернуть"

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт окт 14, 2016 14:30:59
ARV
Jack_A писал(а):Правда, только через Z
хорошо сказано, прямо в тему последних сообщений!

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт окт 14, 2016 15:56:39
Jack_A
Я же не сказал "через Ж"

В 1200 Z-регистр (R30) один, там нет ZH, вот через него и адресуем ячейку в регистровом файле.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт окт 14, 2016 16:28:01
ARV
мелочные нюансы не меняют сути. через то самое - оно и есть через то самое

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс окт 16, 2016 13:21:56
СКАЗОЧНИК
Код: Выделить всё
clz
clc
cp EncD_Plus, EncD_Minus ; сравнить две переменные
breq Ravno ; если равны, то переходим
brlo Menshe ; а если первая меньше, чем вторая, то переходим в другое место
nop ; иначе выполняем другой код.
Будет ли такая конструкция корректно работать?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс окт 16, 2016 14:36:22
Z_h_e
Почему оно должно не работать? Сброс флагов только тут лишнее.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс окт 16, 2016 14:37:02
СКАЗОЧНИК
Почему сброс лишнее?

Я же не знаю, какие они были до этого...

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс окт 16, 2016 14:39:08
Z_h_e
CPI установит флаги в по результаты операции, не важно что было перед этим. Щаззз ссылку найду как флаги устанавливаются для нее.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс окт 16, 2016 14:40:20
СКАЗОЧНИК
Да, только я подправил свой код. )))
Не
CPI, а
CP (хотя, для флагов не принципиально, они одинаково ставят)
Но и у меня в шпаргалке написано, что эта команда ставит все флаги. Но не написано, что она их сбрасывает....

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс окт 16, 2016 14:46:10
akl
Команды меняют! все флаги (кроме DEC и INC не трогающих C)
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс окт 16, 2016 14:48:35
Z_h_e
Вот на
CP. Для каждого флага есть булево выражение, чему будет он равен после выполнения команды.
Почти все команды меняющие флаг, его меняют всегда. Но не все.
Команда
CPC, может не изменить флаг Z. В зависимости от его состояния перед командой и результатом команды. ADC такая же, SUBC или как там она пишется. Может еще есть.
---------------
UPD: Скорректировал вторую ссылку, а то чего то я там напутал.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс окт 16, 2016 15:00:17
akl
Z_h_e писал(а):Команда CPI, может не изменить флаг Z.
Нет, всегда устанавливается, если равно.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс окт 16, 2016 15:01:46
Z_h_e
Только что исправил ссылку. Думал одно, писал другое.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс окт 16, 2016 15:11:57
СКАЗОЧНИК
Да, я понял о чем разговор, если сравнение с переносом и уже сам нашел эту команду в левом списке (содержании) АВР.
Даже сравнивал их. Честно, не очень с английским. Да и с булевой алгеброй тоже.

Но более или менее можно разобраться.
Короче, сделал вывод. Если написано, что команда ставит флаги, то она не ставит их, а ВЛИЯЕТ на них, т.е. Ставит или Снимает в зависимости от результата операции.
Т.е. Если флаг и был установлен ранее (любой другой операцией или командой), то после того же CPI (например), этот флаг может быть сброшен.
Спасибо. Поубирал лишние строки.

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс окт 16, 2016 15:16:06
Z_h_e
СКАЗОЧНИК писал(а):Если написано, что команда ставит флаги, то она не ставит их, а ВЛИЯЕТ на них, т.е. Ставит или Снимает в зависимости от результата операции.
Вот я тоже так думал и успешно пользовался

, глядя лишь лишь в ДШ на раздел инструкшион суммари. Все таже CPC, там указано что изменяет флаг Z, а оказывается не всегда.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс окт 16, 2016 15:21:48
akl
Да, есть команды, работающие с С-флагом предыдущей операции. ADC, SBC, SBCI, CPC