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

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

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

Выполнение программы продолжается командой, находящейся по полученному адресу. Подпрограмма, следовательно,может начинаться в любом месте адресного пространства памяти программ объемом до 64Кбайт. Эта команда на флаги не влияет.Ассемблер:Код:Время:Алгоритм:LCALL <метка>00010010 addr[15-8] addr[7-0]2 цикла(РС):=(РС)+3(SP):=(SP)+1((SP)):=(PC[7-0])(SP):=(SP)+1((SP)):=(PC[15-8])(PC):=<adddr[15-0]>Пример:LCALL PRN;(SP)=07H,;метке PRN соответствует адрес 1234Н,;по адресу 0126Н находится команда;LCALL;(SP)=09H, (PC)=1234H,;(ОЗУ[08])=26Н, (ОЗУ[09])=01НКоманда LJMP <addr16>Команда "длинный переход" выполняет безусловный переход по указанному адресу, загружая старший и младший байты счетчика команд (PC) соответственно вторым итретьим байтами, находящимися в коде команды. Адрес перехода, таким образом, можетнаходиться по любому адресу пространства памяти программ в 64 Кбайт. Эта команда нафлаги не влияет.Ассемблер:LJMP <метка>Код:Время:Алгоритм:00000010 addr[15-8] addr[7-0]2 цикла(PC):=<addr[15-0]>Команда MOV <байт-назначения>, <байт-источника>Команда "переслать переменную-байт" пересылает переменную-байт, указаннуюво втором операнде, в ячейку, указанную в первом операнде.

Содержимое байта источника не изменяется. Эта команда на флаги и другие регистры не влияет. Команда "MOV" допускает 15 комбинаций адресации байта-источника и байта-назначения.1)Ассемблер:Код:MOV A,Rn; где n=0-711101rrr, где rrr=000-111Время:Алгоритм:Пример:1 цикл(A):=(Rn)Ассемблер:Код:MOV A, <direct>11100101 <direct address>MOV A,R42);(A)=FAH, (R4)=93H;(A)=93H, (R4)=93H86Время:Алгоритм:Пример:1 цикл(A):=(direct);(А)=93Н, (ОЗУ[40])=10Н, (R0)=40H;(A)=10H, (ОЗУ[40])=10H, (R0)=40HMOV A, 40H3)Ассемблер:Код:Время:Алгоритм:Пример:MOV A,@Ri1110011i1 цикл(A):=((Ri)); где i=0,lАссемблер:Код:Время:Алгоритм:Пример:MOV A, #data01110100 <#data8>1 цикл(A):=<#data8>MOV A,@R04)5)Ассемблер:Код:Время:Алгоритм:Пример:;(А)=С9Н (11001001В);(A)=37H (00110111B)MOV A,#37HMOV Rn, A; где n=0-711111rrr <#data8> , где rrr=000-1111 цикл(Rn):=(A)MOV R0, A6)Ассемблер:Код:Время:Алгоритм:Пример:8)Ассемблер:Код:Время:Алгоритм:Пример:Ассемблер:Код:Время:Алгоритм:Пример:(Rn):=(direct)Ассемблер:Код:Время:Алгоритм:Пример:MOV R0, #49HMOV <direct>, A(direct):= (A);(P0)=FFH, (A)=4BH;(P0)=4BH, (A)=4BHMOV <direct>,Rn; где n=0-710001rrr <direct address> где rrr=000-111 – номер регистра2 циклa(direct):=(Rn);(PSW)=C2H, (R7)=57H;(PSW)=57H, (R7)=57HMOV <direct>, <direct>10000101 <direct address> <direct address>2 циклa(direct):= (direct)MOV 48H.45H11) Ассемблер:Код:Время:;(R0)=0F5H;(R0)=49H11110101 <direct address>1 циклMOV PSW, R710) Ассемблер:Код:Время:Алгоритм:Пример:;(R0)=39H, (P2)=0F2H;(R0)=F2HMOV Rn, #data ; где n=0-701111rrr <#data8>1 цикл(Rn):=<#data8>MOV P0,A9);(А)=38Н, (R0)=42H;(А)=38Н; (R0)=38HMOV Rn,<direct> где n=0-710101rrr <direct address>2 циклaMOV R0, P27);(A)=10H, (R0)=41H, (03У[41])=0САН;(A)=CAH, (R0)=41H, (03У[41])=0CAH;(03У[45])=ЗЗН, (O3У [48])=0DEH;(03У[45])=ЗЗН, (03У[48])=ЗЗНMOV <direct>, @Ri; где i=0,l1000011i <direct address>2 циклa87Алгоритм:Пример:(direct):=((Ri))(R1)=49H, (ОЗУ[49])=0ЕЗН;(O3 У [5l])=0E3H, (03У[49])=0E3HMOV 51Н, @Ri12) Ассемблер:Код:Время:Алгоритм:Пример:MOV <direct>, #data01110101 <direct address> #data82 циклa(direct):=<#data8>;(O3У [5F])=9BH;(O3У [5F])=07HMOV 5FH, #07H13) Ассемблер:Код:Время:Алгоритм:Пример:MOV @Ri,A1111011i1 цикл;где i=0,l, где i=0,l((Ri)):=(A);(R1)=48H, (03У[48])=75Н, (A)=0BDH;(O3У[48])=0BDHMOV @R1, A14) Ассемблер:Код:Время:Алгоритм:Пример:MOV @Ri,<direct> ; где i=0,l1010011i <direct address>2 циклa15) Ассемблер:Код:Время:Алгоритм:Пример:MOV @Ri,#data0111011i1 цикл((Ri)):=(direct)MOV @R0,P0;(R0)=51H, (ОЗУ[51])=0ЕЗН, (Р0)=0АСН;(ОЗУ[51])=0АСН; где i=0,l((Ri)):=<#data8>MOV @R1, #0A9H;(O3У[7Е])=67Н, (R1)=7EH;(O3У[7E])=0A9H, (Rl)=7EH УКоманда MOV <бит назначения>.<бит источника>Команда "переслать бит данных" битовую переменную, указанную во втором байте, копирует в разряд, который указан в первом операнде.

Одним из операндов долженбыть флаг переноса С, а другим может быть любой бит, к которому возможна прямая адресация.1)Ассемблер:Код:Время:Алгоритм:MOV C, <bit>10100010 <bit address>1 цикл(C):=(bit)Пример:2)Ассемблер:Код:Время:Алгоритм:Пример:MOV C.P3.0MOV <bit>,C;(С)=0, (P3)=D5H (11010101B);С:=1MOV С.РЗ.З ;С:=0 MOV С,Р3.7 ;С:=110010010 <bit address>2 цикла(bit):=(C)(C)=l, (P0)= 20H (00100000B)MOV P0.1.CMOV P0.2,CMOV P0.3,C(C)=l, (P0)=2EH (00101110B)Команда MOV DPTR.#datal6Команда "загрузить указатель данных 16-битовой константой" загружает указательданных DPTR 16-битовой константой, указанной во втором и третьем байтах команды.Второй байт команды загружается в старший байт указателя данных (DPH), а третий байт— в младший байт указателя данных (DPL).

Эта команда на флаги не влияет и являетсяединственной командой, которая одновременно загружает 16 бит данных.88Ассемблер:Код:Время:Алгоритм:Пример:MOV DPTR, #<datal6>10010000 #<data[15-8]> #<data[7-0]>2 цикла(DPTR):= #data[15-0],причем, DPH:=#data[15-8], DPL:=#data[7-0];(DPTR)=01FDH;(DPTR)=1234H,MOV DPTR,#1234H;(DPH)=12H, (DPL)=34HКоманда MOVC A.@A+(<R16>)<R16> — 16-разрядный регистр.Команда "переслать байт из памяти программ" загружает аккумулятор байтом кодаили константой из памяти программы. Адрес считываемого байта вычисляется как сумма8-битового исходного содержимого аккумулятора без знака и содержимого 16-битовогорегистра. В качестве 16-битового регистра может быть:1)указатель данных DPTR;2)счетчик команд PC.В случае, когда используется PC, он увеличивается до адреса следующей командыперед тем, как его содержимое складывается с содержимым аккумулятора.

16-битовоесложение выполняется так, что перенос из младших восьми бит может распространятьсячерез старшие биты. Эта команда на флаги не влияет.1)Ассемблер:Код:Время:Алгоритм:Пример:MOVC A,@A+DPTR100100112 циклаАссемблер:Код:Время:Алгоритм:Пример:MOVC А,@А+РС100000112 цикла(A):=((A)+(DPTR));(А)=1ВН, (DPTR)=1020H,;(ПЗУ[103В])=48Н,;(A)=48H, (DPTR)=1020HMOVC A,@A+DPTR2)(А): = ((А) + (РС)MOVC A,@A+PC;(A)=FAH, (PC)=0289;(ПЗУ[0384])=9ВН;(А)=9ВН, (РС)=028АНкоманда МОVХ <байт приемника), <байт источника)Команда "переслать во внешнюю память (из внешней памяти) данных" пересылаетданные между аккумулятором и байтом внешней памяти данных.

Имеется два типа команд, которые отличаются тем, что обеспечивают 8-битовый или 16-битовый косвенныйадрес внешнего ОЗУ данных.В первом случае содержимое R0 или R1 в текущем банке регистров обеспечивает8-битовый адрес, который мультиплексируется с данными порта Р0. Для расширения дешифрации ввода-вывода или адресации небольшого массива ОЗУ достаточно восьми битадресации. Если применяются ОЗУ, немного больше чем 256 байт, то для фиксации старших битов адреса можно использовать любые другие выходы портов, которые переключаются командой, стоящей перед командой MOVX.Во втором случае, при выполнении команды MOVX указатель данных DPTR генерирует 16-битовый адрес.

Порт Р2 выводит старшие восемь бит адреса (DPH), а порт Р0мультиплексирует младшие 8 бит адреса (DPL) с данными. Эта форма является эффективной при доступе к большим массивам данных (до 64К байт), так как для установки портоввывода не требуется дополнительных команд.1)Ассемблер:Код:MOVX A,@Ri1110001i; где i=0,189Время:Алгоритм:Пример:2 цикла(A):=((Ri));(А)=32Н, (R0)=83H, ячейка;внешнего ОЗУ по адресу 83Н;содержит В6Н(A)=B6H, (R0)=83HMOVX A,@R02)3)Ассемблер:Код:Время:Алгоритм:Пример:MOVX A,@DPTR111000002 циклаАссемблер:Код:Время:Алгоритм:Пример:MOVX @Ri,A1111001i2 цикла(A):=((DPTR))MOVX A,@DPTR;(A)=5CH, (DPTR)=2АВЕН,;ячейка внешнего ОЗУ по адресу;2АВЕН содержит 72Н;(A)=72H, (DPTR)=2ABEH; где i=0,l((Ri)):=(A)MOVX @R1,A4)Ассемблер:Код:Время:Алгоритм:Пример:;(А)=95Н, (R1)=FDH,;ячейка внешнего ОЗУ с адресом;FDH содержит 00;(A)=95H, (Rl)=FDH,;ячейка внешнего ОЗУ с адресом;FDH содержит 95НMOVX @DPTR, A111100002 цикла((DPTR)):=(A)MOVX@DPTR, A;(А)=97Н, (DPTR)=1FFFH,;ячейка внешнего ОЗУ с адресом;1FFFK содержит 00;(А)=97Н,;ячейка внешнего ОЗУ с адресом;1FFFH содержит 97НКоманда MUL ABКоманда "умножение" умножает 8-битовые целые числа без знака из аккумулятораи регистра В.

Старший байт 16-битового произведения помещается в регистр В, младший— в аккумулятор А. Если результат произведения больше чем 0FFН(255), то устанавливается флаг переполнения (0V), в противном случае он сбрасывается. Флаг переноса всегдасбрасывается.Ассемблер:Код:Время:Алгоритм:Пример:MUL АВ101001004 цикла(А)[7-0]:=(А)*(В),(В)[15-8]:=(А)*(В)а)MUL АВб)MUL АВ;(А)=50Н (50H=80DEC), (C)=l,;(B)=0A0H (A0H=160 DEC), (OV)=0;(А)=00Н, (В)=32Н, (С)=0, (OV)=l;(А)=2НН, (OV)=1, (B)=06H, (С)=1A)=0D8H, (B)=00H, (OV)=0, (C)=0Команда NOPКоманда "нет операции" выполняет холостой ход и не влияет на регистры и флаги,кроме как на счетчик команд (PC).90Ассемблер:Код:Время:Алгоритм:Пример:NOP000000001 цикл(РС):=(РС)+1Пусть требуется создать отрицательный выходнойимпульс на порте Р1[6] длительностью 3 цикла.

Этовыполнит следующая последовательность команд:CLRP1.6;Р1[6]:=0NOPNOPNOPSETB P1.6;Р1[6]:=1Команда ORL <байт назначяния>, <байт источника>Команда "логическое "ИЛИ" для переменных-байтов" выполняет операцию логического "ИЛИ" над битами указанных переменных, записывая результат в байт назначения. Эта команда на флаги не влияет.

Допускается шесть комбинаций режимов адресации:— если байтом назначения является аккумулятор:1) регистровый2) прямой3) косвенно-регистровый4) непосредственный— если байтом назначения является прямой адрес:5) к аккумулятору6) к константе1)2)Ассемблер:Код:Время:Алгоритм:Пример:ORL A, Rn; где n=0-701001rrr, где rrr=000-1111 циклАссемблер:Код:Время:Алгоритм:Пример:ORL A,<direct>01000101 <direct address>1 цикл(А):=(А) OR (Rn), где OR - операция логического "ИЛИ";(А)=15Н, (R5)=6CH;(A)=7DH, (R5)=6CHORL A,R5(А):=(А) OR (direct);(А)=84Н, (PSW)=C2H;(A)=C6H, (PSW)=C2HORL A.PSW3)Ассемблер:Код:Время:Алгоритм:Пример:ORL A,@Ri0100011i1 цикл; где i=0,lАссемблер:Код:Время:Алгоритм:Пример:ORL A,#<data>01000100 #<data8>1 цикл(А):=(А) OR ((Ri))ORL A,@R04)5)Ассемблер:Код:Время:Алгоритм:Пример:;(А)=52Н, (R0)=6DH, (03У[6D])=49H;(A)=5BH, (03У[6D])=49H(А):=(А) OR #<data>ORL A, #0AHORL (direct),A01000010 <direct address>1 цикл;(A)=8FH;(A)=FAH(direct):=(direct) OR (A);(A)=34H, (IP)=23H916)Ассемблер:Код:Время:Алгоритм:Пример:ORL IP,AORL (direct),#<data>;(IP)=37H, (A)=34H01000011 < direct address> #<data8>1 цикл(direct):=(direct) OR #<data>;(P1)=00H;(P1)=11000100B (C4H)ORL P1,#0C4HПримечание.

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

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

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

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