Главная » Просмотр файлов » Лабораторные МС 68HC11

Лабораторные МС 68HC11 (1086185), страница 4

Файл №1086185 Лабораторные МС 68HC11 (Описание микроконтроллера MC68HC11) 4 страницаЛабораторные МС 68HC11 (1086185) страница 42018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

будет сброшен флаг переносаadca #0; D = $0119Команда умножения производит беззнаковое умножениеMULдвух чисел, представленных в восьмиразрядных аккумуляторов.Результат помещается в 16-разрядный аккумулятор D. ФлагS X H I N Z V Cпереноса при этом устанавливается таким образом, что при- - - - - - - ?выполнении команды ADCA #0 происходит округление старшего байта.cpu6811org$c800ldaa #$10ldab #$68mul; $10 * $68 = $0680Арифметические команды.16adca#0IDIVS X H I- - - -N Z V C- ? 0 ?FDIVS X H I- - - -N Z V C- ? ? ?cpuorglddldxidivfdivЛабораторная работа №3; A = $7Команда IDIV производит целочисленное деление аккумулятора D на индексный регистр X.

После выполнения в регистр X заносится частное, а в регистр D - остаток от деления.При выполнении команды IDIV делимое обычно больше делителя. Команда FDIV производит операцию дробного делениятех же аргументов. Фактически FDIV может быть представленкак умножение регистра D на 216 с последующим выполнениемкоманды IDIV, поэтому при выполнении этой команды делитель обычно больше делимого. Эти две команды очень редкоиспользуются на практике.6811$c800#1020#512;;;;DXDD====1020 ($3fc)512 ($200)1 ($1), X = 508 ($1fc)129 ($81), X = 4 ($4)Арифметические команды.17Лабораторная работа №33.

Контрольные вопросы1. Какие команды сложения Вы знаете?2. Какие методы адресации используют команды ABA, ADDA, ABY?3. Какие команды вычитания Вам известны?4. Каким образом используется бит переноса в операции вычитания?5. Над какими операндами могут выполняться команды INC, DEC?6. Объясните отличие в выполнении команд ADD и ADC.7. Где располагаются результаты команды FDIV и что они собой представляют?8. Что может служить операндом команды ADCA?9.

Какой флаг устанавливается, если результат операции сложения превышает $FF?10.Объясните, по какому принципу устанавливаются флаги переноса, нуля и переполнения врегистре статуса CCR при выполнении арифметических команд сложения и вычитания.11.Объясните логику работы команд сложения/вычитания с учетом переноса/заема при обработке многобайтовых чисел.12.Объясните логику работы команды DAA.13.Чем отличаются команды FDIV и IDIV?4. Задания1. Напишите программу суммирования двух 16-разрядных чисел, представленных в BCDформате.2. Напишите программу суммирования регистров МК по следующей формулеD=A+B+lo(X)+hi(X)+lo(Y)+hi(Y), где lo и hi соответственно младший и старший байтысоответствующих регистров.3.

Напишите программу вычитания содержимого регистров X и Y из регистра D.4. Напишите программу сравнения ячеек памяти $0 и $1. Регистр A должен быть равен единице, если ячейки памяти равны.5. Вычислите произведение двух ячеек памяти. Содержимое всех регистров должно остатьсянеизменным.6. Напишите программу, позволяющую вычислить адрес элемента двухмерного массива размерностью 6(6, расположенного по адресу $c900. Индекс задается регистрами A и B.7. Напишите программу, которая преобразует число, заданное в регистре А, в восьмеричноепредставление этого числа в ASCII коде.8. Напишите программу, которая преобразует число, заданное в регистре А, в десятичноепредставление этого числа в ASCII коде.9. Просуммируйте содержимое двух ячеек памяти.

Содержимое всех регистров должноостаться неизменным.10.Вычислите разность содержимого регистров X и Y.11.Вычислите произведение регистров X и Y.12.Используя только команды TAB, SUBA, STAB, LDAB, DECA и XGDX занесите в регистрA значение $FF.13.Вычислите частное от деления содержимого индексного регистра X на содержимое индексного регистра Y. При этом все остальные регистры необходимо сохранить в начальных условиях.14.Напишите программу сравнения 16-разрядных чисел, расположенных в ячейках памяти$0 и $2. Регистр A должен быть равен нулю, если ячейки памяти не равны.Арифметические команды.18Лабораторная работа №4Лабораторная работа №4Логические команды. Команды работы с битовыми полями.Команды сдвигов.1. ВведениеВ данной лабораторной работе будут приведены эксперименты, предназначенные дляизучения работы логических команд (операции НЕ, И, ИЛИ, исключающее ИЛИ), командработы с битовыми полями (установка и сброс битов) и команд сдвигов (арифметический,логический и циклический сдвиги).2.

Логические командыЛогические команды включают в себя действия булевой алгебры над аккумуляторомили, в случае команды COM, над ячейкой памяти, заданной при помощи расширенной илиТаблица 4.1. Логические команды.COMAANDABITAORAAEORACOMBANDBBITBORABEORBCOMиндексной адресации. Команды BITA и BITB по принципу работы схожи с командамиANDA и ANDB, но не изменяют содержимого аккумулятораCOMA, COMB,(ср. CMPA и SUBA).COM (opr)Обычно логические команды используются для выборочнойустановки,обнуления, дополнения и тестирования битов,S X H I N Z V Cчто часто используется при работе с периферийными уст- - - - ? ? 0 1ройствами. Следующий пример показывает каким образомможно перенести содержимое старшего и младшего битов порANDA (opr), ANDB (opr),та С (крайних переключателей) в старший и младший битыBITA (opr), BITB (opr),порта B (крайних светодиодов).

При этом младший бит порта СORAA (opr), ORAB (opr),переносится с инверсией. (Программа написана таким обраEORA (opr), EORB (opr)зом, чтобы задействовать максимальное число логических команд и не оптимизирована на скорость выполнения).S X H I N Z V C- - - - ? ? 0 cpuorgldaaldabandboraa6811$c800$1f03$1f04#%01111110#%01111110comaeora#%10000000abastaa$1f04;;;;;;;;;;;;;;считать состояние переключателейсчитать состояние светодиодоввыделить неизменную частьустановить все неиспользуемые битыв “1”инвертировать значение аккумулятораинвертировать значение старшегобитасовместить результат (заметьте, чтомы заблаговременно маскировалинеиспользуемые биты, чтобы сейчассовместить два числа простымсуммированием)высветить результат на светодиодахЛогические команды. Команды работы с битовыми полями. Команды сдвигов.19Лабораторная работа №43. Команды работы с битовыми полямиКоманды работы с битовыми полями позволяют изменять указанные биты приемника(ячейки памяти или регистра статуса CCR), оставляя незадействованные биты нетронутыми.Список команд приведен в таблице 4.2.Таблица 4.2.

Команды работы с битовыми полями.SECSEISEVBSET*CLCCLICLVBCLR*Примечания:*- Команды, использующие прямую или индексную адресацию в качестве первого параметра и непосредственную - в качестве второго.Команды, представленные в первых трех столбцах таблицы, устанавливают (SE?) илисбрасывают (CL?) отдельные флаги в регистре статуса, на которые указывает третья буква вмнемонике команды (C - флаг переноса, I - маскирование прерываний, V - флаг переполнения). Приведем простой пример, показывающий один из способов занесения числа 1 в аккумулятор:cpu6811org$c800clra; очистить аккумуляторsec; установить флаг переносаadca #0; прибавить его к аккумуляторуВ реализации отладчика имеется одна особенность - если трассируемая команда запрещаетпрерывания, то выполнение программы будет продолжаться до тех пор, пока либо прерывания не будут разрешены, либо не произойдет прерывания по неправильному коду команды.В частности это относится к командам SEI и SWI (эта команда будет рассмотрена в следующей лабораторной работе.

Так же следует отметить, что если выполнение программы затянется, то отладчик выдаст сообщение об истечении времени ожидания ответа.Почти в каждой программе требуется возможность манипуляции отдельными битамиячейки памяти. Так, блок регистров представляет собой поBCLR (opr), BSET (opr)большей части битовые поля.Команды BCLR и BSET в качестве первого операнда поS X H I N Z V Cлучают ячейку памяти в которой соответственно сбрасываются- - - - ? ? 0 или устанавливаются биты, указанные в маске, заданной непосредственно вторым параметром.Приведем пример, демонстрирующий на светодиодах работу этих команд:cpu6811org$c800ldx#$1f00; настроить регистр Xbset 4,x,#$AA; зажечь через один светодиоды, оставив; незадействованные биты в прежнем; состоянииbclr 4,x,#$55; погасить остальные светодиодыВыполните эту программу в пошаговом режиме при разных начальных состояниях светодиодов (ячейки $1f04).4.

Команды сдвигов.Список команд сдвигов представлен в таблице 4.3. Эти команды позволяют адресоваться к аккумулятору или ячейке памяти.Команды сдвигов обычно подразделяют на три группы:• арифметические сдвиги,• логические сдвиги,• циклические сдвиги.Логические команды. Команды работы с битовыми полями. Команды сдвигов.20Лабораторная работа №4ASLA/ LSLAASLB/ LSLBASLD/ LSLDASL*/ LSL*ASRAASRBASR*LSRALSRBLSRDLSR*Таблица 4.3. Команды сдвигов.ROLARORAROLBRORBROL*ROR*Примечания:*- Команды, использующие расширенную или индексную адресацию.При арифметическом сдвиге происходит сохранение знака первоначального операнда при выполнении сдвига. При выполнении команды ASR происходит расширение знаковогоразряда. Это позволяет использовать команду для деления знакового числа на 2N. Однако для нечетных чисел деление неS X H I N Z V Cвсегда является корректным (разница в результате может со- - - - ? ? ? ?ставлять 1).

При выполнении команды арифметическогосдвига влево всякий раз при смене знакового бита устанавливается флаг V, а освободившиесяразряды заполняются 0. Таким образом становится возможным при помощи команд ASRпроизводить знаковое умножение числа на 2N.Флаг переноса устанавливается в соответствии с отбрасываемым битом.Все эксперименты в этой части лабораторной работы будут производиться со светодиодами, так как это наиболее наглядный способ для демонстрации операций сдвига.cpu6811org$c800ldaa #%00101001ldx#$1f00staa 4,x; высветить на светодиодах содержимое; аккумулятораasl4,x; умножить на дваasl4,x; еще раз умножить на два (происходит; переполнение)asr4,x; разделить на дваasr4,x; разделить на дваЛогические сдвиги производят сдвиг содержимого аккуLSLA, LSLB, LSL (opr),мулятора или ячейки памяти влево (LSL) или вправо (LSR).LSLD, LSRA, LSRB,При этом освободившиеся разряды всегда заполняются нуляLSR (opr), LSRDми.

Команды групп ASL и LSL выполняют в точности одинаковые действия и имеют одинаковые кода операций, поэтомуS X H I N Z V Cпокажем лишь отличие команд ASR от команд LSR:- - - - ? ? ? ?ASLA, ASLB, ASL (opr),ASLD, ASRA, ASRB,ASR (opr)cpuorgldaastaaasrasrlsrlsr6811$c800#%10101010$1f04$1f04$1f04$1f04$1f04ROLA,ROLB, ROL (opr),RORA,RORB, ROR (opr)S X H I- - - -N Z V C? ? ? ?; зажечь светодиоды через один; арифметический сдвиг вправо:; старший бит сохраняется; логический сдвиг:; старший бит заполняется 0; (светодиод гаснет)Команды циклического сдвига позволяют осуществитьоперацию логического сдвига над многобайтными числами.Отличие этих операций от операций логического сдвига состоит в том, что освободившийся разряд заполняется не нулем, асостоянием флага переноса C.

Характеристики

Тип файла
PDF-файл
Размер
727,84 Kb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее