DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

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

Міністерство освіти і науки України Національний технічний університет України «Київський політехнічний інститут ім. І. Сікорського» Кафедра автоматизації проектування енергетичних процесів і систем Лабораторна робота № 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:34

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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