Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Створення асемблерних програм з використанням процедур, умовних та безумовних переходів

Лабораторна роботаДопомога в написанніДізнатися вартістьмоєї роботи

Mov ax, b. Mov ax, a. Mov ax, a. Mov ax, a. Mov ax, a. Mov ax, 3. Mov a, ax. Mov a, ax. Jmp kinec. Jmp kinec. Je parne. Cmp dx, 0. Add ax, b. Add ax, b. Add ax, b. Add ax, 5. Add ax, 2. N dw 6. Ja br20. Jae br40. Push ax. Int 21h. Y dw? Pop ax. Nex ax. Mul bx. Mul bx. Imul x. Div bx. C dw? B dw? A dw? Parne: Mul x. Mul x. Mul c. Kinec: X=50. X=30. X=10. Data. Code. Br40: Br20: Ret. Ret. Ret… Читати ще >

Створення асемблерних програм з використанням процедур, умовних та безумовних переходів (реферат, курсова, диплом, контрольна)

ЛАБОРАТОРНА РОБОТА З дисципліни: «Системне програмування»

Тема: «Створення асемблерних програм з використанням процедур, умовних та безумовних переходів«

Завдання для виконання роботи

Мета роботи: написати асемблерну програму для обчислення виразу з використанням процедур, умовних та безумовних переходів.

1. Написати програму на Асемблері для обчислення виразу згідно з варіантом. При написанні програми значення А, В, С обчислювати у процедурах. Результат обчислень записати в змінну Y. Перевіряти парність чи непарність варіанта програмно.

В=2(А+5), С=5(В-А).

N — номер варіанта

2. Проаналізувати отримані результати за допомогою відлагоджувальника TD при різних заданих значеннях та переконатися в їхній правильності.

3. Вивчити функціональні можливості TD і навчитися ним користуватися.

Текст програми

програмування асемблер процедура відлагоджувальник

model small

stack 100h

.data

y dw ?

n dw 6

x dw 50

a dw ?

b dw ?

c dw ?

.code

mov ax,@data

mov ds, ax

call znah_a

call znah_b

call znah_c

mov ax, x

cmp ax, 20

ja br20

mov ax, a

mul x

add ax, b

sub ax, c

mov y, ax

jmp kinec

br20:

cmp ax, 40

jae br40

mov ax, a

add ax, b

mul x

mov y, ax

mov ax, 3

mul c

sub y, ax

jmp kinec

br40:

mov ax, a

add ax, b

sub ax, c

imul x

sub ax, 20

nex ax

mov y, ax

kinec:

mov ax, 4c00h

int 21h

znah_a proc

mov ax, n

mov bx, 2

xor dx, dx

push ax

div bx

cmp dx, 0

pop ax

je parne

add ax, 10

mov a, ax

ret

parne:

add ax, 2

mov bx, 5

mul bx

mov a, ax

ret

endp znah_a

znah_b proc

mov ax, a

add ax, 5

shl ax, 1

mov b, ax

ret

endp znah_b

znah_c proc

mov ax, b

sub ax, a

mov bx, 5

mul bx

mov c, ax

ret

znah_c endp

end

Виконання програми

X=10

X=30

X=50

Висновок

На даній лабораторній роботі було написано програму на мові Асемблер для обчислення виразу з використанням процедур, умовних та безумовних переходів. Було одержано виконувану програму, при цьому при трансляції вказавши ключ zi, а при компонуванні - ключ v. Отриману програму було проаналізовано за допомогою відлагоджувальника Turbo Debugger при різних значеннях х. Всі результати були перевірені. Отже програма працює правильно.

Показати весь текст
Заповнити форму поточною роботою