Page 168 - 149
P. 168
ad 16 l - молодший біт адреси;
bit - пряма 8-розрядна адреса біта;
#d - 8-розрядний операнд;
#d 16 16-розрядний операнд, де:
#d 16 h - старший, а
#d 16 l - молодший біт адреси;
rel - 8-розрядна відносна адреса передачі керування в РПД (-127 . . .
+127).
Двобайтові операнди - це константи і прямі адреси, для представлення
яких використовується другий і третій байт команди (типи 12 і 13).
В системі команд МК 51 передбачені 11 способів адресації операндів
(рисунок 8.9).
основні: регістрова (тип 1); безпосередня (типи 2 і 3);
пряма (типи 3...6, 12); неявна (тип 1);
опосередкована (тип 1).
комбіновані: безпосередня з прямою (типи 7 і 10); пряма з
прямою (типи 8, 9, 11); пряма з опосередкованою
(тип 2 і 3); тощо.
Така широка номенклатура способів адресації операндів загальна
кількість команд збільшується до 255, що практично вичерпує максимально
можливу номенклатуру команд при однобайтовому коді операції.
При використанні асемблера МК51 (ASM51) з метою одержання
об’єктних кодів програм допускається при програмуванні вживати символьні
імена регістрів символьних функцій, портів і їх окремих бітів. Для адресації
окремих бітів РСФ і портів (де це можливо) можна використовувати
символьні імена бітів в такому форматі:
<ім’я РСФ або порта>.<номер біта>
Наприклад, символьне ім’я порта Р1, можна записати, як Р1.2, а п’ятого
біта акумулятора - АСС.5. Символьні імена регістрів і їх бітів є
резервованими словами для ASM 51, тому їх не треба визначати директивами
асемблера.
Команди передачі даних
Дана група є найбільшою в системі команд МК 51 і містить 4 підгрупи:
пересилок, завантаження, обміну даними і стекові команди. Крім того їх
можна поділити на команди, які оперують з байтами та команди бітових
операцій. Тут будуть розглядатись команди, які оперують з байтами (таблиця
8.14).
Таблиця 8.14- Команди передачі даних
Назва команди Мнемоніка КОП Т В Ц Операція
Команди пересилок
Пересилка в MOV A,Rn 11101ііі 1 1 (A)(Rn)
акумулятор з
регістра (n=0 7)
169