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

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

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

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

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

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

Міністерство освіти та науки України Національний університет «Львівська політехніка»  ЗВІТ З лабораторної роботи №4 З дисципліни: «Засоби системного програмування» На тему: «Програмування задач лінійної структури. Обчислення цілочисельних виразів з використанням беззнакових даних» Львів 2010 ЗАВДАННЯ: Створити *.exe програму, яка реалізовує обчислення, заданого варіантом виразу і зберігає результат в пам’яті. Вхідні операнди А, В, С, D, E, F вважати беззнаковими і довжиною в байтах, згідно з індексу; К – константа, довжина якої визначається значенням(згідно варіанту). Для її опису слід використати директиву EQU. За допомогою Debug, відслідкувати правильність виконання програми (продемонструвати результати проміжних та кінцевих обчислень). Скласти звіт про виконану роботу з приведенням тексту програми та коментарів до неї. Дати відповідь на контрольні запитання. ВАРІАНТ ЗАВДАННЯ: № Вираз K  7 X=A4/B2-C1*(D1+E2-K) 717   Лістинг програми: DOSSEG .MODEL SMALL .STACK 100h .DATA K EQU 717h A LABEL word dw 4240h dw 000Fh B dw 2h C db 0ffh D db 0ffh E dw 0ffffh Temp1 dw 00h Temp2 dw 00h,00h Res dw 00h Temp3 dw 00h,00h X dw 00h,00h ;X=A4/B2-C1*(D1+E2-K) .CODE go: mov ax,@data mov ds,ax ;ax <- D+E clc mov ah,0 mov al,D add ax,E adc dx,0 ;Temp1 <- ax - K clc sbb ax, K sbb dx, 0 mov Temp1,ax ;#====================================[DIV]===============================; ;Temp2 <- A / B mov dx,A+2 mov ax,A mov si,B xor bx,bx xor cx,cx xor di,di mov bp,33 M5A4: rcl cx,1 rcl bx,1 sub cx,si sbb bx,di jnb M5B2 add cx,si adc bx,di M5B2: cmc rcl ax,1 rcl dx,1 dec bp jnz M5A4 mov Temp2,ax mov Temp2+2,dx mov Res,cx ;#====================================[DIV]===============================; ;Temp3 <- C*Temp1 ;#====================================[MUV]===============================; mov al,C mov ah,0 mov cx,1 mov si,Temp1 xor di,di xor bx,bx xor dx,dx l1: test cx,cx jz exit test cx,ax jz l2 add bx,si adc dx,di l2: shl cx,1 shl si,1 rcl di,1 jmp l1 exit: mov ax,bx mov Temp3,ax mov Temp3+2,dx ;#====================================[MUV]===============================; ;X <- Temp2 - Temp3 clc mov ax,Temp2 mov dx,Temp2+2 sub ax,Temp3 mov X,ax sbb dx,Temp3+2 mov X+2,dx mov ah,4Ch int 21h end go Висновок і результати роботи програми:  Висновок: я навчився виконувати операції над цілими без знаковими даними. Використовувати стандартні функції для виконання цих операцій.
Антиботан аватар за замовчуванням

18.03.2013 13:03-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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