як 8-розрядні регістри), так і в парах НL, BC, DE, при цьому вони використовуються для зберігання 16-розрядних операндів і адрес. Пара регістрів НL може використовуватися для зберігання адреси осередки пам'яті (М) при зверненні до неї як до регістру. p align="justify"> До спеціальних регістрів належать: лічильник команд, покажчик стека, регістр адреси, акумулятор, регістр ознак.
З них програмно доступними є лічильник команд, покажчик стека, акумулятор, регістр ознак.
Лічильник команд Рс являє собою 16-ти розрядний регістр, що містить адресу виконуваної команди.
Покажчик стека S р - 16-розрядний регістр, призначений для зберігання адреси вершини стека. Стек розташовується в оперативній пам'яті. Тому при розбивці адресного простору необхідно в ОЗУ виділити область для стека. p align="justify"> Регістр стану (регістр ознак) призначений для зберігання інформації про результат операції.
Також МП містить схема десяткової корекції призначена для автоматичної корекції результату операції додавання при поданні операндів, в двійково-десятковому коді.
Система команд МП включає команди пересилання, инкремента і декремента, команди арифметичних і логічних операцій, зсуву, передачі управління, введення-виведення і кілька додаткових команд.
У даному МП немає команд ділення і множення. Тому необхідно розробити алгоритми програмного обчислення даних операцій. p align="justify"> За завданням вхідними числами х1, х2, є цілі, позитивні, 4-х байтниє, двійкові числа. 4-х байтное двійкове число може приймати значення від 0 до 232-1 (FFFFFFFF16). p align="justify"> Максимальний значення функція досягає при мінімальному значенні знаменника, тобто при х1 = 1 і одно (1 +232-1 +232-1)/(4 Г— span> 1) = 2147483647 (7FFFFFFF16). Таким чином, для зберігання результату в двійковому вигляді необхідно чотири байти.
Для зберігання результату складання х1, х2 і x необхідно п'ять байт, так як 232-1 +232-1 +232-1 = 12884901885 (2FFFFFFFD16).
Для зберігання результату множення 4 на х1 необхідно також п'ять байт, так як 4 Г— 232-1 = 17179869180 (3FFFFFFFC16).
Зазначимо, що областю допустимих значень, що задовольняє даної функції, є вираз>.
Проаналізуємо задану математичну функцію. Вона містить три арифметичних дії, тому програму можна логічно розділити на три складових. p> У першу чергу слід знайти суму. У своєму складі МП КР580ВМ80 має байтовое АЛУ з фіксованим набором команд. У цьому переліку присутній команда додавання. Так як розрядність процесора дорівнює восьми, а змінні складаються з декількох байт додавання будемо виробляти, побайтно переходячи від молодшого до старшого з урахуванням перенесення. На початку задаються лічильник складань кратний кількістю байт чисел, початкові адреси, якими є комірки пам'яті з ...