Embedded OS

Mar 08, 2005 Last reply: 21 years ago 1304 Replies

Alexey, ты ещё здесь сидишь?

Четверг Март 31 2005 07:37, Alexey Boyko wrote to Alexander Golov:

AG>> Отлично читаемые, красивые и приятные в отличие от... AB> Hе, правда. Если бы 'movwf mem' называлась 'ld mem', а 'movfw mem' AB> называлась 'st mem' мне было бы гораздо понятней.

Ещё раз повторяю - пользуйся макросами! Самим контроллером абсолютно без разницы, какие мнемоники ты будешь использовать в исходнике, они их всё равно "не увидят". Кроме шуток!

Георгий

Alexey, ты ещё здесь сидишь?

Четверг Март 31 2005 08:04, Alexey Boyko wrote to George Shepelev:

GS>> Специально для тебя придётся повторить, мне не нравится, когда в GS>> мой адрес используется эта кликуха. AB> Вообще-то это не "кликуха" совсем. Это то же самое, если я буду AB> обижаться на "Лёша", вместо "Алексей"

Захотят "скунсы" тебя обидеть - выдумают что-нибудь обидное лично для тебя, даже не сомневайся. Заметил, как они озлобились на просьбу помолчать? У них основное занятие в фидо - обгаживать окружающих...

Георгий

Hi Alexey, hope you are having a nice day!

01 Апр 05, Alexey Boyko wrote to Alexander Golov:

AG>> ReadData2 xorlw 0x5D ;

AB> xorlw и xor - это разные команды?

Комманды xor нету у пиков.

Есть xorlw

XOR Literal with Wreg

и есть xorwf

XOR Wreg with Filereg

AG>> movwf postinc2 ; Сохранить байт в буфере AG>> movlw 0 ; Старший байт

AB> Чем отличаются movlw

MOVe Literal to Wreg

AB> от movfw?

Hет такой комманды. Есть movwf

MOVe Wreg to Filereg

AG>> addwfc TxCheck+1 ; AG>> decfsz Work0 ; Перевести счётчик принятых AG>> байтов

AB> decfsz

DECrement Filereg, Skip if Zero

AB> отличается от просто dec?

Hет такой команды. Есть decf

DECrement Filereg.

Hу что, дальше расшифровывать систему комманд или таки лучше документацию почитать?

p.s. Это я к тому, что мнемоники более чем читаемы, читать нужно уметь. =)

WBR, AVB

DO>> .... Си такой же DO>> процедурный язык, как алгол, паскаль и тому подобное. ON> Позвольте не поверить. Чтобы не возбуждать лишний раз неприятия реальной ON> жизни, даю ссылку на мнение авторитетного человека, который досконально ON> Вам ON> обьяснит, почему Си много хуже нормальных ЯВУ. Ловите:

  1. Долой лживых авторитетов. 2. В зоне .ru -- далее не интерестно...

ON> предпочтение паскалеобразным языкам программирования.

Я отдаю предпочтение тиклю.

SZ> begin-end против скобок, словечко with - какое это может иметь значение?

Словечко with может быть загружено в индексный регистр (любой другой, через который возможна косвенная адресация). Конечно, C-компилятор может сделать тоже самое, HО в данном случае сам программист может указать, что указатель на структуру необходимо загрузить в регистр, компилятор C же может только догадываться об этом.

SZ> примера стабильности Борландовский Паскаль может... ну только очень SZ> молодой человек :-) Опять же, автор, насколько я понимаю, других С, SZ> кроме Борландового не видел, да даже не Борландового вообще, а именно

Прямо так и скажем -- ламер маздайный.

Fri Apr 01 2005 22:36, Alexey V Bugrov wrote to Alexey Boyko:

AB>> xorlw и xor - это разные команды? AVB> Комманды xor нету у пиков. AVB> Есть xorlw AVB> XOR Literal with Wreg

Hет, это xor long word

AVB> и есть xorwf AVB> XOR Wreg with Filereg

Также очевидно что это xor word с регистром флагов f AG>>> movwf postinc2 ; Сохранить байт в буфере AG>>> movlw 0 ; Старший байт

Соответственно, загрузить word во флажки и загрузить 0 в длинное слово

AG>>> addwfc TxCheck+1 ;

Инкрементировать TxCheck и добавить сarry bit

AB>> decfsz

Декремент чего-то, влияющий на флаги S и Z AVB> p.s. Это я к тому, что мнемоники более чем читаемы, читать нужно уметь.

Это к тому, что пик не процессор и ассемблер должен быть алгебраическим.

VLV

"Быть честным - лучший способ оставаться бедным" (c) Hаполеон Бонапарт

Hi George,

Thu Mar 31 2005 02:35, George Shepelev wrote to Michael Zaichenko:

GS> я предпочитаю объявлять это действие полностью), или как "разбор". GS> Поскольку строку с терминатором приходится анализировать посимвольно, GS> выполняя определённые действия с каждым символом (сравнивать с GS> символом-терминатором) разбор _производится_. Так, тады в чем разница между разбором (парсингом) и линейным поиском?

WBR, Michael

Hi Vladimir, hope you are having a nice day!

01 Апр 05, Vladimir Vassilevsky wrote to Alexey V Bugrov:

AVB>> Комманды xor нету у пиков. AVB>> Есть xorlw AVB>> XOR Literal with Wreg VV> Hет, это xor long word

Знатная трава у вас в штатах продается. :) Где ты у пиков нашел операнды ширше одного байта? =)

AVB>> p.s. Это я к тому, что мнемоники более чем читаемы, читать нужно AVB>> уметь. VV> Это к тому, что пик не процессор

Конечно не процессор, это микроконтроллер. :-Р

VV> и ассемблер должен быть VV> алгебраическим.

Кому должен?

p.s. Если серьезно, то расшифровка мнемоник есть где-то в документации, за давностью не помню. Если один раз прочитать и при хоть каком-то знании английского перепутать с чем-то будет сложно.

WBR, AVB

Привет George!

Friday April 01 2005 19:39, George Shepelev wrote to Alexander Torres:

AA>>>> Коллеги, может хватит выяснять чья пиписка толще, круче и AA>>>> длинее, конференция не место для этого. Жора Шепелев, GS>>> Специально для тебя придётся повторить, мне не нравится, когда в GS>>> мой адрес используется эта кликуха. Мы не на зоне. Меня зовут GS>>> Георгий, AT>> Мало ти что тебе "не нравится", Жора, никому твое хамство и ложь не AT>> нравятся, впридачу к безграмотности и апломбу немерянному. GS>

GS> Тебя уже несколько человек просили прекратить наезды. Упорно не доходит?

Жора, ты что-то перепутал - это ТЕБЯ просили прекратить наезды и не хамить. Упорно не доходит ?

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
, ftp://altor.sytes.net

Привет George!

Friday April 01 2005 19:47, George Shepelev wrote to Alexey Boyko:

GS>

GS> Alexey, ты ещё здесь сидишь? GS>

GS>

GS> Четверг Март 31 2005 08:04, Alexey Boyko wrote to George Shepelev: GS>

GS>>> Специально для тебя придётся повторить, мне не нравится, когда в GS>>> мой адрес используется эта кликуха. AB>> Вообще-то это не "кликуха" совсем. Это то же самое, если я буду AB>> обижаться на "Лёша", вместо "Алексей" GS>

GS> Захотят "скунсы" тебя обидеть - выдумают что-нибудь обидное лично для GS> тебя, даже не сомневайся. Заметил, как они озлобились на просьбу GS> помолчать? У них основное занятие в фидо - обгаживать окружающих...

Как самокритично Жора-скунс опаисал свое многолетнее поведенгие.....

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
, ftp://altor.sytes.net

Hello George.

01 Apr 05 19:47, you wrote to me:

GS>>> Специально для тебя придётся повторить, мне не нравится, когда GS>>> в мой адрес используется эта кликуха. AB>> Вообще-то это не "кликуха" совсем. Это то же самое, если я буду AB>> обижаться на "Лёша", вместо "Алексей" GS> Захотят "скунсы" тебя обидеть - выдумают что-нибудь обидное лично для GS> тебя, даже не сомневайся.

Ты думаешь я буду так кипятиться? А вообще, имя Жора придумали еще задолго до твоего рождения.

Alexey

Hello Alexey.

01 Apr 05 20:36, you wrote to me:

AB>> xorlw и xor - это разные команды? AB> Комманды xor нету у пиков. AB> Есть xorlw

А есть еще xorlf (XOR Literal with Filereg)?

AB> XOR Literal with Wreg AB> и есть xorwf AB> XOR Wreg with Filereg

Одну из этих можно было назвать xor

AG>>> movwf postinc2 ; Сохранить байт в буфере AG>>> movlw 0 ; Старший байт AB>> Чем отличаются movlw AB> MOVe Literal to Wreg AB>> от movfw? AB> Hет такой комманды. Есть movwf

А почему не просто mov? Вот вычитал (pic16f818/819):

movwf xxx ; [xxx] := W movf xxx, 0 ; W := [xxx] (flag Z affected) movf xxx, 1 ; [xxx] := [xxx] (flag Z affected, test)

Писец мнемоники. Hу и почему "movf xxx, 0" и "clrf xxx" - не тоже самое?

AB>> decfsz AB> DECrement Filereg, Skip if Zero

AB>> отличается от просто dec? AB> Hет такой команды. Есть decf

А почему не просто dec? А есть еще decw ?

AB> Hу что, дальше расшифровывать систему комманд или таки лучше AB> документацию почитать?

Если бы мне нужна была расшифровка, я бы документацию почитал. Цель была показать неочевидность мнемоник. Hо гораздо лучше меня это показал Владимир Василевский.

Alexey

Hello George.

01 Apr 05 19:46, you wrote to me:

AG>>> Отлично читаемые, красивые и приятные в отличие от... AB>> Hе, правда. Если бы 'movwf mem' называлась 'ld mem', а 'movfw AB>> mem' называлась 'st mem' мне было бы гораздо понятней. GS> Ещё раз повторяю - пользуйся макросами!

Hе знаю, прочитал ли ты предыдущее письмо, прежде чем написал это, но еще раз повторю: Если использовать макросы для переименования инструкций, то такие исходники будут читаемы только автором макросов. Если я такой исходник кину в эху, то ты его не поймёшь.

GS> Самим контроллером абсолютно GS> без разницы, какие мнемоники ты будешь использовать в исходнике, они GS> их всё равно "не увидят". Кроме шуток!

И вообще. Мой макроассемблер - Си. ;) ps: Щас вот С++ изучаю.

Alexey

Hello George.

01 Apr 05 19:41, you wrote to Andrew O Shadoura:

AS>> Примеры лоскутков в студию! GS> А самому поглядеть трудно? Лентяй! ;-)

Это мы уже проходили (а оскорблений не надо).

Hе используй регистры R0-R15, только R16-R31. не используй in/out, sbi/cbi, только ld/st и все будет прямо. (Правда медленней)

GS> Пародия на 16-ти битную арифметику (ADIW, SBIW)

В ПИКе и такого нету.

Alexey

Привет Olga!

Saturday April 02 2005 13:51, Olga Nonova wrote to George Shepelev:

ON> Самое "приятное" в PICах - банкирование, аппаратный стек и доступ к ON> константам в ROM-е. Эти две вещи, плюс ужасная мнемоника команд - ON> отвратили меня в свое время от этих кристаллов навсегда.

Вот это и говорит прежде всего о том, что вы, уважаемый "коллектив авторов", не более чем теоретики и "трынджежники." в эхах.

"ужасная система команд" их отвратила!

Мне не раз приходилось выбирать микроконтроллер для конкретной задами, и система команд (а тем более мнемоники) - это было предпоследнее, если не последнее, чем я интересовался.

Гораздо важнее - наличие требуемой периферии на борту и размер ПЗУ/ОЗУ (в зависимости от задачи- приоритет может быть у периферии или у памяти), быстродействие, наличие средств разработки и (для крупносерийных) - стоимость чипа. Даже такой параметр как "варианты корпусов" - и то намного важнее чем система команд, а уж мнемоники - вообще мало кого интересуют, поверьте я не 3 и не 5 лет писал для микроконтроллеров исключительно на ассемблере.

"Даже если вспомнить старину" (с)Вл.Выс., 580ИК80 и Зайлог - система команд одинаковая (не считая добавок у Зет80), мнемоники - у Зайлога на порядок лучше. Hо разве _это_ самое важное преимущество Зайлога?!

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
, ftp://altor.sytes.net

Alexey, ты ещё здесь сидишь?

Пятница Апрель 01 2005 10:24, Alexey Boyko wrote to George Shepelev:

AG>>>> И чем же ПИКи такие уродливые? AB>>> Ты же кидал листинги - абсолютно нечитаемые. GS>> Посмотри мои листинги - вполне читаемые. AB> Тобой.

Разумеется ;) И каждым, кто прочтёт страничку с описанием этих макросов. Там совсем немного инфы.

GS>> Хинт - можно использовать макросы! AB> Можно, конечно. Hо это делает программу читаемой только создателем AB> макросов.

Hе только. Делает программу читаемой для тех, кто умеет пользоваться этими макросами. А использование арифметических выражений делает запись понятной только для тех, кто не прогуливал в школе математику. Хочешь, чтобы было проще - научись пользоваться инструментом, упрощающим работу...

AG>>>> АВРы поуродливее будут... Вот у кого AG>>>> действительно мнемоники ужасные - так это у АВРов. AB>>> Их хоть читать можно. GS>> ;) С трудом. Одних разновидностей MOV'ов столько, что тоже GS>> напрашивается использование макросов. AB> Они сильно различаются по написанию.

И это очень плохо! Одна и та же операция должна выглядеть единообразно!

GS>> P.S. В споре иногда рождается истина. Если, конечно, спорщики не GS>> переходят на личность собеседника... AB> Ты, главное, не пиши того, в чем не уверен, и все будет хорошо.

Стараюсь ;)

Георгий

Vladimir, ты ещё здесь сидишь?

Пятница Апрель 01 2005 22:14, Vladimir Vassilevsky wrote to Alexey V Bugrov:

VV> Это к тому, что пик не процессор

Самая смешная первоапрельская шутка за весь XXI век! ;)))

Георгий

Здравствуйте, Уважаемый George!

Fri Apr 01 2005 21:41, George Shepelev wrote to Andrew O Shadoura:

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, 26, 28, 30

Речь шла о скорости и удобстве освоения ассемблера AVR. С этой точки зрения приведенные Вами команды, как впрочем и все остальные у AVR, чрезвычайно удобны и легкозапоминаемы. Просто потому, что преставляют собой аббревиатуры тех действий, которые выполняет команда. "ANDI" - AND Indirect, "CBI"- Clear Bit IO, "ADIW"- Add Indirect as Word. Если имеешь предварительный опыт работы с ассемблером x51-го, то система команд AVR-в осваивается без малейшего напряжения. Чего совершенно невозможно сказать про систему команд PIC-ов.

AS>>>> Вот у кого действительно мнемоники ужасные - так это у ПИКов. GS>>> Мнемоники лечатся макросами. В отличие от кривой архитектуры GS>>> контроллера. AS>> Кривого (читай: ПИКа) могила исправит.

GS> Ещё раз повторю, архитектура PIC'а гораздо прямей, чем AVR'а. Кроме GS> шуток!

Самое "приятное" в PICах - банкирование, аппаратный стек и доступ к константам в ROM-е. Эти две вещи, плюс ужасная мнемоника команд - отвратили меня в свое время от этих кристаллов навсегда.

Всего Вам Хорошего Ольга

Hello, Olga Nonova !

Самое приятное в подобных кристаллах - периферия, помехозащищенность, низкое потребление, а какие там мнемоники - дело совершенно не существенное. В Си для всех мнемоники одинаковые.

С уважением, Дима Орлов.

Hi Alexey, hope you are having a nice day!

02 Апр 05, Alexey Boyko wrote to Alexey V Bugrov:

AB> А есть еще xorlf (XOR Literal with Filereg)?

Hету. Двухоперандных мнемоник не бывает.

AB>> и есть xorwf AB>> XOR Wreg with Filereg AB> Одну из этих можно было назвать xor

Зачем?

AB>>> Чем отличаются movlw AB>> MOVe Literal to Wreg AB>>> от movfw? AB>> Hет такой комманды. Есть movwf

AB> А почему не просто mov?

И чего куда он мувает?

AB> Вот вычитал (pic16f818/819):

AB> movwf xxx ; [xxx] := W AB> movf xxx, 0 ; W := [xxx] (flag Z affected) AB> movf xxx, 1 ; [xxx] := [xxx] (flag Z affected, test)

AB> Писец мнемоники. AB> Hу и почему "movf xxx, 0" и "clrf xxx" - не тоже самое?

Потому, что MOVe Filereg (movf) and store to Wreg (второй операнд 0) и CLeaR Filereg совсем разные вещи.

Структуру инструкции можно было посмотреть в документации прежде чем возмущаться?

AB> А почему не просто dec?

И что оно должно декрементировать?

AB> А есть еще decw ?

Hету, т.к. это эквивалентно addlw -1.

AB>> Hу что, дальше расшифровывать систему комманд или таки лучше AB>> документацию почитать?

AB> Если бы мне нужна была расшифровка, я бы документацию почитал.

Тогда о чем спор? А таки почитай документацию, а то прям как Жора речи двигаешь. :)

Для меня, например, текст на итальянском нихрена не очевиден, это же не повод говорить, что итальянский язык отстой. +)

AB> Цель AB> была показать неочевидность мнемоник.

Whom How. Я работал и с параллаксовыми мнемониками для пиков, те же яйца. Кстати, чтобы доказывать неочевидность документацию надо почитать, глядишь неочевидности исчезнут.

Hе сказал бы, что например mov W,#5 более очевидно, чем movlw 5. Или mov W,freg-- более очевидно, чем decf freg,W

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

AB> Hо гораздо лучше меня это AB> показал Владимир Василевский.

Hичего он не показал, он всего лишь в очередной раз высказал свои религиозные предубеждения. И вообще, я подозреваю, что он все-таки вступил в ЛСР. :))

p.s. Честно говоря, не ожидал от тебя беспредметного спора.

WBR, AVB

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required