Арифметичні команди

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

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

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

Рік:
2022
Тип роботи:
Лабораторна робота
Предмет:
Операційні системи

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

Міністерство освіти і науки України Національний технічний університет України «Київський політехнічний інститут ім. І. Сікорського» Кафедра автоматизації проектування енергетичних процесів і систем Лабораторна робота № 6 з дисципліни «Операційні системи» «Арифметичні команди» Робота студентки 1 курсу, ТР-15 Тхоржевської Анни Сергіївни Перевірила д.т.н., проф. Левченко Л.О. КИЇВ 2022 Мета роботи: програмування блоку обчислення арифметичних виразів на прикладі реалізації математичних формул з використанням арифметичних команд асемблера за індивідуальними завданнями. Завдання: Підготуйте теоретичну частину щодо використання команд, призначених для цілочисельних арифметичних виразів. Підготуйте і налагодьте програму для обчислення простих формул за зразком. Продемонструйте роботу програми під керуванням налагоджувача, прокоментуйте вміст обчислюваних змінних. Теоретична частина Варіант 14 Завдання за варіантом: Результати виконання роботи Код (відповідно до варіанту завдання): ; Лабораторна робота 6 ; Виконала Тхоржевська А. С. гр. ТР-15 ; Арифметичні команди ;Обчислення формули z = (4*c - d/2 + 23)/(a*a - 1) .MODEL small .Stack 100h Datas segment a dw 2 c dw 2 d dw 2 z dw ? h dw ? dob dw ? mess db 'Error! Division by zero.$' Datas ends Codes segment Assume cs:Codes, ds:Datas First: mov ax, Datas mov ds, ax ;a*a mov ax, a cwd imul a ;перевіряємо а == 1 cmp ax, 1 je @err ;(a*a)-1 mov h, 1 sbb ax, h mov dob, ax ;4*c mov h, 4 mov ax, c imul h mov z, ax ;d/2 mov h, 2 mov ax, d cwd idiv h ;(4*c)-(d/2) sbb z, ax ;(4*c-d/2)+23 mov ax, z mov h, 23 adc ax, h ;(4*c-d/2+23) / (dob) cwd idiv dob mov z, ax xor ax, ax mov ax, z push ax cmp ax, 0 jns @plus mov dl, '-' mov ah, 02h int 21h pop ax neg ax @plus: xor cx, cx mov bx, 10 @dvsn: xor dx, dx div bx push dx inc cx test ax, ax jnz short @dvsn mov ah, 02h @out: pop dx add dl, 30h ; +30 int 21h loop @out jmp @end @err: mov dx, offset mess mov ah, 09h int 21h @end: mov ax, 4c00h int 21h Codes ends end First EXE-файл: Запуск TD: Отриманий результат: Висновок: Під час виконання лабораторної роботи №6 ми ознайомились з командами переходу та арифметичними командами (MUL, IMUL, DIV, IDIV, ADD, ADC, INC, SUB, SBB, DEC, NEG, CBW, CWD). Було виконано завдання згідно з варіантом, оформлено звіт на надіслано викладачу на перевірку.
Антиботан аватар за замовчуванням

04.05.2023 23:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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