Гл3_06 (1031649), страница 11

Файл №1031649 Гл3_06 (Раздаточный материал к курсовому проекту) 11 страницаГл3_06 (1031649) страница 112017-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Следует отметить, что регистр-указатель данных может быть использован как двухбайтовый регистр DPTR или как два однобайтовых регистра специальногоназначения DPH и DPL. Счетчик команд всегда используется, как двухбайтовый регистр.Синтаксис большинства команд ассемблерного языка МК состоит из мнемонического обозначения функции, вслед за которым идут операнды, указывающие методы адресации и типы данных. Различные типы данных или режимы адресации определяются установленными операндами, а не изменениями мнемонических обозначений. Например,аббревиатура "MOV" (переместить) используется восемнадцатью различными командамидля обработки трех типов данных (битов, байтов, адресов) в различных адресных пространствах.

Всего в ассемблере МК насчитывается 42 различных мнемоники, которые прикомбинации с различными способами адресации и составляют 111 команд.Кратко рассмотрим влияние команд на флаги PSW. Все команды, обновляющие содержимое аккумулятора влияют на бит паритета Р, устанавливающийся в единицу, есличисло единиц в аккумуляторе четно.Флаги переноса С, переполнения OV и дополнительного переноса АС устанавливаются в в командах, приведенных в таблице 3.18.Рябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им.

Н. Э. Баумана, V_Ryabov@mail.ru132Таблица 3.18. Команды, влияющие на установку флагов PSWКомандаСложение аккумулятора с …ADD A, …Сложение аккумулятора с переносом и… ADDС A, ..Вычитание из аккумулятора заема и …SUBB A, ..Умножение аккумулятора на регистр ВMUL ABДеление аккумулятора на регистр ВDIV ABДесятичная коррекция аккумулятораDA AСдвиг аккумулятора вправо через CRRCСдвиг аккумулятора влево через CRLCУстановить бит переносаSETB СОчистить бит переносаCLR СЛогическое И бита и переносаANL С, bitЛогическое И инверсии бита и переносаANL С, /bitЛогическое ИЛИ бита и переносаORL C, bitЛогическое ИЛИ инверсии бита и переноса ORL C, /bitПересылка бита в перенос MOV C, bitСравнение _, _ и переход, если не равноCJNECXXX00ХХХ10ХХXXXXФлагиOV ACXXXXXXXXПримечания:1.

X - флаг равен 0 или 1.2. Операции над регистром области SFR с адресом байта 208 или с адресами битов 209—215 (т.е. над PSW или битами PSW) также влияют на установку флагов.Все команды удобно поделить на пять групп:1) арифметические команды;2) логические команды с байтовыми переменными;3) команды пересылки данных;4) команды работы с битами (команды битового процессора);5) команды ветвления программ и передачи управления.Арифметические команды.

В наборе команд МК есть операции сложения, сложения с учетом флага переноса, вычитания с заемом, инкрементирования, декрементирования, сравнения, десятичной коррекции, умножения и деления. Список арифметическихкоманд приведен в таблице 3.19. В столбце «КОП» приведен код операции. Символами rrrв коде закодирован номер регистра, участвующего в операции. В столбцах «Ц» и «Б» приведено число машинных циклов на выполнение команды и число байт, занимаемых командой в памяти программ.В АЛУ производятся действия над целыми числами без знака. В двуоперандныхоперациях: сложение (ADD), сложение с переносом (ADDC) и вычитание с заемом(SUBB) аккумулятор является первым операндом и принимает результат операции.

Вторым операндом может быть рабочий регистр выбранного банка рабочих регистров, регистр внутренней памяти данных с косвенно-регистровой и прямой адресацией или байтнепосредственных данных. Указанные операции влияют на флаги: переполнения, переноса, промежуточного переноса и флаг четности в слове состояния процессора (PSW).Использование разряда переноса в операциях сложения (ADDC) и вычитания(SUBB)позволяет организовать обработку длинных целых, т.е.повысить точность.Выполнение операций сложения и вычитания с учетом знака может быть осуществлено с помощью программного управления флагом переполнения (0V) регистра PSW.Флаг промежуточного переноса (АС) обеспечивает выполнение арифметических операцийв двоично-десятичном коде.Операции инкрементирования и декрементирования на флаги не влияют.Рябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им.

Н. Э. Баумана, V_Ryabov@mail.ru133Таблица 3.19. Группа команд арифметических операцийНазвание командыМнемокодКОПЦ Б ОперацияСложение аккумулятора с реADD A, Rn00101rrr 1 2 (A)←(A)+(Rn)гистром (n=0-7)Сложение аккумулятора с пря- ADD A, ad00100101 1 2 (A)←(A)+(ad)мо адресуемым байтомСложение аккумулятора с бай- ADD A, @R1 00100111 1 1 (A)←(A)+((Ri))том из РПДСложение аккумулятора с кон- ADD A, #d00100100 1 2 (A)←(A)+#dстантой.Сложение аккумулятора с реADDC A, Rn00111rrr 1 1 (А)←(А)+(Rn)+(С)гистром и переносомСложение аккумулятора с пря- ADD A, ad00110101 1 2 (A)←(A)+(Rn)+(C)мо адресуемым байтом и переносомСложение аккумулятора с бай- ADDC A, @Ri 00110100 1 1 (A)←(A)+((Ri))+(C)том из РПД и переносом00100111Сложение аккумулятора с кон- ADDC A, #d00110100 1 2 (A)←(A)+#d+(C)стантой и переносомДесятичная коррекция аккуму- DA A11010100 1 1лятораВычитание из аккумулятора ре- SUBB A, Rn10011rrr 1 1 (A)←(A)-(C)-(Rn)гистра и заемаВычитание из аккумулятораSUBB A, Ad10010101 1 1 (A)←(A)-(C)-((ad))прямо адресуемого байта и заемаВычитание из аккумулятораSUBB A, @Ri 10010111 1 1 (A)←(A)-(C)-(Ri)байта РПД и заемаВычитание из аккумулятораSUBB A, #d10010100 1 2 (A)←(A)-(C)-#dконстанты и заемаИнкремент аккумулятораINC A00000100 1 1 (A)←(A)+1Инкремент регистраINC Rn00001rrr 1 1 (Rn)←(Rn)+1Инкремент прямо адресуемого INC ad00000101 1 2 (ad)←(ad)+1байтаИнкремент байта а РПДINC @Ri0000011i 1 1 ((Ri))←((Ri))+1Инкремент указателя данныхINC DPTR10100011 2 1 (DPTR)←(DPTR)+1Декремент аккумулятораDEC A00010100 1 1 (А)←(А)-1Декремент регистраDEC Rn00011rrr 1 1 (Rn)←(Rn)-1Декремент прямо адресуемогоDEC ad00010101 1 2 (ad)←(ad)-1байтаДекремент байта в РПДDEC @Ri0001011i 1 1 ((Ri))←((Ri))-1Умножение аккумулятора наMUL AB10100100 4 1 (B)(A)←(A)х(B)регистр ВДеление аккумулятора на реDIV AB10000100 4 1 (B).(A)←(A)/(B)гистр ВПри операции умножения содержимое аккумулятора А умножается на содержимоерегистра В и результат размещается следующим образом: младший байт в регистре В,старший — в регистре А.В случае выполнения операции деления целое от деления помещается в аккумулятор А, остаток от деления — в регистр В.Рябов Владимир Тимофеевич.

Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru134Логические команды с байтовыми переменными. Система команд МК позволяетреализовать логические операции: "И", "ИЛИ", "ИСКЛЮЧАЮЩЕЕ ИЛИ" на регистреаккумуляторе (А) и байте-источнике. Вторым операндом (байтом-источником) при этомможет быть рабочий регистр в выбранном банке рабочих регистров; регистр внутреннегоОЗУ, адресуемый с помощью косвенно-регистровой адресации; прямо адресуемые ячейкивнутреннего ОЗУ и регистры специального назначения; непосредственная величина.

Список логических команд приведен в таблице 3.20.Существуют логические операции, которые выполняются только на аккумуляторе:сброс и инвертирование всех восьми разрядов А; циклический сдвиг влево и вправо; циклический сдвиг влево и вправо с учетом флага переноса; обмен местами старшей и младшей тетрад (ниблов) внутри аккумулятора.Таблица 3.20. Группа команд логических операцийНазвание командыЛогическое И аккумулятора и регистраЛогическое И аккумулятора и прямо адресуемого байтаЛогическое И аккумулятора и РПДЛогическое И аккумулятора и константы.Логическое ИЛИ аккумулятора ипрямо адресуемого байтаЛогическое ИЛИ аккумулятора ирегистраЛогическое ИЛИ аккумулятора и РПДЛогическое ИЛИ аккумулятора иконстантыЛогическое ИЛИ прямо адресуемого байта и аккумулятораЛогическое ИЛИ прямо адресуемого байта м константыЛогическое ИЛИ прямо адресуемого байта и аккумулятораИсключающее ИЛИ аккумулятораи регистраИсключающее ИЛИ аккумулятораи прямо адресуемого байтаИсключающее ИЛИ аккумулятораи байта РПДИсключающее ИЛИ аккумулятораи константыИсключающее ИЛИ прямо адресуемого байта и аккумулятораИсключающее ИЛИ прямо адресуемого байта и константыСброс аккумулятораИнверсия аккумулятораСдвиг аккумулятора влево через CСдвиг аккумулятора вправо циклическийСдвиг аккумулятора вправо через CОбмен местами тетрад в аккумулятореМнемокодANL A, RnANL A, adКОПO1O11rrr01010101Ц Б Операция1 1 (А)←(А)∩(Rn)1 1 (А)←(А)∩(ad)ANL A, @RiANL A, #dORL A, adO1O11rrr01010111010001011 2 (А)←(А)∩((Ri))1 2 (А)←(А)∩#d1 1 (A)←(A)∪(ad)ORL A, RnO1001rrr1ORL A, @RiORL A, #d01000111010001001 1 (A)←(A) ∪ ((R1))1 2 (A)←(A) ∪ #dORL ad, A010000101 2 (ad)←(ad) ∪ (A)ORL ad, #d010000102ORL ad, A010000101 2 (ad) ←(ad) ∪ (A)XRL A, Rn01101rrr1XRL A, ad011001011 2 (A) ← (A)¤(ad)XRL A, @Ri011001111XRL A, #d011001001 2 (A) ← (A)¤ #dXRL ad, A011000101 2 (ad) ← (ad) ¤ (A)XRL ad, #d0110001123 (ad) ← (ad) ¤ #dCLR ACPL ARLC ARR A1110010011110100001100110000001111111 (A)←01 (A) ← - (A)21RRC ASWAP A00010011110001001 11 11 (A)←(A)∪(Rn)3 (ad)←(ad) ∪ #d1 (A) ← (A)¤(Rn)1 (A) ← (A) ¤ ((R1))Рябов Владимир Тимофеевич.

Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru135Логические команды широко используются в программах при управлении отдельными битами операндов. Без них просто не обойтись, когда команд битового процессора нет илиих невозможно использовать. Например, ключи на объекте управления подключены к регистру, находящемуся в пространстве внешней памяти данных подобно рассмотренному намиранее примеру (см.рис.

3.12) по адресу ADR_reg1. Тогда, чтобы установить в единицу, например, третий бит этого регистра, не изменяя остальных, необходимо выполнить:MOV DPTR, #ADR_reg1;загрузить в регистр указатель данных адрес регистраMOVX A, @DPTR;переслать содержимое регистра в аккумуляторORL A, #00001000В;логическое ИЛИ аккумулятора и константыMOVX @DPTR,A;переслать содержимое аккумулятора в регистр.Чтобы, наоборот, выключить третий бит, нужно сделать:MOV DPTR, #ADR_reg1;загрузить в регистр указатель данных адрес регистраMOVX A, @DPTR;переслать содержимое регистра в аккумуляторANL A, #11110111В;логическое И аккумулятора и константыMOVX @DPTR,A;переслать содержимое аккумулятора в регистр.Подобные приемы называют маскированием, обратите на их использование в программах,изучаемых в лабораторных работах по курсу.Команды пересылки данных.

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

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

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

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