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

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

  1. OldKryptos

    OldKryptos Гик

    Не уверен, что буду на нём программировать, но то что этот язык является "волшебным пендалем" для изучения даташитов контроллеров, нет никакого сомнения.
    Буду выкладывать в этой теме некоторые шаги самостоятельного изучения Ассемблера по книжке "Микроконтроллеры AVR" от Белова А.В. Возможно, многое из этого читателю покажется секретами полишинеля, но для чайника. - это "всё впервые и вновь".

    Итак... Паскаль!!!
    Общаться на Ассемблере с микросхемами можно и десятичными числами, но лучше двоичными, или шестнадцатеричными. Вовсе не потому, что транслятор все равно переведет человеческий код в машинный, а потому, что так удобней. Архитектура контроллера способствует этому, и довольно быстро привыкаешь пересчитывать небольшие числа в уме из одной системы в другую. Но когда нужно посчитать некоторые константы, а иногда и по многу раз, это начинает утомлять. И тут я вспомнил по Паскаль. Сын, иногда, домашку по информатике делает на PascalABC. Я посмотрел, потыкал и сделал на нем пару программулек для своих экзерсисов. Удобно. Быстро пишется, всегда под рукой. Видишь промежуточные расчеты во всех интересующих системах - хоть десятичные, хоть шестнадцатеричные, хоть бинарные.

    PaSCAL.jpg
     
    Un_ka нравится это.
  2. b707

    b707 Гуру

    чета хрень какая-то на скрине
    Код (C++):
    Предделитель  2048
    Двоичное представление - 11110100001
    Hex 7A1
    вы сами-то не видите, что тут фигня написана? 2048 это степень двойки, а значит в бинарном представлении это "круглое" число - единица с 11 нулями.
    Эта ошибка просто таки бросается в глаза, примерно как 2*2 = 6

    Если хотите программить МК на низком уровне - выучите степени двойки хотя бы до 2**16
    Такие вещи нужно видеть сразу, без всяких калькуляторов.


    ну и дальше тоже - предделитель 4.8825, двоичное представление 100 ???
     
    OldKryptos нравится это.
  3. b707

    b707 Гуру

    а вообще - тема вроде про АСМ, а на деле про перевод десятичных чисел в хекс :)
    Для этой задачи ( перевода чисел) в винде есть калькулятор :)
     
    SergeiL нравится это.
  4. ИгорьК

    ИгорьК Гуру

    Зачем?

    Нет, я ни в чем не хочу убеждать. Но все таки очень интересно, что толкает человека изучать ассемблер на уходящих в прошлое МК, которые только и живы тем, что столетние мамонты когда-то изучили их, и еще не вымерли.

    Вы что-то хотите в результате сделать, или like древнему японскому искусству наточки мечей, когда человек всю жизнь его точит и ни разу не делает удар?
     
    SergeiL, parovoZZ и OldKryptos нравится это.
  5. OldKryptos

    OldKryptos Гик

    А еще у меня автомобиль с ручной коробкой передач ))
     
  6. ИгорьК

    ИгорьК Гуру

    На нем вы хотя бы ездите? Или для коллекции?
     
  7. OldKryptos

    OldKryptos Гик

    Ок, спасибо
    Ок. Спасибо за замечание, поправлю.
     
  8. OldKryptos

    OldKryptos Гик

    У меня калькулятор и в телефоне есть, но когда нужна цепочка вычислений, начинает доставать.
     
  9. ИгорьК

    ИгорьК Гуру

    upload_2021-11-11_12-26-58.png

    Рекомендую. Вычисляешь как придется а потом приводишь к требуемому формату.
     
    OldKryptos нравится это.
  10. OldKryptos

    OldKryptos Гик

    Естессно
    turs.jpg
     
    ИгорьК и b707 нравится это.
  11. OldKryptos

    OldKryptos Гик

    Для вывода на экран не то значение указал, теперь намано.
    bin.JPG
     
  12. b707

    b707 Гуру

    турцию тоже на своей машине? Или самолет + прокат?

    упс... хотя о чем это я - карта дает ответ на вопрос - прокат


    Непонятно, причем тут РКПП :) Как будто на автомате нельзя ездить далеко :)
     
  13. issaom

    issaom Гуру

    Я как то очень давно видел плотника, у которого весь верстак был изрисован геометрическими фигурами и формулами.... На моё?? человек сказал, что просто увлекается геометрией. Хобби они разные могут быть, и вопрос "Зачем" там мягко говоря не уместен )))
     
    OldKryptos нравится это.
  14. OldKryptos

    OldKryptos Гик

    Игорь сомневается, что на РКПП можно ездить ))
    Да, Турция. Черногория и Калининград, это прокат, но тоже РК. Накануне ковида опростоволосился и в Германию не взял права. Так бы еще и Германия была на карте.
     
    Последнее редактирование: 11 ноя 2021
  15. b707

    b707 Гуру

    ну это еще спорный вопрос, что удобнее :)
     
    OldKryptos нравится это.
  16. OldKryptos

    OldKryptos Гик

    Ну в общем, да. Для меня нет насущной необходимости быть на гребне новинок. У меня это не профессия, а хобби. С другой стороны, что - настолько катастрофические различия в регистрах ввода/вывода у разных контроллеров, что не постичь новое, если разберешься со старым?
     
  17. b707

    b707 Гуру

    Вы не поняли - посыл сообщения Игоря совсем другой - что можно писать хорошие программы, не влезая в потроха контроллеров вовсе. Что лично он замечательно доказывает кучей своих проектов.
    И ассемблер для чтения даташитов, в общем-то, совсем не обязательно знать. Обычно никакого ассемблера в даташите нет.

    Хотя, если то, что 2048 = 0x800 для вас новость - книжка будет полезной. :) Но к ассемблеру это никакого отношения не имеет :)
     
    OldKryptos нравится это.
  18. ИгорьК

    ИгорьК Гуру

    Не сомневаюсь ничуть.

    Но коль тема во флудилке, то могу написать. Вспоминаю брата жены. Когда-то, давно-давно, после жигулей, он купил первую иномарку, Пыж четырестакакой-то на механике. 120 лошадей. Визг стоял щенячий, "я чувствую машину", "я никогда, НИКОГДА не сяду на автомат". Я тогда приблизительно купил на рынке тоже иномарку - Опель Вектра на автомате и он все сравнивал.

    И что. Теперь ездит на автомате и не жужжит. И это "никогда!!!!!!!!!" так забавно вспоминается.

    А регистры МК и на сях применяются аж пиджак заворачивается. Это если что-то сделать хочешь.
     
    SergeiL, DetSimen и b707 нравится это.
  19. b707

    b707 Гуру

    согласен. Все эти "никогда" очень смешно смотрятся.
    "Я никогда больше не сяду за руль ВАЗа!" - фигня.
    Жизнь припрет - сядешь
     
    ИгорьК нравится это.
  20. ИгорьК

    ИгорьК Гуру

    А вот случай был. Про механику. Были у меня Жигули настоящие. Ехал по Москве из Перово на Проспект Мира и в начале пути кронштейн спинки сиденья водительского места разломился и спинка упала назад.
    Вот тогда я узнал, что такое механика, когда сидишь на табуретке, а не в кресле. Врагу не пожелаю: выжимаешь сцепление, а задница уезжает назад, за пределы табуретки :) А сцепление почти не выжалось.
    Тогда я еще не знал что есть автомат (и там спинки кресел не отваливаются в пути :) )
     
    OldKryptos нравится это.