Olga, ты ещё здесь сидишь?
Суббота Апрель 02 2005 12:51, Olga Nonova wrote to George Shepelev:
AS>>> Примеры лоскутков в студию! GS>> 8-ми битная арифметика и т.п. (ADD, ADC, ASR...) 0..31 GS>> 8-ми битные перации с константой (ANDI, CBR, CPI, LDI...) 16..31 GS>> Работа с "полноценными" портами (IN, OUT, CBI, SBIC...) 32..63 GS>> Пародия на 16-ти битную арифметику (ADIW, SBIW) 24, GS>> 26, 28, 30 ON> Речь шла о скорости и удобстве освоения ассемблера AVR.
Да. Любому вменяемому человеку ясно, что запомнить единообразно работающую команду MOV куда проще, чем "зоопарк" работающих с разными "лоскутками" адресного пространства данных команд MOV, LD, LDD, ST, STD, LDI, LDS, STS, IN, OUT, LPM.
ON> С этой точки зрения приведенные Вами команды, как впрочем и все ON> остальные у AVR, чрезвычайно удобны и легкозапоминаемы.
Разве что для "теоретика", который ни разу в жизни не написал ни единой мало-мальски сложной программки для этого контроллера.
ON> Просто потому, что преставляют собой аббревиатуры тех действий, ON> которые выполняет команда.
ON> "ANDI" - AND Indirect,
И где в этой "аббревиатуре" записано, что с этой командой _нельзя_ использовать регистры R0..R15?
ON> "CBI"- Clear Bit IO,
И где в этой "аббревиатуре" записано, что эта команда работает только с диапазоном портов P0..P31?
ON> "ADIW"- Add Indirect as Word.
И где в этой "аббревиатуре" записано, что она работает всего с 4 парами регистров, а непосредственное значение должно быть в диапазоне 0..63?
ON> Если имеешь предварительный опыт работы с ассемблером x51-го, то ON> система команд AVR-в осваивается без малейшего напряжения.
Чушь собачья! Система команд 51-го семейства не содержит подобных извратов.
AS>>>>> Вот у кого действительно мнемоники ужасные - так это у ПИКов. GS>>>> Мнемоники лечатся макросами. В отличие от кривой архитектуры GS>>>> контроллера. AS>>> Кривого (читай: ПИКа) могила исправит. GS>> Ещё раз повторю, архитектура PIC'а гораздо прямей, чем AVR'а. GS>> Кроме шуток! ON> Самое "приятное" в PICах - банкирование,
Переключить один раз банк куда удобнее, чем постоянно "жонглировать" данными через 16 РОH.
ON> аппаратный стек
Чем тебе аппаратный стек не угодил?
ON> и доступ к константам в ROM-е.
Без малейших проблем.
Сразу видно "теоретика", практик указал бы на _реальные_ проблемы - вроде отсутствия команд сложения/вычитания с учётом переноса ;)
ON> Эти две вещи, плюс ужасная мнемоника команд - отвратили меня в свое ON> время от этих кристаллов навсегда.
Ужас, ужас! ;-)
Георгий