MCS-51 (1031646), страница 17

Файл №1031646 MCS-51 (Раздаточный материал к курсовому проекту) 17 страницаMCS-51 (1031646) страница 172017-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

(R0)=3AH,Пример:;(03У[ЗА])=1АН, (С)=1ADDCA,@R0 ;(A)=F0H, (03У[ЗА]=1АН),;(С)=0, (АС)=1, (OV)=03) Ассемблер:ADDC A,<direct>00110101 <direct address>Код:1 циклВремя:(A):=(A)+(C)+(direct)Алгоритм:(С):=Х, (АС):=Х, (0V):=X, где Х=(0 или 1);(А)=11Н, (ОЗУ[80] )=DFH, (C)=lПример:;(A)=F1H, (C)=0, (АС)=1, (OV)=0ADDC A,80H4) Ассемблер:ADDC A,#data00110100 #dataКод:1 циклВремя:(A):=(A)+(C)+(direct)Алгоритм:(С):=Х, (АС):=Х, (0V):=X, где Х=(0 или 1);(А)=55Н, (С)=0Пример:;(A)=AAH, (C)=0, (AC)=0, (OV)=lADDC A,#55HКоманда AJHP <addrll>Команда "абсолютный переход", передает управление по указанному адресу, который получается при конкатенации пяти старших бит счетчика команд PC (после увеличения его на два),7—5 битов кода операции и второго байта команды. Адрес перехода должен находится внутри одной страницы объемом 2 Кбайт памяти программы, определяемой пятью старшими битами счетчика команд.Ассемблер:AJMP <метка>А10А9 А8 0 0 0 0 1 А7 А6 А5 А4 A3 А2 Al A0Код:2 циклаВремя:(РС[15-0]):=(РС[15-0])+2,Алгоритм:(PC[10-0]):=<addrll>;(PC)=028FHПример:;Метке МТ2 соответствует адрес 034АН МТ2;(РС)=034АНAJMP MT276Команда ANL <байт-назначения), <байт-источник>Команда "логическое "И" для переменных-байтов" выполняет операцию логического "И"над битами указанных переменных и помещает результат в байт назначения.

Эта операция невлияет на состояние флагов.Два операнда обеспечивают следующие комбинации шести режимов адресации:—байтом назначения является аккумулятор (А):1)регистровый;2)прямой;3)косвенно-регистровый;4)непосредственный;—байтом назначения является прямой адрес (direct):5)прямой аккумуляторный;6)непосредственный (байт-источник равен константе).1) Ассемблер:ANL A, Rn; где n=0-71011rrr, где rrr=000-111Код:1 циклВремя:(А):=(А) AND (Rn)Алгоритм:;(A)=FEH, (R2)=C5HПример:;(A)=C4H, (R2)=C5HANL A, R22) Ассемблер:ANL A,<direct>01010101 direct addressКод:1 циклВремя:(A):=(A) AND (direct)Алгоритм:Пример:;(A)=A3H, (PSW)=86HANL A, PSW3) Ассемблер:Код:Время:Алгоритм:Пример:4) Ассемблер:Код:Время:Алгоритм:Пример:ANL A, @R0ANL A,#data01010100 #data81 цикл(A):=(A) AND #dataANL A,#0DDH5) Ассемблер:Код:Время:Алгоритм:Пример:6) Ассемблер:Код:Время:Алгоритм:Пример:;(A)=82H, (PSW)=86HANL A,@Ri ;где i=0,l0101011i1 цикл(A):=(A) AND ((Ri));(A)=BCH, (03У[35])=47Н, (R0)=35H;(А)=04Н, (03У[35])=47H;(А)=36Н;(A)=14HANL <direct>, A01010010 <direct address>1 цикл(direct):=(direct) AND (A);(А)=55Н, (Р2)=ААН;(Р2)=00Н, (А)=55НANL Р2, АANL <direct>, #data01010011 <direct address> #data81 цикл(direct):=(direct) AND #dataANL P1,#73H;(P1)=FFH;(P1)=73HПримечание.

Если команда "ANL" применяется для изменения содержимого порта, то значение,используемое в качестве данных порта, будет считываться из "защелки" порта, а не с выводовБИС.Команда ANL С. <бит источника>Команда "логическое "И" для переменных-битов", выполняет операцию логического "И"над указанными битами. Если бит-источник равен "0", то происходит сброс флага переноса, в противном случае флаг переноса не изменяет текущего значения. "/" перед операндом в языке ассемб-77лера указывает на то, что в качестве значения используется логическое отрицание адресуемого бита, однако сам бит источника при этом не изменяется. На другие флаги эта команда не влияет.Для операнда-источника разрешена только прямая адресация к битам.1) Ассемблер:ANL C,<bit>10000010 <bit address>Код:2 циклаВремя:(С):=(С) AND (bit)Алгоритм:;(С)=1, Р1[0]=0Пример:;(С)=0, Р1[0]=0 ANL C,</bit>ANL С, Р1.02) Ассемблер:ANL C,</bit>10110000 <bit address>Код:2 циклаВремя:(C):=(C) AND (/bit)Алгоритм:Пример:;(C)=1, (AC)=0ANL C, /AC;(C)=1, (AC)=0Команда CJHF, <байт назначения> , <байт источник>, <смешение>Команда "сравнение и переход, если не равно" сравнивает значения первых двух операндов и выполняет ветвление, если операнды не равны.

Адрес перехода (ветвления) вычисляется припомощи сложения значения (со знаком), указанного в последнем байте команды, с содержимымсчетчика команд после увеличения его на три.Флаг переноса С" устанавливается в "1", если значение целого без знака <байта назначения) меньше, чем значение целого без знака < байта источника >, в противном случае переноссбрасывается (если значения операндов равны, флаг переноса сбрасывается). Эта команда не оказывает влияния на операнды.Операнды, стоящие в команде, обеспечивают комбинации четырех режимов адресации:—если байтом назначения является аккумулятор:1)прямой2)непосредственный,—если байтом назначения является любая ячейка ОЗУ с косвенно-регистровойили регистровой адресацией:3)непосредственный к регистровому4)непосредственный к косвенно-регистровому1) Ассемблер:CJNE A,<direct>,<метка>10110101 <direct address> <rel8>Код:2 циклаВремя:(РС):=(РС)+3,Алгоритм:если (direct)<(A) то (PC):=(PC)+<rel8>, C:=0если (dlrect)>(A), то (PC):=(PC)+<rel8>, C:=l;(А)=97Н, (P2)=F0H, (C)=0Пример:CJNE А, Р2, МТЗ…..МТЗ: CLR2) Ассемблер:Код:Время:Алгоритм:Пример:;(А)=97Н, (P2)=F0H, (С)=1;Адрес, соответствующийметке ;МТЗ вычисляется ,как ;(РС):=(РС)+3+(ге18)CJNE A,<#data>,<метка>10110100 <#data> <rel8>2 цикла(РС):=(РС)+3,если #data<(A) то (PC):=(PC)+<rel8>, C:=0если #data >(A), то (PC):=(PC)+<rel8>, C:=l;(А)=FCН, (C)=1CJNE А, #0BFH, МТ4…….МТ4: INC A;(А)=FDН, (С)=078;(РС):=(РС)+3+(ге18)3) Ассемблер:Код:Время:Алгоритм:Пример:CJNE Rn,#data,<метка> ; где n=0-710111rrr <#data> <rel8>2 цикла(РС):=(РС)+3,если #data<(Rn), то (PC):=(PC)+<rel8>, C:=0если #data >(Rn), то (PC):=(PC)+<rel8>, C:=l;(R7)=80H, (C)=0CJNE R7,#81H,MT5……МТ5: NOP4) Ассемблер:Код:Время:Алгоритм:Пример:;(R7)=80H, (C)=l,;(PC):=(PC)+3+(rel8)CJNE @Ri,#data,<метка> ; где i=0, 11011011i <#data> <rel8>2 цикла(РС):=(РС)+3,если #data<((Ri)), то (PC):=(PC)+<rel8>, C:=0если #data >((Ri)), то (PC):=(PC)+<rel8>, C:=l;(R0)=41H,(C)=l, (ОЗУ[41])=57НCJNE @R0,#29H,MT6……МТ6: DEC R0Команда CLR АКоманда "сброс аккумулятора"тора А.

На флаги команда не влияет.Ассемблер:CLR A11100100Код:1 циклВремя:(А):=0Алгоритм:Пример:CLR А;(03У[41])=57Н, (С)=0,;(РС):=(РС)+3+(ге18)сбрасывает(обнуляет)содержимое аккумуля-;(A)=6DH, (C)=0, (АС)=1,; (А)=00Н, (С)=0, (АС)=1Команда CLR <bit>Команда "сброс бита" сбрасывает указанный бит в нуль. Эта команда работает с флагомпереноса "С" или любым битом с прямой адресацией.1) Ассемблер:CLR C11000011Код:1 циклВремя:(C):=0Алгоритм:Пример:;(С)=1CLR С2) Ассемблер:Код:Время:Алгоритм:Пример:;(С)=0CLR <bit>110000101 цикл(bit):=0CLR P1.3;(Р1)=5ЕН (01011110В);(Р1)=56Н (01010110В)Команда СРL. АКоманда "инверсия аккумулятора" каждый бит аккумулятора инвертирует (изменяет напротивоположный). Биты, содержащие "единицы", после этой команды будут содержать "нули", инаоборот. На флаги эта операция не влияет.79Ассемблер:Код:Время:Алгоритм:Пример:CPL А111101001 цикл(А):=/(A)CPL А;(А)=65Н (01100101В);(A)=9AH (10011010B);Команда CPL <bit>Команда "инверсия бита" инвертирует (изменяет на противоположное значение) указанный бит.

Бит, который был "единицей", изменяется в "нуль" и наоборот. Команда С PL может работать с флагом переноса или с любым прямо адресуемым битом. На другие флаги команда невлияет.1) Ассемблер:CPL <bit>10110010 <bit address>Код:1 циклВремя:(bit):=/(bit)Алгоритм:Пример:CPL Pl.lCPL P1.32) Ассемблер:Код:Время:Алгоритм:Пример:;(Р1)=39Н (00111001В);(P1)=33H (00110011В)CPL С101100111 цикл(C):=/(C);(С)=1, (АС)=1, (OV)=0;(С)=0, (АС)=1, (OV)=0CPL CПримечание: Если эта команда используется для изменения информации на выходе порта,значение, используемое как исходные данные, считывается из "защелки" порта, а не с выводовВИС.Команда DA AКоманда "десятичная коррекция аккумулятора для сложения" упорядочивает 8-битовуювеличину в аккумуляторе после выполненной ранее команды сложения Двух переменных (каждаяв упакованном двоично-десятичном формате).

Для выполнения сложения может использоватьсялюбая из типов команд ADD или ADDC. Если значение битов 3—0 аккумулятора (А) превышает 9(ХХХХ 1010—ХХХХ 1111) или, если флаг АС равен "1", то к содержимому (А) прибавляется 06,получая соответствующую двоично-десятичную цифру в младшем полубайте. Это внутреннее побитовое сложение устанавливает флаг переноса, если перенос из поля младших четырех бит распространяется через все старшие биты, а в противном случае не изменяет флаг переноса.Если после этого флаг переноса равен "1", или, если значение четырех старших бит(7 - 4) превышает 9 (1010 ХХХХ - 1111 ХХХХ), значения этих старших бит увеличивается на6, создавая соответствующую двоично-десятичную цифру в старшем полубайте.

И снова при этомфлаг переноса устанавливается, если перенос получается из старших битов, но не изменяется впротивном случае. Таким образом, флаг переноса указывает на то, что сумма двух исходных двоично-десятичных переменных больше чем 100. Эта команда выполняет десятичное преобразование с помощью сложения 06, 60, 66 с содержимым аккумулятора в зависимости от начального состояния аккумулятора и слова состояния программы (PSW). Ассемблер:Ассемблер:DA A11010100Код:1 циклВремя:если ((А[3-0])>9 или (АС)=1), то А[3-0]:=А[3-0]+6Алгоритм:если ((А[7-4])>9 или (С)=1), то А[7-4]:=А[7-41+6;(А)=56Н, (R3)=67H, (С)=1Примеры:а) ADDC A,R3;(A)=24H, (R3)=67H, (С)=1DA A;(A)=30H, (C)=0б) ADD А, #99НDA А;(А)=29, (С)=180Примечание: Команда DA А не может просто преобразовать шестнадцатиричное значениев аккумуляторе в двоично-десятичное представление и не применяется, например, для десятичного вычитания.Команда DEC <байт>Команда "декремент" производит вычитание "1" из указанного операнда.

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

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

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

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