ign="justify">. Обнуляємо регістр edi. Вихід з алгоритму.
. Заносимо в змінну er значення 1. Вихід з алгоритму.
1.2 Лістинг програми
Відповідно до алгоритму реалізуємо програму мовою Assembler: eax, aebx, bedi, 0: eax, ebxmodulumn1: eaxedi: ebx, eaxeax, 1finisheax, 1finisheax, ebxfinishebx, c// P2ebx, 80000000hlabel3umn2: ebxedi : edx, 0// РСМecx, 31: ebx, 1hslozhsdvig: edx, eax: edx, 1ebx, 1ecxecx, ecxproverkaedx, 31ebx, 1edx, 1edi, 1minusrez: edxedxebxrez: dword ptr y, ebxdword ptr y [4], edxf1: er , 1: edi, 0
1.3 Тестування алгоритму
Для налагодження використовувалася програма Visual Studio 2008. Цей вибір пояснюється тим, що дана програма активно використовувалася при проходженні курсу лекцій з мови Assembler, для розробки лабораторних робіт. p align="justify"> Для тестування алгоритму задамо деякий набір даних.
Змінні а, b, c представлені в десятковій системі числення.
Приклад 1 (всі числа позитивні):
Набір вхідних даних:
а = 360 = 124
з = 530
Результат, виданий програмою: = (360-124) * 5 * 530 = 625400
В
Рисунок 1
Приклад 2 (1 число негативне):
Набір вхідних даних:
а = -5840 = 2610
з = 3270
Результат, виданий програмою: = - 138157500
В
Малюнок 2
Приклад 3 (2 від'ємних числа):
Набір вхідних даних:
а = - 6732 = - 1346
з = 2888
Результат виданий програмою:
У = - 77773840
В
Малюнок 3
Приклад 4 (переповнення):
Набір вхідних даних:
а = 1844674407370955168 = 1
з = 56
Результат виданий програмою:
В
Малюнок 4
Перевірений вручну результат збігається з отриманим в програмі.
Як показала перевірка та налагодження - результат відповідає істині.
2. Синтез керуючого автомата з жорсткою логікою
Переваги автоматів з жорсткою логікою:
високу швидкодію при реалізації алгоритму управління;
добре розроблені формальні методи синтезу аж до рівня принципових схем.
Недоліки:
відсутність гнучкості...