кількість біт в подільному (40) і скидається ознака переносу, далі йде цикл розподілу (блоки 1.14-1.22): ділене зсувається вліво (блок 1.14), залишок зсувається вліво (блок 1.15), із залишку віднімається дільник ( блок 1.16) і якщо результат менше нуля (блок 1.17), залишок відновлюється (блоки 1.18), далі обчислюється черговий біт приватного (блок 1.19) і приватне зсувається вліво (блок 1.20), зменшується на один число в регістрі С (блок 1.21), вихід з циклу відбувається якщо в регістрі З нуль (блок 1.22);
в блоці 1.23 значення функції у змінній tmp1 зберігається в змінну y.
Друга частина - підпрограма складання двох 5-й байтних двійкових чисел, адреси яких знаходяться в реєстрових парах HL і DE відповідно. Результат поміщається в осередках пам'яті на місце першого числа. p align="justify"> У блоці 2.1 скидається ознака переносу, в блоці 2.2 в регістр В завантажується кількість байт в числах, далі йде цикл складання (блоки 2.3-2.9): байт другого числа завантажується в акумулятор (блок 2.3), складається з першим числом (блок 2.4) і з ознакою переносу, і зберігається в пам'ять (блок 2.5), збільшуються адреси байт (блоки 2.6,2.7), зменшується на один число в регістрі B (блок 2.8), вихід з циклу відбувається, якщо в регістрі B нуль (блок 2.9).
Третя частина - підпрограма віднімання двох 5-й байтних двійкових чисел, адреси яких знаходяться в реєстрових парах HL і DE відповідно. Результат поміщається в осередках пам'яті на місце другого числа. p align="justify"> У блоці 3.1 скидається ознака переносу, в блоці 3.2 в регістр В завантажується кількість байт в числах, далі йде цикл віднімання (блоки 3.3-3.9): байт другого числа завантажується в акумулятор (блок 3.3), з нього віднімається байт першого числа і ознака переносу (блок 3.4), і результат зберігається в пам'ять (блок 3.5), збільшуються адреси байт (блоки 3.6,3.7), зменшується на один число в регістрі B (блок 3.8), вихід з циклу відбувається, якщо в регістрі B нуль (блок 3.9).
Четверта частина - підпрограма зсуву вліво з урахуванням перенесення 5-й байтового двійкового числа, адреса якого знаходиться в регістровий парі HL:
У блоці 4.1 в регістр В завантажується кількість байт в числі, далі йде цикл зсуву (блоки 4.2-4.7): байт числа завантажується в акумулятор (блок 4.2), зрушується (блок 4.3) і зберігається в пам'ять (блок 4.4), збільшується адресу байта (блок 4.5), зменшується на один число в регістрі B (блок 4.6), вихід з циклу відбувається якщо в регістрі B нуль (блок 4.7).
Таким чином, програма складатиметься з основної програми, і підпрограм багатобайтові додавання, віднімання та зсуву вліво.
3. Розробка програми на асемблері
Згідно розробленої в попередньому розділі структурної схеми програми була розроблена програма на мові асемблер для мікропроцесора К...