Сколько раз убеждался в том, что если объяснить зачем оно так, а не просто декларировать - то это понимается моментально. В данном случае сразу понятно почему некоторые команды работают только с некоторыми регистрами.
Спасибо большое. Который раз убеждаюсь в правдивости фразы, что ассемблер нельзя выучить - только понять. Только на этой лекции понял смысл ограничений наложенных на некоторые команды в доступе к регистрам РОН и работе с константами.
Анатолий Борисович, поясните, пожалуйста, как работают эти команды на практике в АЛУ из лекции 323. Если эти команды появляются на выходе памяти команд, то значит попадают на вход дешифратора. Дешифратор, по идее, двоичный код на входе должен перевести в десятичный на выходе, т.е. выдать всего один бит. Но на мультиплексор и демультиплексор явно подается комбинация из множества битов. Так же, непонятно как дешифратор обрабатывает команды, содержащие константы (данные). Было бы здорово взять несколько команд из таблицы лекции 324 и отследить их прохождение на принципиальной схеме АЛУ лекции 323 прямо от памяти команд до РОН. Заранее спасибо.
Отличная лекция. Теперь понятно, как реализуется блок условия. Вычисляем выражение, далее если флаг ноль, то одной командой вылетаем на Else. Я же думал, что это реализовано иначе.
У ARM есть ещё один занятный способ. Для любой инструкции можно указать код условия. Если условие выполняется, то инструкция срабатывает, если нет, то игнорируется. Классическое ветвление там, конечно, тоже есть.
Такое, как вы выразились, «безобразно» большое число команд конечно же осмысленно. Сами посудите: проверки флагов на Set/Cleared - уже 10 команд. Проверка, включены ли прерывания - ещё 2. Остальные - проверки на равенство, больше/меньше и знак. Всё отлично! Это же не x86 тут команд на две странички всего. Хотя конечно, ассемблер MIPS или MSP430 ещё проще. Кстати, для радиолюбителей, на мой взгляд, MSP430 и STM8 поприятнее будет для всякой мелочёвки. А для чего покрупнее - STM32. Единственный минус - надо заказывать, а то по непонятным причинам радиомагазины в основном на 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. Очень удобно. Есть, конечно, неприятные моменты вроде фьюзов, но в целом неплохое семейство. Я просто за разнообразие и здоровую конкуренцию. :)
Пожалуйста, зайдите в описание моего канала. Там есть ссылка на мой сайт. Перейдите на него и скачайте свободно все лекции( Новые я добавляю туда с некоторой задержкой )
В фильме "Спектральный анализ" довольно хорошо показано что могут сотворить молдавские радиотехники :). Ясно теперь чем в Рыбницком филиале занимаются :).
Конечно, есть. Откуда же ещё могут взяться такие сведения? 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
Вот на первый взгляд все понятно, разжевано и все такое... Но!!! Некоторые команды занимают старшие 4 бита. Некоторые 5. Есть и 9. Так каким образом процессор понимает, что эти биты команда, а не часть данных или номера регистра, первые 4 бита понятно, вроде универсально. Было бы понятно, если бы все было по 9 бит, допустим. Можно аппаратно сделать так, чтобы эта часть читалось только как команда. Но они имеют разное количество бит.
Прочитав первые 4 бита можно понять к какой группе относится команда и решить если следующие биты определяют код команды или операнд. В отличие от программы, аппаратно процессор посчитает всё что возможно параллельно, нужно только выбрать правильный результат в конце =)
Леонид, а Вы зря предираетесь. Нет необходимости искать англопроизношение комманд. Они же написаны не по-английски, а латинскими буквами. Вы же, надеюсь, не из тех невежд, которые считают, что существуют английские буквы.
Сколько раз убеждался в том, что если объяснить зачем оно так, а не просто декларировать - то это понимается моментально. В данном случае сразу понятно почему некоторые команды работают только с некоторыми регистрами.
Спасибо вам за лекцию. Продолжайте пожалуйста.
Спасибо большое. Который раз убеждаюсь в правдивости фразы, что ассемблер нельзя выучить - только понять. Только на этой лекции понял смысл ограничений наложенных на некоторые команды в доступе к регистрам РОН и работе с константами.
Ага))) dihalt РОН 0...15 просто назвал "какие то не полноценные", а тут всё ясно!
Анатолий Борисович, поясните, пожалуйста, как работают эти команды на практике в АЛУ из лекции 323. Если эти команды появляются на выходе памяти команд, то значит попадают на вход дешифратора. Дешифратор, по идее, двоичный код на входе должен перевести в десятичный на выходе, т.е. выдать всего один бит. Но на мультиплексор и демультиплексор явно подается комбинация из множества битов.
Так же, непонятно как дешифратор обрабатывает команды, содержащие константы (данные).
Было бы здорово взять несколько команд из таблицы лекции 324 и отследить их прохождение на принципиальной схеме АЛУ лекции 323 прямо от памяти команд до РОН. Заранее спасибо.
А где можно эту таблицу скачать?
Отличная лекция. Теперь понятно, как реализуется блок условия. Вычисляем выражение, далее если флаг ноль, то одной командой вылетаем на Else. Я же думал, что это реализовано иначе.
У ARM есть ещё один занятный способ. Для любой инструкции можно указать код условия. Если условие выполняется, то инструкция срабатывает, если нет, то игнорируется. Классическое ветвление там, конечно, тоже есть.
Надеюсь, в ходе обучения пойму, что значат єтие квадратики
здорово
СПАСИБО.
Такое, как вы выразились, «безобразно» большое число команд конечно же осмысленно. Сами посудите: проверки флагов на 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. Очень удобно. Есть, конечно, неприятные моменты вроде фьюзов, но в целом неплохое семейство. Я просто за разнообразие и здоровую конкуренцию. :)
Замечательная лекция!
очень много ошибок уроки ничего не дадут в изучении, утопия
@@allallall2321 а именно? Не могли бы вы их перечислить?
Ого! Я заметил ошибку в таблице)).
Послухав через ностальгію: перша мова програмування була асемблер)
Перша мова була якась двійкова мова, а не збирач. Збирач це вже досконала мова кінцевих років
Добрый вечер, подскажите пожалуйста где можно приобрести полный курс ваших лекций, а то у меня не всегда имеется интернет !
Пожалуйста, зайдите в описание моего канала. Там есть ссылка на мой сайт. Перейдите на него и скачайте свободно все лекции( Новые я добавляю туда с некоторой задержкой )
Зайдите на мой сайт (см описание канала). Там в разделе Электроника есть ссылки на эти лекции. Когда будет интернет скачайте их всех. Это бесплатно.
@@Zefar91 Спасибо огромное!!!
А где лекции с 1 до 232? Начало есть?
В фильме "Спектральный анализ" довольно хорошо показано что могут сотворить молдавские радиотехники :). Ясно теперь чем в Рыбницком филиале занимаются :).
И откуда вы берете эту информацию? Неужели в даташите всё это есть? Я не видел такой информации. А может плохо смотрел?)
Конечно, есть. Откуда же ещё могут взяться такие сведения?
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
Здравствуйте, я очень начинающий, подскажите пожалуйста а что такое *роны*-звучит примерно на 3:52 минуте, этой лекции.Спасибо.
РОН - регистр общего назначения, для таких регистров имеется большое множество команд процессора.
Спасибо огромное, извиняюсь ума не хватило додуматься что это сокращение.А вообще все просмотренные ваши лекции много полезного для меня.
Вот на первый взгляд все понятно, разжевано и все такое... Но!!!
Некоторые команды занимают старшие 4 бита. Некоторые 5. Есть и 9. Так каким образом процессор понимает, что эти биты команда, а не часть данных или номера регистра, первые 4 бита понятно, вроде универсально. Было бы понятно, если бы все было по 9 бит, допустим. Можно аппаратно сделать так, чтобы эта часть читалось только как команда. Но они имеют разное количество бит.
Да. Тоже интересно узнать.
Прочитав первые 4 бита можно понять к какой группе относится команда и решить если следующие биты определяют код команды или операнд. В отличие от программы, аппаратно процессор посчитает всё что возможно параллельно, нужно только выбрать правильный результат в конце =)
А где можно скачать
Эффективнее будет переписать из ролика, усвоиться лучше!
Все прекрасно, есть пара уточнений: "SUB" конечно же не "суб", а "сэб" от полного subtraction, также SWAP читается как "своп"
Леонид, а Вы зря предираетесь. Нет необходимости искать англопроизношение комманд. Они же написаны не по-английски, а латинскими буквами. Вы же, надеюсь, не из тех невежд, которые считают, что существуют английские буквы.
это ассемблер или С?
Спасибо, понял досмотрев.
Nob na" Cancel pomenyatti