logo
МПТ_L_к

5.5. Регістр стану (psw) мп та його призначення

Розглянуті операції додавання і віднімання двійкових чисел є базомими в мікропроцесорах при виконанні ними команд в машинних кодах. Двійкові числа, які згруповані в машинні слова і над якими виконується операція в програмах називаються операндами. А сама арифметична операція виконується в спеціальних арифметично-логічних пристроях (АЛП, АЛУ), до складу яких входять спеціальні схеми суматорів.

Для розширення функціональних можливостей мікропроцесорів по обробці цифрової інформації за рахунок виконання арифметичних операцій з різними системами надання операндів, МП оснащені РЕГІСТРАМИ СТАНУ (PSW) або ознаки (РП), або їх ще називають регістрами умов. З одної сторони - регістр стану призначений для фіксації стану процесора в кожний момент виконання ним програми, а з іншої - його використання ставить виконання програми в залежність від значення результату виконання попередньої команди. Так от, для звертання до інформації про результат уже виконаних обчислень в склад МП введено ряд тригерів, які скидуються в нуль, чи встановлюються в одиницю в залежності від виконаних обчислень. Кожний тригер зберігає один із бітів стану (умови), а об’єднані разом вони складають регістр стану. Останній характеризується різним складом бітів для різних МП, але типовим є такий склад:

(В7) (B6) (B5) (B4) доп (B3) (B2) 1) (B0)

S - знаку Z - нуля - ACперенес - P - парності - CY- перенесення

СYперенесення (або переповнення) =1 при появі перенесення із старшого розряду (В7). Виникає у випадку переповнення розрядної сітки при виконанні арифметичних операцій (наприклад, для 8-ми розрядного МП, коли результат буде більше 256) і дорівнює 0, якщо переповнення (перенесення) немає.

МП аналізує стан біту (ми його теж аналізували в наших прикладах)

і виконує додавання з його урахуванням.

AF(16) = 1010 1110

74(16) = 0111 0100

CY = 1 0010 0010 = 22(16) біт перенесення = 1

S – (біт знаку): стан від”ємного результату встановлюється рівним “1”, якщо старший розряд (В7) результату дорівнює 1; в іншому випадку = 0. Використовується в командах, які інтерпретують цей біт (В7) як знак і він дублюється в біт знака регістра стану, а потім використовується в командах умовних переходів по знаку результату.

Z - стан нульового результату (біт нуля): при рівності всіх біт машинного слова в акумуляторі нулю Z=1, в іншому випадку Z= 0.

A7(16) = 1010 0111

59(16) = 0101 1001

CY = 1 , Z = 1 1 0000 0000 = 0 (16) Біти і перенесення і нуля = 1.

Р – біт парності; Р=1, якщо кількість 1 в машинному слові парна або якщо в ньому всі нулі, та Р=0 – в іншому випадку. Для прикладу наведеному вище –

крім Z = 1 буде встановлений біт Р=1, так як нуль – число парне.

АС – біт перенесення із молодшої тетради в старшу, якщо воно є = 1,

якщо ні = 0 Використовується при двійково-десятковій корекції результату:

19 = 0001 1001 тільки в команді DAA, десяткове налаштування

+8 = 0000 1000 акумулятора для перетворення із2-ї в 2-10ву

= 0010 0001 При виконанні команди буде враховано перене-

+0000 0110 сення АС = 1 і корекція ( додано 6 – 0110 )

Результат =0010 0111 = 27(2-10)