Учусь ассемблеру - "микроконтроллеры avr" от белова а.в.

Тема в разделе "Флудилка", создана пользователем OldKryptos, 11 ноя 2021.

  1. b707

    b707 Гуру

    ОК, пойду спать
     
    Рокки1945 нравится это.
  2. Извините конечно, но в этом утверждении неверно почти все. А сравнение с рытьем котлована уместно только в смысле сравнения с ручным переводом програмы на фортране/паскале/си в машинный код - работа тяжелая, но выполнимая. В некотором прошлом ее успешно выполняли, и это было необходимо (как был написан первый компилятор или ассемблер?). Конечно, сейчас такая работа бессмысленна.

    Я не призываю никого писать на ассемблере, но утверждаю, что знание последнего полезно и начинать лучше с него ибо он дает большее представление о происходящем.
     
    Рокки1945 и parovoZZ нравится это.
  3. issaom

    issaom Гуру

    Дык вроде как даже чтобы кружок на дисплее нарисовать корень нужен... хотя я х/з может есть и более продвинутые методы рисования кружков
     
  4. parovoZZ

    parovoZZ Гуру

    именно так. Просто потом, когда вам нужны будут очень жёсткие (детерминированные) интервалы времени, вы код вылизывать будете до совершенства. А такие требования в промке на каждом шагу.
     
  5. parovoZZ

    parovoZZ Гуру

    корень зачем???
     
  6. issaom

    issaom Гуру

    Координаты точек расчитывать исходя из формулы круга)))
     
  7. Для МК - может быть, для обычных машин - скорее нет. Хотя была у меня одна история, когда в ассембленой вставке потребовалось выравнивание кода. Был такой замечательный компутер ЕС1834 со специфически CGA-подобным видеоадаптером. Выравнивание по границе слов было нужно чтобы успеть записать символ во время обратного хода луча, иначе на экране появлялись помехи.

    Но все же речь о понимании, а не о подсчете тактов...
     
  8. issaom

    issaom Гуру

    Это же графический примитив, для отрисовки нужно найти все координаты точек окружности х и y
    примитив.JPG
    если расскажите как это сделать без вычисления корней буду благодарен.
     
  9. Алгоритм Брезенхема (есть и для прямых и для окружностей), ссылку не привожу, т.к. быстро не могу оценить, очень давно это было...
     
    issaom нравится это.
  10. issaom

    issaom Гуру

    Спасибо!
     
  11. DetSimen

    DetSimen Гуру

    Ассемблер полезно знать, чтобы понимать, какие конструкции генерирует компилятор, для написания эффективного кода. Но, сопсно, программировать на ём вовсе не обязательно.
    Но некоторые вещи эффективнее делать на нем, я согласен, сам так делал
    Код (Text):
    procedure _ReadCPUFullName; assembler;
    asm
      push   ebx
      push   edi
      lea    edi,_CPUName    // куды ложыть название

      mov    eax,$80000002
    @loop: push   eax
      cpuid
      stosd
      mov  eax,ebx
      stosd
      mov  eax,ecx
      stosd
      mov  eax,edx
      stosd                 // 16 байт по очереди  [edi]<-eax,ebx,ecx,edx
      pop  eax
      inc  al
      cmp  al,5             // и так 3 раза. :)
      jnz  @loop

      pop    edi
      pop    ebx
      lea    eax,_CPUName   // названье складено

    end;
     
     
    Последнее редактирование: 13 ноя 2021
  12. Asper Daffy

    Asper Daffy Иксперд

    Игорь, я не любитель ни ассемблера, ни какого-то другого языка, но можно я отвечу на Ваш пост?

    Вы путаете профессиональную деятельность (где важен результат) с хобби (где важен процесс). Если речь о хобби, то цель не сделать проект, а получить удовольствие. И если человек получает удовольствие от писанины на ассемблере или там брейнфаке, фортране или ещё какой Аде, то и слава Богу. При чём тут проекты и результаты? Удовольствие получено - это и есть результат.

    У меня, например, ближайшая "пятёрочка" в километре от дома, а фермерский мясной магазин - в двух. Есть автомобиль. Но иногда я езжу туда на велике или хожу пешком. Конечно, на автомобиле было бы быстрее и удобнее.
     
    Последнее редактирование: 13 ноя 2021
    maxalex, a1000 и parovoZZ нравится это.
  13. KindMan

    KindMan Гуру

    Многие в курсе, Евгений Петрович, что вы профессионал! И мне нравиться, как вы помогаете новичкам и любителям, виден педагогический посыл! От себя, ещё раз, спасибо!
    С моей колокольни, видится как раз обратное, что ИгорьК всегда на этом форуме в роли именно DIYщика, который показывает(ал) как можно что-то сделать, чтобы оно работало и с применением усилий, которые доступны любому нормальному человеку, обладающим хоть минимальным интеллектом, и этот Форум, как ответвление магазина Амперки, ориентированного именно на хобби`стов. И когда тут начинается посыл от профи, которые не нашли себе лучшее применение, чем учить жизни молодняк - "От этих почему, зачем, вдруг стало скучно сразу всем. И вмиг в зеленый мир леска, пришла зеленая тоска."
    Тот же parovoZZ, опубликовывал отличные свои проекты и зарисовки, виден грамотный и дотошный подход, который необходим профи, но, думаю ни один Ардуинщик ничего не повторил, именно потому-что не по тематике форума.
    Вот и ассемблер просто не в теме этого форума, и вызывает реакцию обратную, что он именно для выпендрёжа, смотрите я могу мигать диодом и без digitalWrite, и дальше никаких плюсов для хобби`стов он не несет.
     
  14. parovoZZ

    parovoZZ Гуру

    для обычных - нет. А где процессы происходят очень быстро, скорее - да. Скорость реакции, например, не должна превышать 10-20 мкс. Скажите возьмите проц пожирнее - так у вас и так stm32F7xxx. Куда жирнее то?
     
    Рокки1945 нравится это.
  15. parovoZZ

    parovoZZ Гуру

    ещё 50 с лишним лет назад был разработан алгоритм машинного рисования линий, кривых и окружностей. Его обязательно проходят во всех учебных заведениях по направлению программирования.
     
    issaom и Рокки1945 нравится это.
  16. parovoZZ

    parovoZZ Гуру

    ну никому же не известно, помогла кому-то эта информация или нет. Кто-то её прочитал и усвоил, а регистрироваться на форуме ради "Спасибо, чувак!" мало кто будет.
     
    Рокки1945 нравится это.
  17. b707

    b707 Гуру

    10-20мкс это не "быстрая реакция". Такое можно сделать на любой ардуино в рамках ардуино-кода, без всякого ассемблера.

    зачем для этого асм?
    разбираю сейчас либу под новые китайские светодиодные матрицы. интервалы времени там получаются - 100-200 нс (наносекунд). Это как, достаточно жесткие? - пишется не только без ассемблера, а даже. о ужас - через ардуино ИДЕ..(мк - банальный stm32f103)
    и ничего, работает
     
    Последнее редактирование: 13 ноя 2021
    Рокки1945 нравится это.
  18. KindMan

    KindMan Гуру

    Известно, мне как минимум помогла.
     
  19. parovoZZ

    parovoZZ Гуру

    А если я тебе скажу, что за это время надо обсчитать ПИД регулятор (или любую другую передаточную характеристику), или же разложить входной импульс в ряд Фурье, или же опросить 100 входов и принять решение.... Ну как?
     
  20. Рокки1945

    Рокки1945 Гуру

    для этго и делают фриртос