Регістр ознак кр580
Порядок виконання команд програми залежить від особливостей (ознак) поточних результатів. Для індикації ситуації, що складається МП формує виконавчі ознаки (прапори), що відображають ознаки результатів виконання команд. Значення кожної ознаки фіксується в спеціальному триггере, які в сукупності утворюють регістр коду умови (регістр прапорів F, регістр стану RS). Вміст акумулятора і регістра прапорів називають словом стану програми PSW (Program Status Word).
У МП КР580ВМ80А є 5 прапорів:
C (Carry) - ознака переносу;
M (Minus) - ознака негативного результату;
Z (Zero) - ознака нуля;
P (Parity) - ознака паритету / парності;
AC (Auxiliary Carry) - ознака половинного перенесення.
Установка прапорів проводиться при виконанні наступних умов:
Прапор знака M встановлюється, якщо знаковий біт результату операції (сьомий розряд акумулятора) дорівнює 1, інакше скидається;
Прапор нуля Z встановлюється, якщо результат операції в акумуляторі дорівнює нулю, інакше скидається;
Прапор додаткового перенесення AC встановлюється при наявності перенесення з третього розряду акумулятора в четвертий, інакше скидається;
Прапор парності P встановлюється, якщо результат операції в акумуляторі містить парне число одиниць, інакше скидається;
Прапор переносу C встановлюється при наявності переносу (при додаванні) або позички (при відніманні) зі старшого розряду акумулятора, інакше скидається.
Найважливішими прапорами є:
прапор С, що дозволяє реалізувати на 8-розрядному МП обробку даних довжиною в довільне число байт;
прапор Z, який використовується для організації циклів і розгалужень;
прапор M, який використовується для організації розгалужень по знаку результату.
Для організації розгалужень в складі команд мікропроцесора передбачений великий набір команд умовної передачі управління, які здійснюють вибір одного з двох напрямків переходу в залежності від стану перевіряється прапора.
Регістри мп кр580
Блок програмно - доступних регістрів МП ВМ80А відрізняється великою функціональною неоднорідністю. Практично кожен регістр МП виконує притаманну лише йому функцію, що зроблено з метою більш короткого кодування системи команд мікропроцесора. З іншого боку, це призвело до ускладнення програмування цього МП.
Восьмизарядний акумулятор А використовується в переважній більшості команд логічної і арифметичної відпрацювання. Зазвичай він адресується неявно і служить як джерелом операнда, так і приймачем результату. Завдяки цьому в командах ВМ80А явно вказується тільки один операнд.
16-розрядний регістр HL, як правило, служить адресним регістром. При непрямої реєстрової адресації він зберігає 16-розрядний адреса основної пам'яті. В цьому випадку до нього посилаються за допомогою мнемоніки М (Memory), наприклад:
MOV A, M; вміст комірки (HL) заноситься в акумулятор
У деяких командах старший і молодший байти 16-розрядного регістра HL можуть адресуватися незалежно і використовуватися як окремі 8-розрядні регістри даних H (High Byte) і L (Low Byte) відповідно.
Регістри PC і SP виконують свою звичайну функцію лічильника команд і покажчика стека.
8-розрядні регістри F, A разом з 16-розрядними регістрами HL, SP і PC утворюють стандартний реєстровий набір мікропроцесора з акумулятором. Цей набір розширено чотирма 8-розрядними регістрами загального призначення (РОН): B, C, D, E, які в деяких командах об'єднуються в 16-розрядні парні регістри BC і DE. Молодшими регістрами пари є відповідно регістри C і E. Введення РОН дозволило створити досить ефективний мікропроцесор з широкими функціональними можливостями.
У командах посилання на регістр виконуються як явно, коли регістр кодується Трехразрядное полем, так і неявно (за допомогою коду операції), коли код операції на увазі і спосіб використання регістрів за замовчуванням.
