регістрів;
2 Безпосередньої адресації (Позначається знаком - #) - операнд знаходиться в другому (а для 16-ти бітового операнда і в третьому) байті команди;
3 Непряма адресація (позначається знаком - @) - операнд знаходиться в Пам'яті Даних (РПД або ВПД), а адреса комірки пам'яті міститься в одному з РОНов непрямої адресації (R0 або R1); в командах PUSH і POP адресу міститься в покажчику стека SP; регістр DPTR може містити адреса ВПД об'ємом до 64К;
4 ПРЯМА байтовими Адресація - (dir) - Використовується для звертання до комірок РПД (адреси 00h ... 7Fh) і до регістрів спеціальних функцій SFR (адреси 80h ... 0FFh);
5 ПРЯМА бітів Адресація - (bit) - використовується для звернення до окремо адресуються 128 бітам, розташованим в осередках РПД за адресами 20H ... 2FH і до окремо адресуються бітам регістрів спеціальних функцій (див. табл. 3 та програмну модель);
6 Непрямим індексної адресації (позначається знаком - @) - спрощує перегляд таблиць у Пам'яті Програм, адреса ПП визначається за сумою базового регістра (PC або DPTR) та індексного регістра (Акумулятора);
7 Неявно (ВБУДОВАНА) Адресація - у коді команди міститься неявне (за замовчуванням) вказівку на один з операндів (Найчастіше на Акумулятор). br/>
4. ФОРМАТ СЛОВА СТАНУ ПРОЦЕСОРА (PSW)
В
C - прапор переносу (CARY) або позичання, виконує також функції В«булевого Акумулятора" в командах, оперують з битами;
AC - прапор допоміжного (додаткового) перенесення - Встановлюється в "1", якщо в команді додавання (ADD, ADDC) був перенесення з молодшої тетради в старшу (тобто з 3-го біта в 4-й біт);
F0 - прапор користувача - встановлюється, скидається і перевіряється програмно;
RS1
RS0
Банк
Адреса (dir)
0
0
0
00h .. 07h
0
1
1
08h .. 0Fh
1
0
2
10h .. 17h
1
1
3
18h .. 1Fh
RS1, RS0 - Вибір банку регістрів:
OV - Прапор арифметичного переповнення; його значення визначається операцією "Що виключає АБО" сигналів вхідного і вихідного переносів старшого розряду АЛП; одиничне значення цього прапора вказує на те, що результат арифметичної операції в додатковому коді вийшов за допустимі межі: -128 ... +127; при виконанні операції ділення прапор OV скидається, а у разі поділу на нуль - встановлюється; при множенні прапор OV встановлюється, якщо результат більше 255 (0FFH);
Розряд PSW [1] - Резервний, містить тригер, доступний по запису або читання;
P - прапор паритету - є доповненням кількості одиничних бітів в акумуляторі до парного; формується комбінаційної схемою (Програмно доcтуп тільки з читання). p> У мікроконтролерах MCS-51 відсутня прапор "Z". Але в командах умовного переходу (JZ, JNZ) перевіряється комбінаційної схемою поточне (нульове або ненульове) вміст Акумулятора. p> Всі команди пересилань та обміну операндів можуть здійснюватися через Акумулятор (див. рис. 3). Причому пересилання із/в Зовнішньої Пам'яті (Пам'яті Програм або Пам'яті Даних) можуть здійснюватися тільки через Акумулятор. p> Більшість пересилань можуть здійснюватися також через прямоадресуемий байт (dir). Існують навіть пересилання dir - dir (Див. рис. 3). p> Відсутні пересилання з РОНА в РОН можуть бути реалізовані як пересилання з РОНА в прямоадресуемий байт dir (З урахуванням того, що Рони розташовані в початковій області резидентної пам'яті Даних, осередки якої можуть адресуватися як dir). p> Команди обміну XCH дозволяють пересилати байти без руйнування обох операндів.
Арифметичні команди виконуються тільки в Акумуляторі. Тому перший операнд необхідно попередньо помістити в Акумулятор і потім скласти або відняти другий операнд. Результат поміщається в Акумулятор. br/>В
Команда віднімання SUBB виконується тільки з заемом (тобто з результату віднімається і прапор Сary). Тому для виконання команди віднімання без позичання необхідно попередньо виконати команду очищення прапора С (CLR C).
Команда множення однобайтних операндів - MUL AB - розміщує двобайтовий (16 біт) результат: молодший байт - в Акумулятор, старший байт - в регістр В.
Результат виконання команди ділення однобайтних операндів - DIV AB - поміщається: приватне - а Акумулятор, залишок - в регістр В.
Арифметична команда INC додає до обран...