Завдання
Знакове поділ четирехсловного діленого на однослівне дільник на основі використання штатної команди процесора div src (формат 64:16 = 64).
Структурний опис програми
На вході програми отримуємо десяткове число - ділене і дільник. Нам необхідно провести з їх допомогою ділення. Ми перетворимо і ділене і дільник в двійкову систему числення в ASCII рядок, після перетворення виробляємо розподіл діленого на дільник. Ми враховуємо залишок від ділення і сам результат. Після цього перетворимо результат і залишок у десяткову систему числення, після чого виводимо результат на екран
Опис власних векторів обробників переривань
Оброблювач мультиплексного переривання New_2Fh
Переривання New_2Fh використовується для міжпрограмних зв'язків. Тому в нашому програмному комплексі використовуємо його для реалізації механізму спілкування між резидентом і транзитної програмою. Для використання в програмному комплексі обрана функція 0С8h, оскільки її номер є вільним і призначена для реалізації функції прикладними програмами. Опишемо подфункции нашої функції, номер підфункції задається в регістрі al. p align="justify"> Процедура Init: служить для індикації знаходження резидента в пам'яті, в результаті її роботи al стає рівним 0ffh в якості основного ознаки і dx стає рівним 8888h
Ппроцедура no також служить для індикації резидента і виконує висновок повідомлення від резидента на екран.
Процедура uninstall виконує видалення резидента з пам'яті. За допомогою функції 25h int 21h відновлює старе значення векторів обробників переривань. І видаляє блок резидента з пам'яті. p align="justify"> Подфункция 04h виконує завантаження результа ділення з резидента в транзитну програму. При цьому результат міститься в dx: ax, у разі якщо процедура множення НЕ була викликана значення регістра cx одно 0ffffh
Обробник переривання клавіатури New_09h
В
Рис.
програма assembler вектор
У разі якщо встановлено прапор активності сканування клавіатури, виконує перевірку на натискання Alt + A, якщо натиснута ця клавіатурна комбінація, то викликається процедура поділу, встановлюється прапор виконання ділення і знімається прапор активності сканування клавіатури.
Div64: Функція-обчислювач, реалізує операцію ділення знакових чисел у форматі 64:16. У виду алгоритмічної складності безпосередньої реалізації ділення чисел в додатковому коді цю операцію виконують як поділ з попереднім перетворенням діленого і дільника в модульну форму з нульовим знаковим розрядом. Поділ проводиться у чотири етапи. p align="justify"> Результати демонстрації програми.
Результат роботи резидента
В ...