|
ASM: приказали долго жить?, Сколько еще продержится |
|
|
|
Jun 19 2006, 23:28
|
Участник

Группа: Новичок
Сообщений: 38
Регистрация: 12-09-05
Пользователь №: 8 464

|
На досуге интересует мнение всех кто занимается программированием МК - коль долго еще возможно будет использовать ASM в разработках. Понимаю что тапочки и нужно спешить осваивать C (аппаратные возможности растут и проще написать A*B, например...). Но как сейчас какие плюсы - пишешь то что надо, не зависишь от уровня тупости разработчиков C компилятора, т.е. все на виду (предпочитаю надежность быстроте разработки). Но бесит реализация арифметики на ASMе. Ваше мнение, господа?
|
|
|
|
|
 |
Ответов
|
Jun 26 2006, 13:59
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(CD_Eater @ Jun 26 2006, 20:20)  dxp, тест очень неудачный Сравнение вычислительных операций всегда будет в пользу проца с большей разрядностью регистров. Простой пример - умножение чисел двойной разрядности потребует в 4 раза больше времени (используя карацубу - в три раза, но выигрыш от этого получается только при очень большой разрядности). Даже больше, чем в 4 раза (надо ещё прибавить сложения промежуточных результатов)Поэтому 16-битный аналог АВР опережал бы в 4 с лишним раза, а МСП - только в 2. Хы-хы. "Бы да бы, да бы мешает" (с) пословица. "Если б бабушка была дедушкой..." (с) Если бы у AVR было 8 регистровых пар - аппаратных указателей типа Z, если бы на уровне этих регистровых пар поддерживалась арифметика, если бы AVR имел нормальный указатель стека, если бы AVR имел доступ в память в один такт, если бы он вообще был 16-разрядным, а еще лучше - 32-разрядным... и еще много-много всяких если. Однако текущий факт, что MSP430 быстрее (в тактах), код у него меньше, ассемблер приятнее. Это первое. Во-вторых, это не тест, а, как было указано, кусок из реальной программы. А привел я его потому, что сделать это было просто - остальные куски аналогичные собрать было бы сложно, да и не понятно посторонним, что они делают. Об условностях и ограничениях этого примера я представление имею, о чем и говорил. И кстати, 32-разрядный Blackfin что-то не опережает MSP430 в 4 (!) раза. А уж у него-то все в наличие - и шины, и регистры, и все остальное. Цитата(CD_Eater @ Jun 26 2006, 20:20)  Возьми задачку, где разрядность выше 8 бит почти не требуется, и сравни такты. (Типичные задачки МК уровня АВР именно таковы). Вы, очевидно, невнимательно читали. Я подробно описал, что и сам так думал до сравнения. А когда сравнил, то и удивился, почему оно не так. И когда стал разбираться с причинами, то выяснил, что главная проблема с тормозами у AVR - бедные возможности по адресации, когда почти все адреса идут через один аппаратный указатель. И адреса 16-битные и от разрядности данных это не зависит. Перечитайте внимательнее предыдущие посты и подумайте над этим хорошенько. Если это Вас не убеждает, спорить все равно не буду - я уже один раз это прошел, у меня нет ни времени, ни желания, ни сил повторять эксперименты. Возьмите AVR и MSP430, возьмите какую-нибудь задачу, прогоните, сравните. Только не надо брать рекламные примеры, возьмите рабочую программу. В готовом виде есть примеры почти одного и того же кода тут. Код обычный - функции, условия, ветвления. Скомпилируйте и сравните. И посмотрите листинги - все сразу станет понятным.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Jun 28 2006, 12:58
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(dxp @ Jun 26 2006, 16:59)  Если бы у AVR было 8 регистровых пар - аппаратных указателей типа Z, если бы на уровне этих регистровых пар поддерживалась арифметика, если бы AVR имел нормальный указатель стека, если бы AVR имел доступ в память в один такт, если бы он вообще был 16-разрядным, а еще лучше - 32-разрядным... и еще много-много всяких если. Со всем уважением к Вам. Не надо никаких если, давайте просто оценим, что же показывает ваш тест! 8 битный AVR - 11+тыс. тактов. 16-битный MSP - 5+ тыс. тактов. Только с учетом того, что рабочая частота AVR в два раза выше чем MSP, то 8-ми разрядный AVR по суммарной производительности практически равен производительности 16-ти разрядного MSP. Теперь об аппаратном умножителе. Судя по всему аппаратный умножитель AVR не применялся, следовательно для чистоты сравнения надо брать результат для MSP без аппаратного умножителя. Как Вы говорите, без аппаратного умножителя MSP справляется с задачей в 1.5 раза дольше, т.е. 7.5+ тыс. тактов. AVR - 11+ (~12) тыс. тактов Теперь давайте учтем соотношение частот AVR-16Mhz, MSP-8Mhz. Сведем все к MSPшным тактам. Один такт AVR равен 8/16 = 1/2 такта MSP. Домножаем 12 тыс на 1/2 12 * 1/2 = 6тыс. MSPшных тактов. И получаем, что AVR справляется с задачей за 6 тыс MSPшных тактов, а MSP за 7.5 тыс. тактов. LOL, так получается AVR еще и "сделал" MSP на 25%. Цитата Однако текущий факт, что MSP430 быстрее (в тактах), код у него меньше, ассемблер приятнее. Это первое. Если РОНы "шире" - неизбежно операции с плавающей точкой потребуют меньше тактов для исполнения. Поэтому все законно и ожидаемо на 16-bit РОНах FP операции выполняются быстрее, чем на 8 битных. И более того, я сказал бы, что результаты этого теста больше в пользу AVR, т.к. имея в два раза меньшую разрядность, наблюдается замедлениние в два раза (практически линейная зависимость, что вполне естественно). Цитата Во-вторых, это не тест, а, как было указано, кусок из реальной программы. А привел я его потому, что сделать это было просто - остальные куски аналогичные собрать было бы сложно, да и не понятно посторонним, что они делают. Об условностях и ограничениях этого примера я представление имею, о чем и говорил. Я из вашего теста могу построить следующий вывод: На одинаковых тактовых частотах AVR проигрывает MSP приблизительно в два раза (в большинстве задач - меньше чем в два раза). В реальных задачах AVR работает быстрее чем MSP430 за счет более высокой тактовой частоты ядра, поэтому добавив еще и факт, что AVR дешевле MSP - целесообразнее применять именно AVR. Цитата И кстати, 32-разрядный Blackfin что-то не опережает MSP430 в 4 (!) раза. А уж у него-то все в наличие - и шины, и регистры, и все остальное. Вы хотите сказать, что Bf будет 1.25+ тыс тактов выполнять код из Вашего теста?
|
|
|
|
|
Jun 29 2006, 05:24
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(defunct @ Jun 28 2006, 19:58)  Не надо никаких если, давайте просто оценим, что же показывает ваш тест! Да что вы все прицепились к этому тесту?!  Я сразу сказал и повторил, что это, во-первых, не тест как таковой, во-вторых, он не характеризует картину в полной мере - тут плавучка, а значит тут доминируют два фактора: 1) реализация библиотек, где определены подпрограммы операций с плавающей точкой; 2) эффективность ядра, т.к. операции в ядре доминируют над операциями с памятью. У MSP430, как и у любого фон Неймана, работа с памятью - слабое место. А вот ядро у него хорошее - регистровый файл, каждая операция в регистрах за один такт. Никакой 8-битных процессор тут не поспорит. Вот и все. И давайте уже оставим этот фрагмент кода. На деле, как уже неоднократно сказал, MSP430 быстрее почти везде. При равных тактовых, ессно, т.к. сравнивается эффективность ядра. Цитата(defunct @ Jun 28 2006, 19:58)  8 битный AVR - 11+тыс. тактов. 16-битный MSP - 5+ тыс. тактов. Только с учетом того, что рабочая частота AVR в два раза выше чем MSP, то 8-ми разрядный AVR [...] И получаем, что AVR справляется с задачей за 6 тыс MSPшных тактов, а MSP за 7.5 тыс. тактов. LOL, так получается AVR еще и "сделал" MSP на 25%. Какую-то Вы тут софистику устроили. Зачем это? В реальных проектах MSP430 быстрее почти везде. Не в два раза, конечно, но процентов на 10-20. Это неоднократно установленный мной факт. Хотите поисследовать - пожалуйста, все в Ваших силах. Начать можете с того примера, который я уже предлагал, там почти одинаковый код. Очень хорошо видна реализация в обоих случаях. Упора на 16-битность данных там нет. Цитата(defunct @ Jun 28 2006, 19:58)  Я из вашего теста могу построить следующий вывод: На одинаковых тактовых частотах AVR проигрывает MSP приблизительно в два раза (в большинстве задач - меньше чем в два раза). В реальных задачах AVR работает быстрее чем MSP430 за счет более высокой тактовой частоты ядра, поэтому добавив еще и факт, что AVR дешевле MSP - целесообразнее применять именно AVR. Вы еще забыли про потребление. Вот тот полином у меня вычислялся в проце, работающем на 5 МГц - хватало, - при этом весь МК побреблял около 2.4 мА при питании от 3 В. Дивайс батарейный. Найдите-ка мне такой AVR? В реальных задачах надо не максимальную скорость - тут главное, чтоб успевал с некоторым запасом. А вот потребление частенько требуется как можно меньше. Вот у меня МК посчитал результат, отправил его на вывод, и на боковую (в Idle). А из Idle он просыпается за 6 мкс. Таким образом, почти все неактивное время он спит, переход ко сну и обратно почти ничего не занимает. Эффективность максимальная. Насчет того, дешевле ли AVR - это еще вопрос! AVR не предлагает полноценной замены MSP430 почти во всем: он медленее, он больше потребляет, у него почти во всем хуже периферия, у него нет такой удобной и гибкой системы распределения тактовых частот. Кроме того, у MSP430 на борту встроенный отладчик, который требует копеечного адаптера, в отличие от AVR, которому нужен недешевый JTAG-ICE, работающий к тому же нестабильнее и медленнее. Возможности отладчика в MSP430 новых моделей несравенно богаче - до 8 аппаратных брейкоинтов, не только на код, но и на данные, всякие условные брейкпоинты и т.д. Преимущества AVR я уже перечислял выше - возможность 5 В питания, если кому актуально (мне,например, никогда это не было актуально - наоборот, от 5 В только лишнее энергопотребление), возможность внешней аппаратной шины у некоторых МК (опять же это только пара чипов, да и на MSP430 можно программно это организовать, написав класс-шлюз, чтобы работа со стороны программы была прозначной по отношению к этой шине), наличие EEPROM (здесь удобство AVR неоспоримо, но с MSP430 большого головняка не вышло - тоже написал класс, который манагит запись данных в блоки флеши попеременно, пользоваться этим просто и безопасно. С EEPROM'ом, кстати, тоже для надежности надо дополнительный код писать, с резервированием значений и проверкой при записи/чтении, т.ч. оно где-то одно к одному и выходит). Это практически все. На деле существуют ситуации, когда AVR выгоднее и без этих оговорок - когда требования проекта удовлетворяются возможностями МК. Например, если хватает меги8, то и замечательно, ничего больше не нужно, даже если есть и более замечательные МК. Фактически же главным фактором является даже не возможности МК, а владение конкретным разработчиком тем или иным МК. Если человеку, работающему с AVR что-то в нем не хватает, он в большинстве случаев поставит недостающую часть снаружи (вплоть до применения второго МК), но не будет переходить на MSP430. Это психология и инертность мышления. А также требования по времени к выполнению работы на фоне внутренней увереннности в результате. По этой причине до сих пор жив 51-й (конечно, есть тут и другая причина - поддержка старых разработок, но старые разработки требуют старых МК, на оригинальном 12-тактовом ядре, а вот все новые, с новой периферией и новыми возможностями - это исключительно психология). Цитата(defunct @ Jun 28 2006, 19:58)  Цитата И кстати, 32-разрядный Blackfin что-то не опережает MSP430 в 4 (!) раза. А уж у него-то все в наличие - и шины, и регистры, и все остальное. Вы хотите сказать, что Bf будет 1.25+ тыс тактов выполнять код из Вашего теста? Что Вас удивляет? У него нет аппаратной поддержки плавающей точки.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Jun 29 2006, 06:31
|
Местный
  
Группа: Участник
Сообщений: 270
Регистрация: 29-06-06
Пользователь №: 18 445

|
Цитата(dxp @ Jun 29 2006, 09:24)  А вот ядро у него хорошее - регистровый файл, каждая операция в регистрах за один такт. ....Насчет того, дешевле ли AVR - это еще вопрос! У AVR регистр-регистр тоже за один такт. А ещё за один такт - вывод в порт, в отличие от 3-х тактов MSP. Не знаю, как у кого, а на моих задачах MSP всегда оказывался медленнее AVR. Правда, DMA я не использовал. Поэтому я потренировался немного на нём, да и передумал с AVR на MSP переходить. Что касается цены, то MSP-149 стоит в районе $3.5, а AtMega8 $0.8. Единственное, что остаётся у MSP - энергопотребление. Но если исполнительные устройства едят на два порядка больше проца, то какая разница?
|
|
|
|
|
Jun 29 2006, 07:33
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(pokos @ Jun 29 2006, 13:31)  Цитата(dxp @ Jun 29 2006, 09:24)  А вот ядро у него хорошее - регистровый файл, каждая операция в регистрах за один такт. ....Насчет того, дешевле ли AVR - это еще вопрос! У AVR регистр-регистр тоже за один такт. Только у MSP430 16 бит, а не 8. :-Р Потому и сказано было, что никакой 8-битник тут не угонится, не нужно из контекста выдирать. Цитата(pokos @ Jun 29 2006, 13:31)  А ещё за один такт - вывод в порт, в отличие от 3-х тактов MSP. У MSP430 это не вывод в порт, а обращение в память. А то, что порты и другие регистры на память отмаплены - это очень правильное, здравое и зрелое решение. AVR из-за своих in/out, во-первых, ввел еще одно адресное пространство - трех имеющихся ему мало, во-вторых, на меге128 и других толстых чипах имеем форменный геморрой, когда регистры специальных функций не помещаются в это маленькое адресное пространство. Кроме того, за сколько тактов выполняется инверсия пина на AVR? И не забываем весь связанный с этим геморрой, когда нужно использовать два регистра - а если это делается в прерывании, то их надо сохрянять - еще оверхед, когда операция эти неатомарна и т.д. :-Р Цитата(pokos @ Jun 29 2006, 13:31)  Не знаю, как у кого, а на моих задачах MSP всегда оказывался медленнее AVR. Правда, DMA я не использовал. Поэтому я потренировался немного на нём, да и передумал с AVR на MSP переходить. На каких это Ваших задачах, если Вы раздумали на него переходить?  Вот поработали бы нормально, чай мнение бы и поменялось. Я, кстати, не из-за скорости мигрировал на MSP430 - исходно ожидал где-то паритета, а учитывая, что тактовые у AVR выше, то и прироста абсолютной скорости не ожидал. Меня другие фичи сманили. Цитата(pokos @ Jun 29 2006, 13:31)  Что касается цены, то MSP-149 стоит в районе $3.5, а AtMega8 $0.8. Ха! Нашли что сравнивать! Да MSP430F149 кроет ATmega8 как бык овцу! У меги скока флеши? 8 кил, а у F149 - 60! ОЗУ у меги 1 килобайт (и это много для такого чипа, непропорционально, я бы сказал, много), у F149 - 2 килобайта. У F149 12-разрядный АЦП с 200 К выборок в секунду, с секвенсором на 16 значений, с индивидуальными настройками опорных напряжений для каждого канала, с различными режимами запуска и т.д. Тут вообще ни один AVR близко не стоял! У F149 два полноценных таймера с суммарно 10 модулями Compare/Capture/PWM. У F149 два USART'а, каждый из которых может быть сконфигурирован либо как UART, либо как SPI. Наконец, у F149 6 8-битных портов, т.е. 48 ног на ввод/вывод. Кроме того, откуда такие сведения про цены? MSP430F149 стоит существенно дороже - порядка 7-10 баксов. Мега8 тоже больше бакса - порядка двух баксов. Но в любом случае это МК разной весовой категории уже по объему флеши. Одноклассником MSP430F149 является Мега64, и стоит она примерно те же пятаки. А по периферии все так же пролетает. Кстати, MSP430F149 - это уже старый чип, сегодня за почти такие же деньги есть MSP430F169, у которого помимо вышеперечисленного еще есть два 12-битных аналоговых ЦАПа, DMA. Цитата(pokos @ Jun 29 2006, 13:31)  Единственное, что остаётся у MSP - энергопотребление. Но если исполнительные устройства едят на два порядка больше проца, то какая разница? Да уж конечно! Особенно если забыть, что ни у одного AVR нет такого АЦП, ни у одного AVR нет таких ЦАПов (если вообще есть какие-то, я уже перестал за ними следить), если забыть про десяток ШИМов, в том числе и 3 синхронных парафазных с мертвыми зонами, если забыть про аппаратный умножитель-аккумулятор 16х16, которого в AVR нет и, очевидно, не будет. В заключение, имея пятилетний опыт плотной работы с AVR, имея 3-летний опыт не менее плотной работы с MSP430 (т.е. не потренировался, а именно поработал, сделал эн проектов на нем), могу ответственно сказать, что работать с MSP430 намного приятнее во всех смыслах. Благодаря более стройной архитектуре с одним адресным пространством вместо четырех у AVR, и благодаря более прямой, гибкой и богатой периферии.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Jun 29 2006, 08:41
|
Местный
  
Группа: Участник
Сообщений: 270
Регистрация: 29-06-06
Пользователь №: 18 445

|
Цитата(dxp @ Jun 29 2006, 11:33)  ....А то, что порты и другие регистры на память отмаплены - это очень правильное, здравое и зрелое решение. Абсолютно необоснованное. Тяжкое наследие ПДП-11. Цитата Да MSP430F149 кроет ATmega8 как бык овцу! Я тут не трактую за всех, только лишь за себя. На моих задачах хватает и 4К флеша. Зато не хватает быстродействия у MSP. Его сильно шустрый АЦП и вовсе членомерия, поскольку сделать сколько-нибудь осмысленную обработку отсчётов, прущих на такой скорости, MSP всё равно не успевает. И периферия его замечательная меня не лечит. В последней задаче каналов ШИМ мне надо 12. А входной сигнал имеет Ft=19кГц. Его надо фильтровать и шевелить каналами ШИМ.
|
|
|
|
|
Jun 29 2006, 09:27
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(pokos @ Jun 29 2006, 15:41)  Цитата(dxp @ Jun 29 2006, 11:33)  ....А то, что порты и другие регистры на память отмаплены - это очень правильное, здравое и зрелое решение. Абсолютно необоснованное. Обоснованное именно зрелостью подхода. Когда надо расширять, то есть куда это делать. Это Атмел по молодости пролетел, думал, что 64 байта - это бесконечно много.  У всех серьезных МК регистры спецфункций отмаплены на память. Цитата(pokos @ Jun 29 2006, 15:41)  Тяжкое наследие ПДП-11. PDP-11 был прекрасный процессор, гибкий, продуманный. Жаль, что развития эта ветка не получила. Во мне говорит не ностальгия, я с ним не работал, не застал уже. И если сегодня уже давно смогли соорудить 1-тактовый 51-й, то и PDP-11 реализовать на быстром ядре было бы возможно. Цитата(pokos @ Jun 29 2006, 15:41)  Цитата Да MSP430F149 кроет ATmega8 как бык овцу! Я тут не трактую за всех, только лишь за себя. На моих задачах хватает и 4К флеша. Зато не хватает быстродействия у MSP. Быстродействия какого? Вычислительного? Это вряд ли. Ногодрыгания? Вот на это похоже. Для формирования жестких времянок вообще надо периферию использовать. Делать это с помощью программной реализации - хакерство, чреватое гемором. Цитата(pokos @ Jun 29 2006, 15:41)  Его сильно шустрый АЦП и вовсе членомерия, поскольку сделать сколько-нибудь осмысленную обработку отсчётов, прущих на такой скорости, MSP всё равно не успевает. Никакая не членомерия. Для таких быстрых потоков там у АЦП есть секвенсор, который собирает сразу до 16 отсчетов, благодаря чему не надо прыгать за каждым отсчетом отдельно, имея оверхед, что и происходит с AVR'ом, а один раз пошли и забрали сразу все 16. Получается для максимальной скорости 5 мкс * 16 = 80 мкс период поступления прерываний, вполне реально. Насчет "делать осмысленную обработку отсчетов, прущих на такой скорости" - есть задачи, когда надо собрать данные, собирать надо на максимальной скорости. А обсчитать их можно и потом. В любом случае AVR тут курит в уголке. Цитата(pokos @ Jun 29 2006, 15:41)  И периферия его замечательная меня не лечит. В последней задаче каналов ШИМ мне надо 12. А входной сигнал имеет Ft=19кГц. Его надо фильтровать и шевелить каналами ШИМ. Кто ж спорит, не на все случаи жизни MSP430 годится. Для этой вашей последней задачи самое оно TMS320F28xx. Или Вы хотите сказать, что мега8 здесь замечательно справляется?
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
Сообщений в этой теме
OlegIvanov ASM: приказали долго жить? Jun 19 2006, 23:28 prottoss Цитата(OlegIvanov @ Jun 20 2006, 07:28) Н... Jun 19 2006, 23:58 haker_fox Цитата(OlegIvanov @ Jun 20 2006, 08:28) Н... Jun 20 2006, 00:11 arttab Даже программируя на асме не всегда можно получить... Jun 20 2006, 02:54 defunct Цитата(arttab @ Jun 20 2006, 05:54) Даже ... Jun 20 2006, 05:55 Harbour Сильно на C разгонишься когда памяти 512 байт. Jun 20 2006, 04:25 dxp Цитата(Harbour @ Jun 20 2006, 11:25) Силь... Jun 20 2006, 05:49 viael Цитата(Harbour @ Jun 20 2006, 08:25) Силь... Jun 29 2006, 06:28 vanner ЦитатаДаже программируя на асме не всегда можно по... Jun 20 2006, 05:03 Сергей Борщ Цитата(vanner @ Jun 20 2006, 08:03) Цитат... Jun 20 2006, 06:56  IgorKossak Цитата(Сергей Борщ @ Jun 20 2006, 09:56) ... Jun 20 2006, 07:49   Сергей Борщ Цитата(IgorKossak @ Jun 20 2006, 10:49) Ц... Jun 20 2006, 08:37    OlegIvanov Цитата(Сергей Борщ @ Jun 20 2006, 11:37) ... Jun 20 2006, 15:29     Сергей Борщ Цитата(OlegIvanov @ Jun 20 2006, 18:29) В... Jun 20 2006, 16:00    SasaVitebsk Цитата(Сергей Борщ @ Jun 20 2006, 11:37) ... Jun 20 2006, 21:09     CDT ЦитатаПростите, может я не понял вопроса, а что ва... Jun 21 2006, 13:19      white.wind Цитата(CDT @ Jun 21 2006, 17:19) ..хотя б... Jun 21 2006, 13:43       COMA Цитата(white.wind @ Jun 21 2006, 17:43) Н... Jun 22 2006, 11:45       _Bill Цитата(white.wind @ Jun 21 2006, 16:43) Ц... Jun 22 2006, 11:59        white.wind Цитата(_Bill @ Jun 22 2006, 15:59) кодоге... Jun 22 2006, 13:09     Сергей Борщ Цитата(SasaVitebsk @ Jun 21 2006, 00:09) ... Jun 21 2006, 16:26      SasaVitebsk Цитата(Сергей Борщ @ Jun 21 2006, 19:26) ... Jun 21 2006, 19:45 arttab Глюки компилятора неисключены. и ошибки юзера, кот... Jun 20 2006, 05:53 beer_warrior Как говорится - пока существуют процессоры будет с... Jun 20 2006, 05:57 arttab ЦитатаХм.. "компилятор" асма более верно... Jun 20 2006, 06:13 otrog Цитата(arttab @ Jun 20 2006, 10:13) Знаю ... Jun 20 2006, 06:33 _Bill Цитата(OlegIvanov @ Jun 20 2006, 02:28) Н... Jun 20 2006, 06:29 kolobok0 Цитата(_Bill @ Jun 20 2006, 10:29) ...Асс... Jun 20 2006, 11:43 IgorKossak Хм, надо же.
Опять подняли религиозную тему!
Н... Jun 20 2006, 06:38 tag Цитата(IgorKossak @ Jun 20 2006, 10:38) Х... Jun 21 2006, 14:26 white.wind Попробовал asm, ничего, не страшный совсем
Счас ... Jun 20 2006, 06:56 defunct Цитата(white.wind @ Jun 20 2006, 09:56) П... Jun 20 2006, 19:54  dxp Цитата(defunct @ Jun 21 2006, 02:54) Цита... Jun 21 2006, 03:27   defunct Цитата(dxp @ Jun 21 2006, 06:27) Цитата(d... Jun 22 2006, 10:56    dxp Цитата(defunct @ Jun 22 2006, 17:56) Я то... Jun 22 2006, 12:14     _Bill Цитата(dxp @ Jun 22 2006, 15:14) Дело не ... Jun 22 2006, 12:21     IgorKossak Цитата(dxp @ Jun 22 2006, 15:14) ...Отвеч... Jun 22 2006, 13:00     defunct Цитата(dxp @ Jun 22 2006, 15:14) Цитата(d... Jun 22 2006, 20:52      dxp Цитата(defunct @ Jun 23 2006, 03:52) Ну х... Jun 23 2006, 03:32       defunct Цитата(dxp @ Jun 23 2006, 06:32) Во-от... Jun 23 2006, 20:46        dxp Цитата(defunct @ Jun 24 2006, 03:46) Цита... Jun 26 2006, 04:56       vet Цитата(dxp @ Jun 23 2006, 07:32) Мы здесь... Jun 23 2006, 21:37        dxp Цитата(vet @ Jun 24 2006, 04:37) Цитата(d... Jun 26 2006, 05:55 vanner Это понятно, разработчики компиляторов тоже люди, ... Jun 20 2006, 09:03 Сергей Борщ Цитата(vanner @ Jun 20 2006, 12:03) Это п... Jun 20 2006, 09:09 Serj78 начинал на С, (cv) потом для тини12 пришлось поизу... Jun 20 2006, 10:23 forever failure Цитата(OlegIvanov @ Jun 20 2006, 05:28) к... Jun 21 2006, 06:03 Alex_Pol 2 OlegIvanov. Слухи о смерти асма сильно преувелич... Jun 21 2006, 14:06 CD_Eater Всегда писал для AVR-ок на АСМе и не собираюсь пер... Jun 22 2006, 11:03 vet CD_Eater
Поправьте, если я ошибаюсь, но, на мой вз... Jun 22 2006, 11:40 COMA чтение из ОЗУ
инкремент
запись в ОЗУ
3 команды Jun 22 2006, 12:27 _Bill Цитата(COMA @ Jun 22 2006, 15:27) чтение ... Jun 22 2006, 12:37 beer_warrior ЦитатаБольшой минус АСМа - плохая переносимость на... Jun 22 2006, 12:28 COMA Случаи они разные бывают. Регистров может и не хва... Jun 22 2006, 12:43 _Bill Цитата(COMA @ Jun 22 2006, 15:43) Случаи ... Jun 22 2006, 12:52 vet IgorKossak,
ну, Java-процессор выполняет всё-таки ... Jun 22 2006, 13:05 Stanislav Цитата(IgorKossak @ Jun 22 2006, 17:00) Ц... Jun 22 2006, 14:39 defunct Цитата(Stanislav @ Jun 22 2006, 17:39) Бы... Jun 22 2006, 21:26  Stanislav Цитата(defunct @ Jun 23 2006, 01:26) Наск... Jun 23 2006, 16:06 CD_Eater Цитата(vet @ Jun 22 2006, 15:40) Поправьт... Jun 22 2006, 16:23 vet Цитата(CD_Eater @ Jun 22 2006, 20:23) Цит... Jun 22 2006, 19:20 beer_warrior BTW, что меня убивало в 51 это односторонний перех... Jun 22 2006, 21:05 upc2 Думаю, что ассемблер "умрет".При всех св... Jun 26 2006, 05:48 vet dxp, спасибо за подробный ответ. Jun 26 2006, 06:37 IgorKossak dxp, насколько я знаю применение аппаратного умнож... Jun 26 2006, 06:40 dxp Цитата(IgorKossak @ Jun 26 2006, 13:40) d... Jun 26 2006, 06:52    Kopa Ссылка на интересную статью и ресурс для роботостр... Jun 29 2006, 05:32    singlskv Цитата(dxp @ Jun 29 2006, 09:24) Вы еще з... Jun 29 2006, 08:04 SpiritDance dxp
Поддерживаю Вас. В MSP430 ядро несравнено лучш... Jun 26 2006, 17:41 CD_Eater dxp
Я не говорю, что AVR существенно мощнее )))))... Jun 26 2006, 20:30 haker_fox Цитата(CD_Eater @ Jun 27 2006, 05:30) Моё... Jun 27 2006, 01:29 spf Цитата(CD_Eater @ Jun 27 2006, 02:30) Трё... Jun 27 2006, 03:47  Kopa Цитата(spf @ Jun 27 2006, 06:47) ИМХО: Та... Jun 27 2006, 04:39   SpiritDance Цитата(Kopa @ Jun 27 2006, 08:39) А так н... Jun 27 2006, 04:51    Kopa Цитата(SpiritDance @ Jun 27 2006, 07:51) ... Jun 27 2006, 05:04     SpiritDance Цитата(Kopa @ Jun 27 2006, 09:04) P.S. Вс... Jun 27 2006, 11:28      Kopa Цитата(SpiritDance @ Jun 27 2006, 14:28) ... Jun 28 2006, 03:09  CD_Eater Цитата(spf @ Jun 27 2006, 07:47) ЦитатаПо... Jun 27 2006, 18:42   spf Цитата(CD_Eater @ Jun 28 2006, 00:42) Лич... Jun 28 2006, 01:06 spf Цитата(CD_Eater @ Jun 27 2006, 02:30) Трё... Jun 27 2006, 06:10  CD_Eater Цитата(spf @ Jun 27 2006, 10:10) Цитата(C... Jun 27 2006, 18:05 beer_warrior ЦитатаНо компиляторы используют обобщённые методы ... Jun 28 2006, 02:34 dxp Цитата(beer_warrior @ Jun 28 2006, 09:34)... Jun 28 2006, 03:48 forever failure Судя по объёму флуда, - асм жив, и более того - al... Jun 28 2006, 03:57 upc2 Еше 2 года назад писал Vxd драйверы под windows на... Jun 29 2006, 05:32 dxp Цитата(upc2 @ Jun 29 2006, 12:32) Прощай ... Jun 29 2006, 05:55  upc2 Цитата(dxp @ Jun 29 2006, 08:55) Цитата(u... Jun 29 2006, 07:40   dxp Цитата(upc2 @ Jun 29 2006, 14:40) Цитата(... Jun 29 2006, 08:17    Kopa [quote name='dxp' date='Jun 29 2006, 1... Jun 30 2006, 03:30 forever failure Ну вот ещё пример - о вечном. Совершенно прикладна... Jun 29 2006, 06:27 upc2 Ну,в общем я с вами согласен.Мы говорим об одном и... Jun 29 2006, 08:59 beer_warrior Чтобы не путаться в терминологии, наверное надо че... Jun 30 2006, 05:23
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|