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

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

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

Спросить-то можно...только осторожно. Я вот имел глупость связаться с ti, так они теперь проходу не дают, третий человек уже (!) упорно звонит несколько недель подряд и просит написать им некое письмо, которое им якобы нужно только одно, потом меня свяжут с FAE и я буду в шоколаде.
Я уж лучше Ксению спрошу, она говорит, что есть у некоторых эксмег есть эти команды.
Перебирайтесь в Россию , будут только писать , но много , даже очень много

P.S. Запросил , ждём
ILYAUL
Nov 10 2010, 12:59
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.
Ну это мы и так знаем:-) Ребята наверное не догадались, что эти команды мы нашли именно в доке 0856i, где ж ещё? Такие ответы порождают лишь больше вопросов. Например, зачем в описание команд закладывать команды для пока ещё несуществующих МС, можно же выпустить новый релиз под это дело. Или: какие дейташиты-то проверять, однако?
Вывод один: надо Ксению спрашивать, она должна знать.
Кроме всего прочего, мне бы очень хотелось видеть такие модификации команды XCH
XCH Z+,REG и XCH -Z,REG, вот это был бы последний писк.
ILYAUL
Nov 10 2010, 17:30
Цитата(=GM= @ Nov 10 2010, 19:05)

Кроме всего прочего, мне бы очень хотелось видеть такие модификации команды XCH
XCH Z+,REG и XCH -Z,REG, вот это был бы последний писк.
XCH- E
XCHANGE . Скорее это команда только для регистров. Обмен данными между регистрами , данные из REG1-->REG2 , а из REG2-->REG1. Авот из памяти ....

, за один такт.
Цитата(ILYAUL @ Nov 10 2010, 17:30)

XCH-ЕХCHANGE. Скорее это команда только для регистров
А в документ (0856i) посмотреть не судьба?
ILYAUL
Nov 11 2010, 06:11
Цитата(=GM= @ Nov 11 2010, 02:59)

А в документ (0856i) посмотреть не судьба?
Скорее не так написал , надо было так ZH-->Rd Rd-->ZH или тоже самое с ZL.
P/S Ну и что бы не гадать , я попросил их дать более подробную инфу по этой команде или примеры ее использования
ArtemKAD
Nov 11 2010, 11:06
Не, вроде таки там обмен с памятью адресуемой Z
Цитата
(Z) ← Rd, Rd ← (Z)
Цитата(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
Nov 11 2010, 14:26
Цитата(=GM= @ Nov 11 2010, 15:06)

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

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

Это - ... ATmega64HVB. Похоже, что заказуха - даташит на нее до сих пор не выложен, но AVR Studio и IAR ее подерживают уже сейчас (там есть соответствующие ей хидеры и возможность выбрать этот МК в проекте).
Причем, лафа не распространяется на младшие модели ATmega16HVB и ATmega32HVB.
Вот
тут оно обсуждалось почти год назад.
Спасибо, конечно, но разве это Хмега? Вы же вроде про них толковали.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.