Створення асемблерних програм з використанням процедур, умовних та безумовних переходів
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 при різних значеннях х. Всі результати були перевірені. Отже програма працює правильно.