Арифметичне пристрій призначений для операції віднімання двох чисел і видачі результату операції в двійковій-десятковому коді. Перший операнд - зменшуване, - надходить на вхід пристрою в восьмирозрядному двійковому коді «128-64-32-16-8-4-2-1», а другий - від'ємник, - в двійковій-десятковому коді. Так як один з операндів і результат операції представляються в двійковій-десятковому коді, доцільно перетворити другий операнд також в двійковій-десятковий код, а операцію віднімання реалізувати за допомогою двійково-десяткового суматора, побудованого на інтегральних мікросхемах довічних сумматоров. Арифметичний пристрій являє собою автомат комбінаційного типу, т. Е. Не містить пам'яті. Структурна схема пристрою представлена на малюнку 1.1.
Мал. 1.1. Структурна схема арифметичного пристрою
1.2. Функціональна схема перетворювача двійкового коду
в двійковій-десятковий код
Функціональна схема перетворювача представлена на малюнку 1.2. Сигнал кожного розряду двійкового коду можна розкласти на відповідні значення двійкових розрядів одиниць, десятків і сотень двійковій-десяткового коду:128 = 100 + 20 + 8,
Необхідно скласти значення біт вхідного коду в кожному двійковому розряді вихідного коду, виконуючи при необхідності десяткову корекцію, якщо в десятковому розряді виникає число більше 9.
Сигнали десяткового корекції
Перенесення р1 віднімає з десяткового розряду одиниць число 16, тому при наявності сигналу р1 необхідно повернути число 6, т. Е. Код корекції α2 α1. У разі, коли перенесення р1 відсутня, але залишок s3 s2 s1 s0 разом з х2 перевищує число 9, код корекції теж повинен бути α2 α1. Якщо ж є сигнал р1 і при цьому залишок s3 s2 s1 s0 разом з х2 перевищує число 9, необхідно для десяткового корекції додати число 12, отже, код корекції α3 α2. І, нарешті, коли і перенесення р1 немає, і залишок s3 s2 s1 s0 разом з х2 менше 10, десяткова корекція не потрібна.
Т
Абліцов 1.1. Таблиця сигналів десяткового корекціїв першому каскаді розряду одиниць