Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Програмування задач лінійної структури. Обчислення виразів.

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

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

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

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

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 4 з дисципліни: “ Засоби системного програмування ” на тему: ”Програмування задач лінійної структури. Обчислення виразів.” Мета: вивчити способи задання констант та змінних в Асемблері та набути навиків використання арифметичних команд над даними різного розміру. Порядок виконання роботи 1. Завдання Створити *.exe програму, яка реалізовує обчислення, заданого варіантом виразу і зберігає результат в пам’яті. Вхідні операнди А, В, С, D, E, F вважати беззнаковими і довжиною в байтах, згідно з індексу; К – константа, довжина якої визначається значенням(згідно варіанту). Для її опису слід використати директиву EQU. За допомогою Debug, відслідкувати правильність виконання програми (продемонструвати результати проміжних та кінцевих обчислень). Скласти звіт про виконану роботу з приведенням тексту програми та коментарів до неї. ВАРІАНТИ ЗАВДАННЯ: А, В, С, D, E, F - беззнакові операнди, довжиною в байтах, згідно з індексу, значення К подано у 16-му форматі. X=A2*B1+C4/(K-E1*F1) A77627   2. Написав і скомпілював код програми .MODEL SMALL .STACK 100h .DATA A dw 8253h B dw 0083h C dd 45114563h E db 12h F db 13h K_high EQU 7Ah K_low EQU 7627h X dd ? Temp1 dw 0000h Temp2 dw 0000h .CODE Start: mov ax,@data mov ds,ax xor cx,cx xor ax,ax ;очищуємо регістр xor dx,dx ;очищуємо регістр mov al, [E] ;заносимо в al E mul [F] ;множимо E*F ax=al*F результат в AX.!!! mov cx,ax ;переносимо результат в cx mov ax, K_low ;ax = 7627h mov dx, K_high ; dx = 007Ah sub ax,cx ; K-E1*F1 sbb dx,0 ; якщо виникло переповнення до відняти 1 mov word [Temp1],ax ; зберігаємо результат у змінній Temp1 mov word [Temp2],dx mov ax,word ptr C ;ax = 4563h mov dx,word ptr C+2 ;dx = 4511h div Temp1 ;C4/(K-E1*F1) ax= dx:ax / Temp1 div Temp2 ; al=ax/ Temp2 xor cx,cx mov cl,al ;c/(K-E*F) cx=al mov bx, word [B] ;заносимо в bx A mov ax, word [A] ;заносимо в ax B mul bx ;множимо A*B dx:ax = ax*bx результат в ax і dx add ax,cx adc dx,0 mov word ptr X, ax ;переносимо результат в X mov word ptr X+2,dx end Start / Висновок: на даній роботі я вивчив способи задання констант та змінних в Асемблері та набув навиків використання арифметичних команд над даними різного розміру.
Антиботан аватар за замовчуванням

14.10.2018 20:10

Коментарі

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

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини