Типи операндів та способи адресації
МК 51 використовує операнди чотирьох типів: біти, 4-бітові цифри, байти і 16-байтові слова. З карти адрес РПД (рисунок 8.4) видно, МК має 128 програмно-керованих індикаторів користувача, а також є можливість адресації окремих бітів блока регістрів спеціальних функцій. Для адресації бітів використовується пряма 8-бітова адреса (bit), як це показано для команд 4 і 11 (рисунок 8.9). Опосередкована адресація бітів неможлива. Чотирибітові операнди виконуються тільки в операціях обміну SWAP i XCHD (формат типу 1).Восьмибітовим операндом може бути комірка пам’яті програм або даних (резидентної або зовнішньої), константа (безпосередній операнд), регістри спеціальних функцій, а також порти вводу-виводу. Порти і регістри спеціальних функцій адресуються тільки прямим способом. Байти пам’яті можуть адресуватись також і опосередковано через адресні регістри R0 і R1, відповідного банку, а також регістри DPTR і лічильник команд PC. Таблиця 8.13- Перелік базових типів команд МК 51 в алфавітному порядку.
Рисунок 8.9- Формати команд МК 51: КОП - код операції; ad - пряма 8-розрядна адреса байта в РПД з такими уточненнями: add - для джерела; ads - для приймача; ad11(a10... a0) - біти прямої 11-розрядної адреси передачі керування в пам’яті програм; ad16 - пряма 16-розрядна адреса передачі керування в пам’яті програм, де: ad 16 h - старший, а 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, тому їх не треба визначати директивами асемблера.
Читайте также: А.1 Системи та способи утримання птиці. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|