Сделай Сам Свою Работу на 5

Архитектура и структурная организация ОМК





ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Брянский государственный технический университет


Утверждаю

Ректор университета

 

_________________А.В. Лагерев

 

«___»____________2006 г.

 

 

Новые информационные технологии: Программирование мобильных и встраиваемых систем

 

ИсСЛЕДОВАНИЕ СИСТЕМЫ КОМАНД И АДРЕСНОГО ПРОСТРАНСТВА МИКРОКОНТРОЛЛЕРА
С ПОМОЩЬЮ ЭМУЛЯТОРА

 

 

Методические указания к выполнению лабораторной работы №1
для студентов 5 курса специальности 220400 «Программное обеспечение вычислительной техники и автоматизированных систем»

 

 

Брянск 2006


УДК 004.031.6:004.23.001.85(076)

Новые информационные технологии: Программирование мобильных и встраиваемых систем. Исследование системы команд и адресного пространства микроконтроллера с помощью эмулятора. Методические указания к выполнению лабораторной работы №1 для студентов 5 курса специальности 220400 «Программное обеспечение вычислительной техники и автоматизированных систем». – Брянск БГТУ, 2006. – 13 с.

 

Разработал:

М.Л. Потапов,

канд.техн.наук, доц.

 

 

Рекомендовано кафедрой «Информатика и программное обеспечение» БГТУ (протокол № 8 от 15 мая 2006 г.)




Цель и задачи работы

Целью данной работы является исследование системы команд и адресного пространства микроконтроллеров серий Intel 8051, Atmel MSC-51, МК-51, а также освоение инструментального средства быстрой разработки и отладки программного обеспечения для микроконтроллеров этого семейства кроссассемблера-эмулятора Single-Chip Machine 2.

Задачи работы:

1. Изучение структуры памяти и адресного пространства микроконтроллера КР1816ВЕ31 как представителя семейства МК-51;

2. Ознакомление с основными регистрами и системой команд;

3. Получение начальных навыков по работе с эмулятором микроконтроллеров семейства МК-51 программным комплексом Single-Chip Machine 2.

Продолжительность работы 2 часа.

Краткие теоретические сведения

Архитектура и структурная организация ОМК

Однокристальные микроконтроллеры (ОМК) имеют на одном кристалле полный набор средств ЭВМ: центральный процессор (ЦП), память, подсистему ввода-вывода(ВВ), средства поддержки режима реального времени (РВ). Интеграция всех составных частей микроЭВМ на одном кристалле внесло ряд ограничений на принципы ее организации, потребовала новых решений в развитии ее архитектуры, не свойственных многокристальным компоновкам. В результате был получен новый класс микроконтроллеров (МК) с присущими только ему принципами.



Период становления архитектуры 8-разрядных ОМК относят к 1976-1979 г., когда развернулась острая конкурентная борьба между тремя фирмами, выпустившими первые приборы этого класса: 8048 (Intel), 3870 (Mostek), 9940 (Texas Instrumens). Одни из них (3870, 9940) программно совместимы с многокристальными системами и во многом дублируют их архитектурные решения, другие (8048) имели оригинальную организацию. В процессе этой борьбы и дальнейших усовершенствований были сформулированы основные принципы организации МК на одном кристалле, ставшие стандартными.

Логическим завершением развития 8-разрядных МК стало семейство iMCS-51, уже более 20 лет остающееся одним из самых актуальных на рынке встраиваемых систем. Различными зарубежными фирмами выпускается множество ОМК, архитектурно совместимых с семейством iMCS-51, например, ОЭВМ 5000 фирмы Dallas Semiconductor, а также получившее наибольшее распространение за счет беспрецедентно низких цен и высокой надежности семейство MCS-51 фирмы Atmel.

Отечественная промышленность также выпускает микроконтроллеры семейства МК51, полностью совместимые с iMCS-51. Семейство МК51 включает несколько модификаций, основное различие между которыми состоит в реализации памяти программ и мощности потребления. Приборы серии КР1816 построены по n-МОП, а серии КР1830 – по более современной КМОП-технологии.



Все микроконтроллеры семейства МК51 содержат встроенное ОЗУ памяти данных емкостью 128 байт с возможностью расширения общего объема памяти данных до 64Кбайт за счет использования внешних микросхем.

КР1816ВЕ51 и КР1830ВЕ51 содержат масочно-программи­руемое в процессе изготовления кристалла ПЗУ памяти программ емкостью 4096 байт и рассчитаны на применение в массовой продукции. За счет использования внешних микросхем памяти общий объем памяти программ может быть расширен до 64Кбайт.

КМ1816ВЕ751 содержит РПЗУ емкостью 4096 байт со стиранием ультрафиолетовым излучением и удобна на этапе разработки системы при отладке программ, а также при производстве небольшими партиями или при создании систем, требующих в процессе эксплуатации периодической подстройки.

КР1816ВЕ31 и КР1830ВЕ31 не содержат встроенной памяти программ, однако могут использовать до 64 Кбайт внешней постоянной или перепрограммируемой памяти программ и эффективно использоваться в системах, требующих существенно большего по объему ( чем 4 Кбайта на кристалле) ПЗУ памяти программ.

Каждая из перечисленных выше микросхем является соответственно аналогом БИС 8051, 80С51, 8751, 8031, 80С31 семейства iMCS-51 фирмы Intel.

Структурная схема контроллера МК-51 представлена на рис.1 и включает в себя следующие основные функциональные узлы:

Рис. 1.

 

1. ЦП, включающий в себя блок управления (БУ) и АЛУ;

2. память данных и память программ;

3. систему прерываний с пятью векторами и двумя уровнями;

4. четыре восьмиразрядных программируемых канала ввода-вывода (Р0-Р3);

5. два 16-разрядных многорежимных таймера/счетчика;

6. последовательный интерфейс (ПИП).

Двусторонний обмен информацией между функциональными блоками осуществляется с помощью внутренней 8-разрядной магистрали данных (Bus D), доступ к внешней памяти – с помощью 16-разрядной шины адреса/данных (Bus A).


Организация памяти МК-51

Подавляющее большинство микроконтроллеров, в том числе все представители семейства iMCS-51, построены по гарвардской архитектуре с раздельной адресацией памяти команд и памяти данных. Это связано с тем, что задачи управления устройствами, в которых, как правило, задействованы ОМК, не требуют большой оперативной памяти (достаточно несколько десятков байт), в то время, как типичная потребность в памяти программ и констант – от нескольких сотен байт до нескольких десятков килобайт. Разделение памяти на части позволяет подобрать оптимальную разрядность адресации, и тем самым сократить длину команд и размер получающегося кода. Однако, при увеличенном размере программного кода или массивов данных микроконтроллер МК-51 позволяет расширить область адресуемой памяти до 2х64 кБайт. Варианты распределения адресного пространства приведены на рис.2.

Объем внутренней (резидентной) памяти программ (ROM, EPROM или OTP ROM), располагаемой на кристалле, в зависимости от типа микросхемы может составлять 0 (ROMless), 4К (базовый кристалл), 8К, 16К или 32К. При необходимости пользователь может расширять память программ установкой внешнего ПЗУ. Доступ к внутреннему или внешнему ПЗУ определяется значением сигнала DEMA.

Область нижних адресов памяти программ используется системой прерываний, архитектура микросхемы 8051 обеспечивает поддержку пяти источников прерываний.

- двух внешних прерываний;

- двух прерываний от таймеров;

- прерывания от последовательного порта.

Адреса векторов прерываний расположены по адресам:

- 0003Н – внешнее прерывание 0 – вывод INT0;

- 000BН – прерывание от таймера 0 (по флагу переполнения таймера – TF0);

- 0013Н – внешнее прерывание 1 – вывод INT1;

- 001BH – прерывание от таймера 1 (по флагу переполнения таймера – TF0);

- 0023H – прерывание от последовательного порта.

 

Рис.2. Пространство памяти МК51

 

Нижние 128 байт внутренней памяти данных (lower 128) присутствуют на всех кристаллах MCS-51 и показаны на рис.3.

 

7FH 30H Побайтно-адресуемая область ОЗУ
2FH 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H
2EH 77H 76H 75H 74H 73H 72H 71H 70H
2FH 20H Побитно-адресуемая область ОЗУ
21H 0FH 0EH 0DH 0CH 0BH 0AH 09H 08H
20H 07H 06H 05H 04H 03H 02H 01H 00H
1FH 18H RB3 (R0 – R7)
17H 10H RB2 1FH 00H Банки регистров RB0 – RB3
0FH 08H RB1
07H 00H SP после RESET RB0 (R0 – R7)
                     

 

Рис.3. Нижние 128 байт внутреннего ОЗУ.

Первые 32 байта представляют собой 4 банка (Register Bank) по 8 регистров (R7...R0). Регистры R0 и R1 в любом из банков могут использоваться в качестве регистров косвенного адреса.

Следующие за регистровыми банками 16 байт образуют блок побитно-адресуемого пространства. Набор инструкций MCS-51 содержит широкий выбор операций над битами, а 128 бит в этом блоке адресуются прямо и адреса имею значения от 00Н до 7FH.

Все байты в нижней 128-байтной половине памяти могут адресоваться как прямо, так и косвенно.

Верхняя 128 байтная половина памяти ОЗУ (upper 128) доступна только при косвенной адресации. Часть ячеек этой области проецируется в т.н. область SFR (Special Function Register), включающей в себя все специальные регистры микроконтроллера. Область SFR доступна только при прямой адресации.

Размещение регистров специальных функций в пространстве SFR показано на рис.4.

F8H                 FFH
F0H B               F7H
E8H                 EFH
E0H ACC               E7H
D8H                 DFH
D0H PSW               D7H
C8H                 CFH
C0H                 C7H
B8H IP               BFH
B0H P3               B7H
A8H IE               AFH
A0H P2               A7H
98H SCON SBUF             9FH
90H P1               97H
88H TCON TMOD TL0 TL1 TH0 TH1     8FH
80H P0 SP DPL DPH       PCON 87H

Рис. 4. Размещение регистров специальных функций в пространстве SFR.

Для 16 адресов в пространстве SFR имеется возможность как байтовой, так и битовой адресации. Для побитно-адресуемых регистров шестнадцатеричный адрес заканчивается на "0Н" или на "8Н". Битовые адреса в этой области имеют значения от 80Н до FFH.

Вся серия кристаллов семейства MCS-51 имеет базовый набор SFR, как и в микросхеме i8051, расположенный по тем же адресам. Однако в кристаллах, представляющих собой дальнейшее развитие семейства в область SFR, добавляются новые регистры для расширения функциональных возможностей, например, таймер 2, матрица программируемых счетчиков (Programmable Counter Array - PCA), сторожевой таймер (Watchdog Timer - WDT), регистры, обслуживающие прямой доступ к памяти, аналого-цифровое преобразование, коммуникационный последовательный канал и так далее.

Назначение регистров области SFR и отдельных битов этих регистров приведены ниже.

Аккумулятор А (ACC, Accumulator, адрес E0H).

Команды архитектуры MCS-51 используют аккумулятор как источник и как приемник при вычислениях и пересылках. Кроме обращения к аккумулятору командами, использующими мнемонику "А", имеется возможность побитовой или побайтовой адресации, как SFR-регистра.

Регистр В (Multiplication Register, адрес F0H).

Регистр В используется как источник и как приемник при операциях умножения и деления, обращение к нему, как к регистру SFR, производится аналогично аккумулятору.

Слово состояния программы PSW (Program Status Word, адрес D0H).

Данный регистр содержит биты, отражающие результаты исполнения операций, биты выбора регистрового банка и бит общего назначения, доступный пользователю. PSW отображен на область SFR и содержит:

- PSW.7 – бит переноса (Carry Flag, CY);

- PSW.6 – бит вспомогательного переноса (Auxiliary Carry Flag, AC);

- PSW.5 – пользовательский флаг (General Purpose Status Flag, F0);

- PSW.4, PSW.3 – биты выбора регистрового банка (Register Bank Select Bits, RS1 и RS0);

- PSW.2 – бит переполнения (Overflow Flag, OV);

- PSW.1 – зарезервирован (Reserved);

- PSW.0 – бит четности (Parity Flag, P).

Битами RS1, RS0 выбираются ячейки памяти, которые будут служить активным банком регистрового файла (регистры R0+R7).

RS1 RS0 Банк Адрес
00Н+07Н
08Н+0FH
10H+17H
18H+1FH

Регистры портов Р0+Р3 (адреса 80Н, 90Н, А0Н, В0Н).

Каждый порт является фиксатором - защелкой и может адресоваться как побайтно, так и побитно. Помимо работы в качестве обычных портов ввода/вывода, линии портов могут выполнять ряд альтернативных функций:

- через порт 0 (в мультиплексном режиме) выводится младший байт адреса, а также выдается и принимается в микроконтроллер байт данных при работе с внешней памятью программ/данных. Задаются данные при программировании внутренней памяти программ и читается ее содержимое;

- порт 1 предназначен для задания младшего байта адреса при программировании и проверке ПЗУ микросхемы. Линии порта используются также для обслуживания работы Т/С2 и модуля PCA (для тех версий кристаллов MCS-51, в составе которых имеются эти функциональные узлы);

- через порт 2 выводится байт старший байт адреса внешней памяти программ и данных, а также задаются старшие разряды адреса при программировании и верификации УФРПЗУ;

- порт 3 имеет следующие альтернативные функции:

- Р3.7 - строб чтения из внешней памяти данных (Read Data for External Memory, RD);

- P3.6 - строб записи во внешнюю память данных (WD);

- P3.5 - внешний вход T/C1 (Timer/Counter 1 External Input, T1);

- P3.4 - внешний вход T/C0 (Timer/Counter 0 External Input, T0);

- P3.3 - вход внешнего прерывания 1 (External Interrupt 1 Input Pin, INT1);

- P3.2 - вход внешнего прерывания 0 (INT0);

- P3.1 - выход данных передатчика последовательного порта (Serial Port Transmit Pin, TxD);

- P3.0 - вход данных передатчика последовательного порта (Serial Port Receive Pin, RxD).

Указатель стека SP (Stack Pointer, адрес 81Н).

Используется для указания на вершину стека в операциях записи в стек и чтения из него. Неявно используется такими командами, как PUSH, RET, RETI, POP. По аппаратному сбросу от ЦП устанавливается в значение 07Н (область стека в этом случае начинается с адреса внутренней памяти данных 08Н) и инкрементируется при каждой записи в стек. Запись в SFR-регистр SP (с использованием байтовой адресации) производится для предопределения положения стека во внутренней памяти данных.

Указатель данных DPTR (Data Pointer, адреса 82Н, 83Н).

Команды архитектуры MCS-51 используют DPTR для пересылки данных, пересылки кода и для переходов (JMP@A+DPTR). DPTR состоит из двух регистров: младшего - DPL и старшего - DPH, обращение к ним - только байтовое.

Регистр управления энергопотреблением PCON (Power Control Register, адрес 87Н).

Для кристаллов, выполненных по nМОП-технологии, данный регистр имеет только один значащий бит - SMOD, управляющий скоростью работы последовательного порта. Для кристаллов, изготовленных по КМОП-технологии, PCON имеет следующее назначение битов:

- PCON.7 - бит удвоения скорости передачи (Double Baud Rate Bit, SMOD);

- PCON.6+PCON.4 - зарезервированы (Reserved);

- PCON.3, PCON.2 - флаги общего назначения (General Purpose Flags, GF1, GF0);

- PCON.1 - бит режима микропотребления (Power Down Bit, PD);

- PCON.0 - бит холостого режима (Idle Mode Bit, IDL).

При установке холостого режима производится отключение ЦП при сохранении работоспособности внутрикристальных периферийных устройств и ОЗУ.

В режиме микропотребления приостанавливаются все операции при сохранении данных в ОЗУ (потребление тока микроконтроллером в этом случае менее 10 мкА). Выход из режима микропотребления осуществляется аппаратным сбросом длительностью не менее 10 мс (время восстановления работы задающего генератора), выход из холостого режима может быть произведен активизацией любого разрешенного прерывания, либо по сигналу RESET длительностью не менее двух машинных циклов.

Буфер последовательного порта SBUF (Serial Data Buffer, адрес 99Н).

Регистр управления последовательным портом SCON (Serial Port Control Register, адрес 98Н)

Последовательный порт ввода-вывода обеспечивает синхронный и асинхронный режимы связи и предназначен для поддержки взаимодействия микроконтроллера с модемами и другими внешними устройствами. Он работает как универсальный асинхронный приемопередатчик (UART) в трех полнодуплексных режимах (режимы 1, 2 и 3), причем асинхронная передача и прием могут вестись одновременно и с одинаковой или разной скоростью. Блок UART поддерживает обнаружение однобитовых ошибок кадра передачи, мультипроцессорный обмен и автоматическое распознавание адреса. Последовательный порт работает также и в синхронном режиме (режиме 0).

В состав UART входят передающий и принимающий сдвигающие регистры, буфер приемника и передатчика SBUF и блок управления работой порта с регистром управления SCON. Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи. Наличие буферного регистра приемника позволяет совмещать операцию чтения из SBUF ранее принятого байта с приемом очередного.

Регистры таймеров/счетчиков TL0, TL1, TH0, TH1 (адреса 8АН, 8ВН, 8СН, 8DH).

Образуют 16-битные (Low/High) регистры таймеров/счетчиков "Т/C0" и "Т/C1". Обращение к регистрам только байтовое. Подробно описаны в подразделе "Организация таймеров/счетчиков".

Регистр режима таймеров/счетчиков TMOD (Timer/Counter Mode Control Register, адрес 89Н).

Регистр управления таймеров/счетчиков TCON (Timer/Counter Control Register, адрес 88Н).

Предназначены для управления работой таймерной секции микроконтроллера.

Регистр разрешения прерываний IE (Interrupt Enable Register, А8Н).

Регистр управления приоритетом прерывания IP (Interrupt Priority Control Register, адрес В8Н).

Поддерживают работу системы прерываний микроконтроллера. Подробное описание работы с регистрами дано в подразделе "Организация прерываний".


Система команд МК51

Система команд МК51 содержит 111 базовых команд, которые удобно разделить по функциональному признаку на пять групп: команды передачи данных, арифметических операций, логических операций, операций передачи управления и операций с битами.

Большинство команд (94) имеют формат один или два байта и выполняются за один или два машинных цикла. При тактовой частоте 12 МГц длительность машинного цикла составляет 1 мкс.

Ниже приведены 13 типов команд МК51. Первый байт команды всегда содержит код операции (КОП). Второй и третий байты содержат либо адреса операндов, либо непосредственные операнды.

D7...D0

1. КОП (NOP, RR A, INC A.)

D7...D0

2. КОП #d (MOV R0,#FFh)

       
   


3. КОП ad (MOV R0, 21h)

       
   


4. КОП bit (CPL 1Fh)

       
   


5. КОП rel (SJMP J1)

       
   


6. A+КОП A7...A0 (AJMP J2)

D7...D0

7. КОП ad #d (M0V 21h, #Afh)

           
     


8. КОП ad rel (DJNZ 21h, J3)

           
     
 


9. КОП ads add (MOV 48h, 45h)

           
     


10. КОП #d rel (CJNE A, #Bfh, J4)

           
     


11. КОП bit rel (JB E2, J5)

           
     
 


12. КОП ad16h ad16l (LCALL START)

           
     
 


13. КОП #d16h #d16l (MOV DPTR, #1234h)

В таблице 1 приведена система команд микроЭВМ семейства МК51.

Таблица 1.

7-4\ 3-0 0000(0) 0001(1) 0010(2) 0011(3) 0100(4) 0101(5) 0110(6) 0111(7)
0000(0) NOP AJMP addr LJMP addr RR A INC A INC direct INC @R0 INC @R1
0001(1) JBC bit, adr ACALL addr LCALL addr RRC A DEC A DEC direct DEC @ R0 DEC @ R1
0010(2) JB bit,addr AJMP addr RET RL A ADD A,#data ADD A, drct ADD A,@R0 ADD A,@R1
0011(3) JNB bit,addr ACALL addr RETI RLC A ADDC A,#data ADDC A, drct ADDC A,@R0 ADDC A,@R1
0100(4) JC addr AJMP addr ORL drct, A ORL drct,#d ORL A, #data ORL A, #direct ORL A, @R0 ORL A, @R1
0101(5) JNC addr ACALL addr ANL drct,A ANL drct,#d ANL A,#data ANL A,#drct ANL A , @R0 ANL A , @R1
0110(6) JZ addr AJMP addr XRL drct, A XRL drct, #d XRL A, #data XRL A, #direct XRL A, @R0 XRL A, @R1
0111(7) JNZ addr ACALL addr ORL C, bit JMP@A+DPTR MOV A,#data MOV drct,#d MOV @R0,#d MOV @R1,#d
1000(8) SJMP addr AJMP addr ANL C,bit MOVC A,@A+PC DIV AB MOV direct, direct MOV direct, @R0 MOV direct, @R1
1001(9) MOV DPTR, #data ACALL addr MOV bit, C MOVC A,@A+ DPTR SUBB A,#data SUBB A, drct SUBB A,@R0 SUBB A,@R1
1010(A) ORL C, / bit AJMP addr MOV C, bit INC DPTR MUL AB   MOV @R0, direct MOV @R1, direct
1011(B) ANL C, / bit ACALL addr CPL bit CPL C CJNE A, #d, addr CJNE A, drct, addr CJNE @R0, #d,addr CJNE @R1, #d,addr
1100(C) PUSH direct AJMP addr CLR bit CLR C SWAP A XCH A,#drct XCH A,@R0 XCH A,@R1
1101(D) POP direct ACALL addr SETB bit SETB C DA A DJNZ drct,adr XCHD A,@R0 XCHD A,@R1
1110(E) MOVX @DPTR, A AJMP addr MOVX A, @R0 MOVX A, @R1 CLR A MOV A, direct MOV A, @R0 MOV A, @R1
1111(F) MOVX @DPTR,A ACALL addr MOVX @R0,A MOVX @R1,A CPL A MOV direct,A MOV @R0,A MOV @R1,A
7-4\ 3-0 1000(8) 1001(9) 1010(A) 1011(B) 1100(C) 1101(D) 1110(E) 1111(F)
0000(0) INC R0 INC R1 INC R2 INC R3 INC R4 INC R5 INC R6 INC R7
0001(1) DEC R0 DEC R1 DEC R2 DEC R3 DEC R4 DEC R5 DEC R6 DEC R7
0010(2) ADD A, R0 ADD A, R1 ADD A, R2 ADD A, R3 ADD A, R4 ADD A, R5 ADD A, R6 ADD A, R7
0011(3) ADDC A, R0 ADDC A, R1 ADDC A, R2 ADDC A, R3 ADDC A, R4 ADDC A, R5 ADDC A, R6 ADDC A, R7
0100(4) ORL A, R0 ORL A, R1 ORL A, R2 ORL A, R3 ORL A, R4 ORL A, R5 ORL A, R6 ORL A, R7
0101(5) ANL A, R0 ANL A, R1 ANL A, R2 ANL A, R3 ANL A, R4 ANL A, R5 ANL A, R6 ANL A, R7
0110(6) XRL A, R0 XRL A, R1 XRL A, R2 XRL A, R3 XRL A, R4 XRL A, R5 XRL A, R6 XRL A, R7
0111(7) MOV R0, #d MOV R1, #d MOV R2, #d MOV R3, #d MOV R4, #d MOV R5, #d MOV R6, #d MOV R7, #d
1000(8) MOV drct,R0 MOV drct,R1 MOV drct,R2 MOV drct,R3 MOV drct,R4 MOV drct,R5 MOV drct,R6 MOV drct,R7
1001(9) SUBB A, R0 SUBB A , R1 SUBB A , R2 SUBB A , R3 SUBB A , R4 SUBB A , R5 SUBB A , R6 SUBB A , R7
1010(A) MOV R0,drct MOV R1,drct MOV R2,drct MOV R3,drct MOV R4,drct MOV R5,drct MOV R6,drct MOV R7,drct
1011(B) CJNE R0, #d, addr CJNE R1, #d, addr CJNE R2, #d, addr CJNE R3, #d, addr CJNE R4, #d, addr CJNE R5, #d, addr CJNE R6, #d, addr CJNE R7, #d, addr
1100(C) XCH A, R0 XCH A, R1 XCH A, R2 XCH A, R3 XCH A, R4 XCH A, R5 XCH A, R6 XCH A, R7
1101(D) DJNZ R0,addr DJNZ R1,addr DJNZ R2,addr DJNZ R3,addr DJNZ R4,addr DJNZ R5,addr DJNZ R6,addr DJNZ R7,addr
1110(E) MOV A, R0 MOV A, R1 MOV A, R2 MOV A, R3 MOV A, R4 MOV A, R5 MOV A, R6 MOV A, R7
1111(F) MOV R0, A MOV R1, A MOV R2, A MOV R3, A MOV R4, A MOV R5, A MOV R6, A MOV R7, A

Для адресации бит используется прямой 8-битный адрес. Косвенная адресация бит невозможна. 4-битные операнды используются только при операциях обмена (команды SWAP и XCHD). 8-битным операндом может быть ячейка памяти программ или данных, константа, регистры специальных функций и порты ввода-вывода. Порты и SFR адресуются только прямым способом. Байты памяти могут адресоваться также и косвенным образом через адресные регистры (R0, R1, DPTR, PC). Двухбайтные операнды - это константы и прямые адреса, для представления которых используются 2 и 3 байты команд.

Набор команд MК-51 поддерживает следующие режимы адресации.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.