Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Новые команды АВР?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
=GM=
В свежем описании команд (док. 0856i) приведено описание нескольких новых команд для AVR: LAC, LAS, LAT и XCH, выполняются за один машинный цикл. Особенно интересной представляется команда XCH.

К сожалению, не смог найти МК, в которых можно использовать указанные инструкции. Кто-нибудь может пролить свет истины?

Для однотактных команд LD и ST, предназначенных для Reduced Core tinyAVR, нашёлся МК ATtiny10.
Xenia
Цитата(=GM= @ Nov 9 2010, 18:17) *
В свежем описании команд (док. 0856i) приведено описание нескольких новых команд для AVR: LAC, LAS, LAT и XCH, выполняются за один машинный цикл. Особенно интересной представляется команда XCH.
К сожалению, не смог найти МК, в которых можно использовать указанные инструкции. Кто-нибудь может пролить свет истины?
Для однотактных команд LD и ST, предназначенных для Reduced Core tinyAVR, нашёлся МК ATtiny10.

Эти команды появились у ATxmega, и то не у всех. А то, что ATtiny10 их поддерживает, для меня сюрприз.
=GM=
В доке 0856i есть раздельные графы для xmega и классики. Так вот, в графе "#Clocs XMEGA" ничего не указано для команд LAC, LAS, LAT и XCH, а в графе "#Clocs" (т.е. для классики) проставлены единички.

В документации на ATxmega256A3 и ATxmega64D4 команды тоже не присутствуют, хотя, например, команда DES в наличии. Возможно, просто не смог найти.
ILYAUL
Цитата(=GM= @ Nov 9 2010, 18:17) *
Кто-нибудь может пролить свет истины?

Есть предложение спросить их/
XCH нашлась , например , в 8051
=GM=
Спросить-то можно...только осторожно. Я вот имел глупость связаться с ti, так они теперь проходу не дают, третий человек уже (!) упорно звонит несколько недель подряд и просит написать им некое письмо, которое им якобы нужно только одно, потом меня свяжут с FAE и я буду в шоколаде.

Я уж лучше Ксению спрошу, она говорит, что у некоторых эксмег есть эти команды.
ILYAUL
Цитата(=GM= @ Nov 9 2010, 20:52) *
Спросить-то можно...только осторожно. Я вот имел глупость связаться с ti, так они теперь проходу не дают, третий человек уже (!) упорно звонит несколько недель подряд и просит написать им некое письмо, которое им якобы нужно только одно, потом меня свяжут с FAE и я буду в шоколаде.

Я уж лучше Ксению спрошу, она говорит, что есть у некоторых эксмег есть эти команды.

Перебирайтесь в Россию , будут только писать , но много , даже очень много bb-offtopic.gif

P.S. Запросил , ждём
ILYAUL
biggrin.gif

The avr instruction set can be found at the below link http://www.atmel.com/dyn/resources/prod_do...nts/doc0856.pdf
LAS/LAC/LAT and XCH are new instructions for future devices with USB and the new Xmega devices.But please check the related device datasheets as mentioned above.
=GM=
Ну это мы и так знаем:-) Ребята наверное не догадались, что эти команды мы нашли именно в доке 0856i, где ж ещё? Такие ответы порождают лишь больше вопросов. Например, зачем в описание команд закладывать команды для пока ещё несуществующих МС, можно же выпустить новый релиз под это дело. Или: какие дейташиты-то проверять, однако?

Вывод один: надо Ксению спрашивать, она должна знать.

Кроме всего прочего, мне бы очень хотелось видеть такие модификации команды XCH

XCH Z+,REG и XCH -Z,REG, вот это был бы последний писк.
ILYAUL
Цитата(=GM= @ Nov 10 2010, 19:05) *
Кроме всего прочего, мне бы очень хотелось видеть такие модификации команды XCH

XCH Z+,REG и XCH -Z,REG, вот это был бы последний писк.

XCH- EXCHANGE . Скорее это команда только для регистров. Обмен данными между регистрами , данные из REG1-->REG2 , а из REG2-->REG1. Авот из памяти .... laughing.gif , за один такт.
=GM=
Цитата(ILYAUL @ Nov 10 2010, 17:30) *
XCH-ЕХCHANGE. Скорее это команда только для регистров

А в документ (0856i) посмотреть не судьба?
ILYAUL
Цитата(=GM= @ Nov 11 2010, 02:59) *
А в документ (0856i) посмотреть не судьба?


biggrin.gif
Скорее не так написал , надо было так ZH-->Rd Rd-->ZH или тоже самое с ZL.

P/S Ну и что бы не гадать , я попросил их дать более подробную инфу по этой команде или примеры ее использования
ArtemKAD
Не, вроде таки там обмен с памятью адресуемой Z
Цитата
(Z) ← Rd, Rd ← (Z)
=GM=
Цитата(ILYAUL @ Nov 11 2010, 06:11) *
Скорее не так написал , надо было так ZH-->Rd Rd-->ZH или тоже самое с ZL.
P/S Ну и что бы не гадать , я попросил их дать более подробную инфу по этой команде или примеры ее использования

Ну, я-то не гадаю, а следую документу: команда XCH Z,REG обменивает содержимое регистра REG и ячейки, на которую указывает регистровая пара Z. Команду можно использовать, скажем, для сохранения одного регистра за один такт.

Но было бы гораздо удобнее, если бы регистровая пара Z модифицировалась, тогда при вызове функции, можно было бы быстро сохранить тучу регистров.

XCH Z+,REG1
XCH Z+,REG2
. . . . . . . .
XCH Z+,REGn

Ну или для арифметических операций с многобайтными числами

XCH Z,REG1
ADD REG1,r16
XCH Z+,REG1
XCH Z,REG1
ADC REG1,r17
XCH Z+,REG1
. . . . . . . .
XCH Z,REG1
ADC REG1,rn
XCH Z+,REG1

Вариантов использования - множество. Без модификации Z-пары команда становится гораздо менее полезной.
ILYAUL
Цитата(=GM= @ Nov 11 2010, 15:06) *
Ну, я-то не гадаю, а следую документу: команда XCH Z,REG обменивает содержимое регистра REG и ячейки, на которую указывает регистровая пара Z. Команду можно использовать, скажем, для сохранения одного регистра за один такт.

Интересно, откуда Вы это вычитали в этом документе. При этом не смотря на то , что они собираются использовать ее в будущих ... , они не дали Clock именно на будущее. При этом команда , должна вернуть из памяти значение ячейки и запихнуть из регистра в память , судя по ее названию . И если посмотреть на команды общения с памятью , практически у всех стоит 1 с ремаркой.
ILYAUL
1.После , долгой переписки , было установлено следующее - Вы были правы, признаю - обмен с памятью SRAM
2. Комманд типа XCH Rx,Z+ и подобных. не будет
=GM=
Печально :-(
Xenia
Цитата(=GM= @ Nov 10 2010, 19:05) *
Вывод один: надо Ксению спрашивать, она должна знать.

Ладно, так уж и быть, скажу. smile.gif
Это - ... ATmega64HVB. Похоже, что заказуха - даташит на нее до сих пор не выложен, но AVR Studio и IAR ее подерживают уже сейчас (там есть соответствующие ей хидеры и возможность выбрать этот МК в проекте).
Причем, лафа не распространяется на младшие модели ATmega16HVB и ATmega32HVB.
Вот тут оно обсуждалось почти год назад.
=GM=
Спасибо, конечно, но разве это Хмега? Вы же вроде про них толковали.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.