Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Лабораторная_работа_№_01_МТ4-81_Keil_uVision

Лабораторная_работа_№_01_МТ4-81_Keil_uVision (Лабораторный практикум), страница 3

PDF-файл Лабораторная_работа_№_01_МТ4-81_Keil_uVision (Лабораторный практикум), страница 3 Языки интернет-программирования (17432): Лабораторная работа - 5 семестрЛабораторная_работа_№_01_МТ4-81_Keil_uVision (Лабораторный практикум) - PDF, страница 3 (17432) - СтудИзба2017-12-28СтудИзба

Описание файла

Файл "Лабораторная_работа_№_01_МТ4-81_Keil_uVision" внутри архива находится в папке "Лабораторный практикум". PDF-файл из архива "Лабораторный практикум", который расположен в категории "". Всё это находится в предмете "языки интернет-программирования" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "языки интернет-программирования" в общих файлах.

Просмотр PDF-файла онлайн

Текст 3 страницы из PDF

Регистровый файл состоит из шестнадцати 32-битныхрегистров. Регистры R0 - R12 используются для хранения значенийпеременных. Регистр R13 - указатель вершины стека. R14 - регистр связи,используется для хранения адреса возврата из процедуры. И, наконец регистрR15 - является программным счетчиком.- 22 -Приложение №3Система команд Thumb-2 микроконтроллеров ARM Cortex M3.Арифметические операцииADD R0, R1, Operand2ADD R0, R1, 12bit const.ADC R0, R1, R2ADCADC R0, R1, 8bit constСложениеR0 = R1 + R2Сложение с учётом переносаR0 = R1 + R2 + CADDW ADD R0, R1, 12bit const.Сложение с 12bit константойADDSUB R0, R1, R2SUB R0, R1, 12bit const.SBC R0, R1, R2SBC R0, R1, 8bit const.ВычитаниеR0 = R1 - R2Вычитание с учётом переносаR0 = R1 - R2 - CSUBW SUB R0, R1, 12bit const.Вычитание с 12bit константойSUBSBCRSBRSB R0, R1, R2RSB R0, R1, 8bit const.RSB R0, R1, R2, ASR#23Вычитание с противоположным порядкомаргументов.R0 = R2 - R1 или R0 = 8bit const - R1N, Z, C,VN, Z, C,VN, Z, C,VN, Z, C,VN, Z, C,VN, Z, C,VSSSSN, Z, C,SVУмножение.

Деление.MUL R0 = R1 x R2MLA R0 = (R1 x R2) + R3MLS R0 = R3 - (R1 x R2)UMULL RLo, RHi = R2 x R3UMLAL RLo, RHi += R2 x R3SMULL RLo, RHi = R2 x R3SMLAL RLo, RHi += R2 x R3UDIV R0 = R1 / R2SDIV R0 = R1 / R2Умножение. 32bit результатУмножение и сложениеУмножение и вычитаниеУмножение. 64bit результатУмножение и сложениеУмножение со знаком. 64bit результатУмножение со знаком и сложениеДеление без знакаДеление со знакомN, ZS- 23 Доступ к памятиADRLDRSTRLDRSTRADR R0, label +/- 12bitADR.W R0, label +/- 32bitLDR R0, [R1, #8bit const.]! - прединкрементLDR R0, [R1], #8bit const.

- постинкрементLDRB R0, [R1] - без инкрементаSTRB R0, [R1], #1LDR R0, [R1, R2, {LSL#0..3}]STR R0, [R1, R2, {LSL#0..3}]LDR LDR R0, labelLDRD LDRD R0, R1, labelLDRTSTRTLDRD R0, R1, [R2, #10bit const.]! - прединкрементLDRD LDRD R0, R1, [R2], #10bit const. - постинкрементSTRD LDRD R0, R1, [R2] - без инкрементаSTRD R0, R1, [R2]LDM R0, {R1-R3}LDMLDM R0!, {R1-R3} - постинкремент R0STMIA, DB, FD, EA - см. описаниеPUSH PUSH {R0, R2-R7, R12}POP POP {R0, R2-R7, R12}LDREX LDREX R1, [R2, #10bit const.]STREX STREX R0, R1, [R2, #10bit const.]CLREX CLREX (без параметров)Загрузка адреса метки в регистр.Загрузка/сохранение регистра в режимеадресации со смещением.B=байт, SB=байт со знаком (только загрузка)H=полуслово, SH=полуслово со знаком (только загрузка)Смещение задаётся третьим регистром.B, SB, H, SH работают аналогичноСмещение задаётся адресом метки.B, SB, H, SH работают аналогичноНевозможно применить к STR/STRD.Непривилегированный доступ.Аналогичны простому LDR/STR.Загрузка/сохранение двух регистров в режимеадресации со смещением.Константа должна быть кратна 4.Загрузка/сохранение множества регистров.IA - с увеличением адресаDB - с уменьшением адреса.Загрузка/чтение из стекаЭксклюзивное чтение/запись регистра.B=байт, H=полуслово.Сброс признака эксклюзивного доступа.Перемещение и обработка данныхMOVMVNЗагрузка/перемещение регистровN, Z, C,Загрузка 16-бит в мл.

полуслово, сброс старшегоVПеремещение регистра с инверсиейЗагр. 16bit в старшее полуслово. Младш. остаётся безизменений.СравнениеN, Z, C,Сравнение с противоположным знакомVПроверить значение битов по маскеN, Z, CПроверить равенство двух величинN, ZMOV R0, R1MOV R0, 16bit const.MVN R0, R1MOVT MOVT R0, 16bit const.CMP CMP R0, R1CMN CMN R0, R1TSTTST R0, Operand2TEQ TEQ R0, Operand2REVREV16REV R0, R1REVSHRBITCLZCLZ R0, R1SSSSИзменение порядка битов или байтов в словеПодсчет количества ведущих нулейЛогические операцииAND ИORR ИЛИEOR Исключающее ИЛИBIC Сброс битов по маске. И-НЕORN ИЛИ-НЕ0 в маске сбрасывает биты.

Второй Operand2 для всех команд1 в маске устанавливает биты1 в маске инвертирует биты1 в маске сбрасывает биты0 в маске устанавливает битыN, Z, CSN, Z, CSОперации сдвигаАрифметический сдвигASR вправоLSL Логический сдвиг влевоLSR Логический сдвиг вправоROR Циклический сдвиг вправоRRX Сдвиг вправо на 1 позициючерез переносВетвление. Подпрограммы.BB labelBX BX R0BL BL labelBLX BLX R0BXBX LRLRCBZ CBZ R0, labelCBNZ CBNZ R0, labelTBB TBB [R0, R1]TBH TBH [R0, R1, LSL #1]Переход к меткеПереход по адресу в регистреВыполнить подпрограмму labelВыполнить подпрограмму по адресу в регистреВозврат из подпрограммыПереход, если R0 = 0Переход, если R0 != 0Табличный переход по индексу.

Короткий переход.Длиннй переход- 24 ITIT{x{y{z}}} condБлок условно исполняемых инструкцийРабота с битовыми полямиBFC BFC R0, #lsb, #widthBFI BFI R0, R1, #lsb, #widthUBFX UBFX R0, R1, #lsb, #widthSBFX SBFX R0, R1, #lsb, #widthUXTBUXTB R0, R1 {, ROR #8,16,24}UXTHSXTBSXTB R0, R1 {, ROR #8,16,24}SXTHСброс поля в нольКопирует младшие биты R1 в поле R0Копирует поле R1 в мл.

биты R0 с заполнением нулямиКопирует поле R1 в мл. биты R0 с расширением знакаПреобразование байта с заполнением нулямиПреобразование полусловаПреобразование байта с расширением знакаПреобразование полусловаПреобразование данных с насыщениемSSAT SSAT Rd, #n, Rm {, shift #s}USAT USAT Rd, #n, Rm {, shift #s}Число со знаком в число со знаком,Число со знаком в число без знакаQУправление системойMRS MRS R0, PSRMSR MSR PSR, R0CPSIECPSIDWFE WFEWFI WFIBKPTDMBDMBDSBISB ISBSEV SEVSVC SVC 8bit const.NOP NOPЧтение/запись специальных регистров.Разрешение/запрет прерыванийОжидать событиеОжидать прерываниеТочка остановаБарьер синхронизации доступа к ОЗУСброс конвейераДёрнуть ножкой события для внешних камнейВызов системного сервисаСуффиксы условного исполненияEQ Z = 1NE Z = 0CS,C=1HSCC,C=0LOMI N = 1PL N = 0VS V = 1VС V = 0HI C = 1 и Z=0C = 0 илиLSZ=1GE N = VLT N != VZ=0иN=GTVZ = 1 и N !=LEVAL 1РавенствоНеравенствоБольше или равно, беззнаковое сравнениеМеньше, беззнаковое сравнениеОтрицательное значение, меньше нуляПоложительное значение, больше или равно нулюПереполнениеНет переполненияБольше, беззнаковое сравнениеМеньше или равно, беззнаковое сравнениеБольше или равно, знаковое сравнениеМеньше, знаковое сравнениеБольше, знаковое сравнениеМеньше или равно, знаковое сравнениеБезусловное исполнениеВстроенные псевдоинструкции компиллятораMOV32 MOV32 R0, 32bit const.

(label)LDR LDR R0, =labelADRL ADRL R0, labelЗагрузить слово в регистр.Загрузить 32bit адрес метки или #числоЗагрузить 32bit адрес меткиПоле УсловияВ режиме ARM все команды выполняются в зависимости состоянию регистра CPSR и поляусловия самой команды. Это поле (биты 31:28) содержит условие, при которых командабудет выполнена. Если флаги C, N, Z и V установлены (сброшены) согласно коду поляусловия, то команда будет выполнена, в противном случае эта команда будетпроигнорирована.- 25 Всего существуют 16 различных условий, каждое из которых определяетсядвухсимвольным суффиксом, добавляемым к мнемонике команды. Например, командапереход (Branch - "B" в ассемблере) становится командой перейти, если равно - BEQ (Branchif Equal), которая означает, что переход будет выполнен, если установлен флаг Z.Практически можно использовать только 15 различных условий, 16-е условие (1111)зарезервировано и не применяется.При отсутствии в мнемонике команды условия выполнения или установлен суффикс AL, тоэта команда будет выполнена безусловно, независимо от состояния флагов условия (регистрCPSR).Перечень кодов условий выполненияКод СуффиксФлаги0000EQZ установлен0001NEZ сброшен0010CSC установлен0011CCC сброшен0100MIN установлен0101PLN сброшен0110VSV установлен0111VCV сброшен1000HIC установлен and Z сброшен1001LSC сброшен or Z установлен1010GEN равно V1011LTN не равно V1100GTZ сброшен AND (N равно V)1101LEZ установлен OR (N не равно V)1110AL(проигнорировано)ЗначениеРавноНе равноВыше или равноНижеОтрицательный результатПоложительный результат либо нольПереполнениеНет переполненияВышеНиже или равноБольше или равноМеньшеБольшеМеньше или равноВсегдаПриложение №4Директивы ассемблера.Директива AREA.Директива AREA позволят создать программу, состоящую из нескольких сегментов:сегменты кода программы, сегменты данных.Синтаксис:AREA sectionname{,attr}{,attr}...sectionname - имя сегмента.

Имя сегмента может быть любым. Если имя начинается не сбуквы, то такое имя записывается между вертикальными линиями.attr - задает атрибуты сегмента. Если атрибутов несколько, то они разделяются запятой.CODE - этот атрибут указывает на то, что за директивой AREA, где он расположенследуют сегмент содержащий команды МК.DATA - описывает сегмент данных.READONLY - сегмент только для чтения.READWRITE - сегмент области памяти, предназначенной как для чтения так и длязаписи.ALIGN = выражение - этот атрибут задает выравнивание сегмента. Выражением можетбыть целое число n в интервале от 0 до 31.

Выравнивание осуществляется по границе 2^n.Если данный атрибут не задан, выравнивание осуществляется на границе 2 байт.- 26 ПримечаниеНе используйте ALIGN = 0 или ALIGN = 1 для сегмента кода с командами ARM.Не используйте ALIGN = 0 для сегмента кода с командами THUMB.COMMON - это общий сегмент данных. В данном сегменте должны содержаться одыкоманд или данные. При сборке программы компоновщиком (Link-ром) данная областьпамяти заполняется нулями. Все общие области с одинаковыми именами будут находится водной и той же области памяти.Приложение № 5.Карта памяти МК ARM Cortex M3Распределение памяти МК STM32L15x.Объем адресного пространства - 4 ГбRAM : до16 KбFLASH : до128 KбData EEPROM: до 4 KбРежимы загрузки.- 27 В зависимости от конфигурации загрузки, встроенная Flash –память, системнаяпамять или встроенная SRAM –память доступна с адреса @0x00(remapping).

Системнаяпамять и встроенная SRAM –память может также доступной с @0x00 адреса программно,установкой специальных бит.Режим загрузкиЗамечанияBOOT1BOOT0Х01011User FlashSystem MemoryEmbedded SRAMВстроенная Flash. Загрузочная область.Системная память. Загрузочная область.Встроенная SRAM. Загрузочная область.Приложение № 6.Системы тактирования (модуль Reset and clock control (RCC)).Регистры RCC.Приложение № 7.Литература.1.

П.П. Редькин. 32/16-битные микроконтроллеры ARM7 семейства AT91SAM7 фирмыATMEL. Руководство пользователя. Москва, издательский дом «Додека ХХI». 2008.2. Б. Пахомов. С/С++ и MS Visual C++ 2008 для начинающих. Санкт-Петербург, «БХВПетербург» 2009.3. Joseph Yiu. The Defi nitive Guide to the ARM Cortex-M3.- 28 4. RM0038. Reference manual. STM32L151xx and STM32L152xx advanced ARM-based32-bit MCUs..

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