Система команд микроконтроллера 1830ВЕ51
Система команд МК51 содержит 111 базовых команд, которые по функциональному признаку можно подразделить на следующие пять групп:
- команды передачи данных;
- арифметические команды;
- логические команды с байтовыми переменными;
- команды битового процессора;
- команды ветвления программ и передачи управления.
Формат команд - одно-, двух- и трехбайтовый, причем большинство команд (94) имеют формат один или два байта. Первый байт команды любого типа и формата всегда содержит код операции, второй и третий байты содержат либо адреса операндов, либо непосредственные операнды.
Операнды могут быть четырех типов: биты, тетрады (4 разряда), байты и 16-битные слова. Время выполнения команд составляет 1, 2 или 4 машинных цикла. При тактовой частоте 12 МГц длительность машинного цикла составляет 1 мкс, при этом 64 команды исполняются за 1 мкс, 45 команд - за 2 мкс и 2 команды (умножение и деление) - за 4 мкс.
В МК51 поддерживает следующие способы адресации:
1. Прямая адресация (Direct Addressing). Операнд определяется 8-битным адресом в команде. Эта адресация используется только для внутренней памяти данных и регистров специальных функций;
2. Косвенная адресация (Indirect Addressing). В этом случае команда адресует регистр, в котором содержится адрес операнда. Данный вид адресации может применяться при обращении как к внутреннему, так и внешнему ОЗУ. Для указания 8-битных адресов могут использоваться регистры R0 и R1 выбранного банка памяти или указатель стека SP. Для 16-битной адресации используется только регистр DPTR.
3. Регистровая адресация (Register Instruction). Данная адресация применяется для доступа к регистрам R0…R7 выбранного банка. Адреса регистров содержатся в байте кода операции и представляют собой трехбитовое поле, определяющее номер регистра. Выбор одного из четырех регистровых банков осуществляется программированием битов селектора банка (RS1, RS0) в PSW;
4. Непосредственная адресация (Immediate constants). Операнд содержится непосредственно в поле команды вслед за кодом операции и может занимать один или два байта (data8, data16).
5. Индексная адресация (Indexed Addressing). Индексная адресация используется при обращении к памяти программ и только при чтении. В этом режиме осуществляется просмотр таблиц в памяти программ. 16-битовый регистр (DPTR или PC) указывает базовый адрес требуемой таблицы, а аккумулятор указывает на точку входа в нее. Адрес элемента таблицы находится сложением базы с индексом (содержимым аккумулятора).
6. Другой тип индексной адресации применяется в командах “перехода по выбору”. При этом адрес перехода вычисляется как сумма указателя базы и аккумулятора.
7. Неявная адресация (Register-Specific Instructions). Некоторые команды используют индивидуальные регистры (например, операции с аккумулятором, DPTR), при этом данные регистры не имеют адреса, указывающего на них; это заложено в коде операции.
В табл. 1.15 приведены обозначения и символы, используемые в командах.
Таблица 1.15
Обозначение, символ | Назначение |
А | Аккумулятор |
Rn (n = 0... 7) | Регистр общего назначения в выбранном банке памяти |
direct | Прямо адресуемый 8-ми битовый внутренний адрес ячейки данных, который может быть ячейкой внутреннего ОЗУ (0…127) или SFR (128…255) |
@Ri(i= 0, 1) | Регистр общего назначения в выбранном банке регистров, используемый в качестве регистра косвенного адреса |
#data 8 | 8-ми битовый непосредственный операнд |
#data 16 | 16-ти битовый непосредственный операнд |
data H | Старшие биты (15…8) непосредственных 16-ти битовых данных |
data L | Младшие биты (7…0) непосредственных 16-ти битовых данных |
addr 11 | 11-ти битовый адрес назначения |
addr 16 | 16-ти битовый адрес назначения |
addr L | Младшие биты адреса назначения |
disp 8 | 8-ми битовый байт смещения со знаком |
bit | Бит с прямой адресацией, находящийся во внутреннем ОЗУ или SFR |
/bit | Инверсия прямо адресуемого бита |
rel | Относительный адрес перехода |
(X) | Содержимое элемента Х |
((X)) | Содержимое по адресу, хранящемся в элементе Х |
(X) [M] | Разряд М элемента Х |
(X) [M1…M2] | Группа разрядов М1…М2 элемента Х |
Дата добавления: 2016-11-26; просмотров: 1982;