Дослідження роботи команд переходів. Програмування задач з використанням алгоритмів розгалуження

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2014
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Засоби системного програмування

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет «Львівська політехніка»  ЗВІТ З лабораторної роботи №5 З дисципліни: «Засоби системного програмування» На тему: «Дослідження роботи команд переходів. Програмування задач з використанням алгоритмів розгалуження» Варіант 18 Мета: освоїти використання команд порівняння, умовного та безумовного переходів. Набути вміння використовувати арифметичні команди над знаковими даними та команди логічних операцій. ЗАВДАННЯ: Створити *.exe програму, яка реалізовує обчислення, заданого варіантом виразу. Вхідні дані слід вважати цілими числами зі знаком, розміром один байт. Результат обчислення виразу повинен записуватися у пам’ять. Уникнути випадку некоректних обчислень при діленні на нуль та при переповненні розрядної сітки (вивести відповідне текстове повідомлення). За допомогою Debug, відслідкувати правильність виконання програми (продемонструвати результати проміжних та кінцевих обчислень) та проаналізувати отримані результати для різних вхідних даних. Скласти звіт про виконану роботу з приведенням тексту програми та коментарів до неї. Дати відповідь на контрольні запитання. ВАРІАНТ ЗАВДАННЯ: 18    Лістинг програми: DOSSEG .MODEL SMALL .STACK 100h .DATA msg db 'Division by zero$' ; д_лення на 0 msg1 db 'Overflow bit grid$' ; переповнення с_тки A db -1 B db 1 X db 0h .CODE go: mov ax,@data ; коп_ювання адреса сегмента даних (@data) в регистр ax mov ds,ax ; заносить в рег_стр сегмента даних адресу початку даних xor ax,ax ; онулення скидання рег_стра _ прапорця mov al,A mov bl,B cmp al,bl ; пор_внюємо 2 пол_в jz rivno ; якщо 0 jl menshe ; якщо менше jg bilshe ; якщо б_льше bilshe: mov al,B mov bl,5 sub al,bl ; в_дн_мання jo prt_msg1 ; якщо переповнення mov bl,A add bl,0 ;додавання jz prt_msg ;якщо 0 idiv bl ;д_лення mov X, al ;збер результат jmp exit rivno: mov X,-55 jmp exit menshe: mov bl,5 mov al,A imul bl ; множення 5 на A jo prt_msg1 ; якщо переповнення mov bl,B add bl,0 jz prt_msg ;якщо 0 idiv bl ;ділення sub al,4 jo prt_msg1 ;якщо переповнення mov X, al jmp exit prt_msg: mov ah,09 mov dx, offset msg int 21h mov ah,10h int 16h jmp exit prt_msg1: mov ah,09 mov dx, offset msg1 int 21h mov ah,10h int 16h jmp exit imul bl exit: mov ah, 4ch int 21h end go Результат роботи програми:  При діленні на нуль або в результаті переповнення розрядної сітки програми видасть повідомлення. Наприклад візьмемо: A= 0 B= -4 Врезультаті програма видасть повідомлення :  Висновок: На цій лабораторній роботі я навчився використовувати команди умовних переходів і використовувати арифметичні команди над знаковими даними та команди логічних операцій.
Антиботан аватар за замовчуванням

21.03.2016 01:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!