Лекция 324. Atmega8: Анатомия команд
HTML-код
- Опубликовано: 29 сен 2024
- Описано множество часто используемых команд контроллера. Они классифицированы по коду команды для привязки к предыдущей лекции. Кратко указаны выполняемые действия и влияние на биты признаков. Описанные команды позволяют написать большинство программ на ассемблере. Показано распределение битов внутри команды на код, источник и приемник данных. Список всех лекций на сайте автора в описании канала.
А где можно эту таблицу скачать?
Отличная лекция. Теперь понятно, как реализуется блок условия. Вычисляем выражение, далее если флаг ноль, то одной командой вылетаем на Else. Я же думал, что это реализовано иначе.
У ARM есть ещё один занятный способ. Для любой инструкции можно указать код условия. Если условие выполняется, то инструкция срабатывает, если нет, то игнорируется. Классическое ветвление там, конечно, тоже есть.
Анатолий Борисович, поясните, пожалуйста, как работают эти команды на практике в АЛУ из лекции 323. Если эти команды появляются на выходе памяти команд, то значит попадают на вход дешифратора. Дешифратор, по идее, двоичный код на входе должен перевести в десятичный на выходе, т.е. выдать всего один бит. Но на мультиплексор и демультиплексор явно подается комбинация из множества битов.
Так же, непонятно как дешифратор обрабатывает команды, содержащие константы (данные).
Было бы здорово взять несколько команд из таблицы лекции 324 и отследить их прохождение на принципиальной схеме АЛУ лекции 323 прямо от памяти команд до РОН. Заранее спасибо.
Спасибо вам за лекцию. Продолжайте пожалуйста.
Надеюсь, в ходе обучения пойму, что значат єтие квадратики
Сколько раз убеждался в том, что если объяснить зачем оно так, а не просто декларировать - то это понимается моментально. В данном случае сразу понятно почему некоторые команды работают только с некоторыми регистрами.
Ого! Я заметил ошибку в таблице)).
Добрый вечер, подскажите пожалуйста где можно приобрести полный курс ваших лекций, а то у меня не всегда имеется интернет !
Пожалуйста, зайдите в описание моего канала. Там есть ссылка на мой сайт. Перейдите на него и скачайте свободно все лекции( Новые я добавляю туда с некоторой задержкой )
Зайдите на мой сайт (см описание канала). Там в разделе Электроника есть ссылки на эти лекции. Когда будет интернет скачайте их всех. Это бесплатно.
@@Zefar91 Спасибо огромное!!!
Послухав через ностальгію: перша мова програмування була асемблер)
Перша мова була якась двійкова мова, а не збирач. Збирач це вже досконала мова кінцевих років
И откуда вы берете эту информацию? Неужели в даташите всё это есть? Я не видел такой информации. А может плохо смотрел?)
Конечно, есть. Откуда же ещё могут взяться такие сведения?
www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf - см. раздел «Instruction Set Summary».
Если нужны подробности вроде опкодов (которые вообще не нужны для программирования) - www.atmel.com/images/Atmel-0856-AVR-Instruction-Set-Manual.pdf
А где лекции с 1 до 232? Начало есть?
здорово
Nob na" Cancel pomenyatti
Вот на первый взгляд все понятно, разжевано и все такое... Но!!!
Некоторые команды занимают старшие 4 бита. Некоторые 5. Есть и 9. Так каким образом процессор понимает, что эти биты команда, а не часть данных или номера регистра, первые 4 бита понятно, вроде универсально. Было бы понятно, если бы все было по 9 бит, допустим. Можно аппаратно сделать так, чтобы эта часть читалось только как команда. Но они имеют разное количество бит.
Да. Тоже интересно узнать.
Прочитав первые 4 бита можно понять к какой группе относится команда и решить если следующие биты определяют код команды или операнд. В отличие от программы, аппаратно процессор посчитает всё что возможно параллельно, нужно только выбрать правильный результат в конце =)
СПАСИБО.
Такое, как вы выразились, «безобразно» большое число команд конечно же осмысленно. Сами посудите: проверки флагов на Set/Cleared - уже 10 команд. Проверка, включены ли прерывания - ещё 2. Остальные - проверки на равенство, больше/меньше и знак. Всё отлично! Это же не x86 тут команд на две странички всего.
Хотя конечно, ассемблер MIPS или MSP430 ещё проще. Кстати, для радиолюбителей, на мой взгляд, MSP430 и STM8 поприятнее будет для всякой мелочёвки. А для чего покрупнее - STM32. Единственный минус - надо заказывать, а то по непонятным причинам радиомагазины в основном на AVR ориентированы.
По понятным. Ардуино ориентировано на AVR.
Да не, это задолго до Ардуино сложилось. Эта платформа не так давно и появилась. Вообще, раньше такое однообразие в самом деле было оправданным.
- Интернет не так развит был, а книжки можно было только по AVR и PIC, да и в «Радио» про них писали. Сейчас даташиты можно практически на всё найти.
- AVR были в DIP-корпусах и можно было легко платы рисовать лаком для ногтей. Сейчас, когда у многих есть лазерные принтеры, можно ЛУТом достаточно легко делать платы с дорожками 0,2 мм в домашних условиях. Корпуса SOIC и LQFP паяются обычным паяльником.
- Ассортимент был поменьше. Сейчас по цене Atmega8 можно купить STM32F103C8T6, у которой внутри 32-битное ядро ARM Cortex-M3, больше памяти, тактовая частота 72 МГц, куча периферии, поддержка USB. И 48 ног, что не может не радовать.
- AVR можно было программировать по 5 проводкам, воткнутым в LPT. Сейчас всё равно LPT отмирает и есть не у всех, а тот же USB ASP стоит пару долларов. Для STM32 программатор STLink-v2 за те же деньги позволяет не только программировать, но и отлаживать код.
Да и Ардуино сейчас на ARM переходит.
В общем, тут дело в консервативности скорее всего.
Не то, чтобы AVR плохие. Наоборот. Я вот для всякой мелочи закупил себе горсть Attiny13A в 8-ногом SOIC. Очень удобно. Есть, конечно, неприятные моменты вроде фьюзов, но в целом неплохое семейство. Я просто за разнообразие и здоровую конкуренцию. :)
Здравствуйте, я очень начинающий, подскажите пожалуйста а что такое *роны*-звучит примерно на 3:52 минуте, этой лекции.Спасибо.
РОН - регистр общего назначения, для таких регистров имеется большое множество команд процессора.
Спасибо огромное, извиняюсь ума не хватило додуматься что это сокращение.А вообще все просмотренные ваши лекции много полезного для меня.
А где можно скачать
Эффективнее будет переписать из ролика, усвоиться лучше!
Спасибо большое. Который раз убеждаюсь в правдивости фразы, что ассемблер нельзя выучить - только понять. Только на этой лекции понял смысл ограничений наложенных на некоторые команды в доступе к регистрам РОН и работе с константами.
Ага))) dihalt РОН 0...15 просто назвал "какие то не полноценные", а тут всё ясно!
В фильме "Спектральный анализ" довольно хорошо показано что могут сотворить молдавские радиотехники :). Ясно теперь чем в Рыбницком филиале занимаются :).
Замечательная лекция!
очень много ошибок уроки ничего не дадут в изучении, утопия
@@allallall2321 а именно? Не могли бы вы их перечислить?
это ассемблер или С?
Спасибо, понял досмотрев.
Все прекрасно, есть пара уточнений: "SUB" конечно же не "суб", а "сэб" от полного subtraction, также SWAP читается как "своп"
Леонид, а Вы зря предираетесь. Нет необходимости искать англопроизношение комманд. Они же написаны не по-английски, а латинскими буквами. Вы же, надеюсь, не из тех невежд, которые считают, что существуют английские буквы.