Створення асемблерних програм з використанням процедур, умовних та безумовних переходів
Розробка програми на мові програмування Асемблер для обчислення виразу. Розрахунок значень А, В, С у процедурах. Аналіз отриманих результатів за допомогою відлагоджувальника Turbo Debugger при різних заданих значеннях та перевірка їх правильності.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | украинский |
Дата добавления | 09.01.2013 |
Размер файла | 203,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ЛАБОРАТОРНА РОБОТА
З дисципліни: «Системне програмування»
Тема: «Створення асемблерних програм з використанням процедур, умовних та безумовних переходів»
Завдання для виконання роботи
Мета роботи: написати асемблерну програму для обчислення виразу з використанням процедур, умовних та безумовних переходів.
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 br_20
mov ax,a
mul x
add ax,b
sub ax,c
mov y,ax
jmp kinec
br_20:
cmp ax,40
jae br_40
mov ax,a
add ax,b
mul x
mov y,ax
mov ax,3
mul c
sub y,ax
jmp kinec
br_40:
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 при різних значеннях х. Всі результати були перевірені. Отже програма працює правильно.
Размещено на Allbest.ru
Подобные документы
Мова Асемблера, її можливості та команди. Розробка алгоритму програми, його реалізація в програмі на мові Асемблера. Введення елементів матриці та обчислення cуми елементів, у яких молодший біт дорівнює нулю. Методи створення програми роботи з матрицями.
контрольная работа [50,3 K], добавлен 12.08.2012Загальна структура комп'ютера, архітектура процесора типу Intel 8086. Принцип роботи пам'яті, її види (постійна та оперативна). Основи програмування на мові асемблер та її синтаксис. Особливості використання позначок, кодів команд, операндів і директив.
лабораторная работа [36,0 K], добавлен 27.02.2013Розробка та виконання простих програм, програм з розгалуженням, з використанням функцій, масивів, рядків, функцій та структур. Динамічні структури даних. Написання програми обчислення струму по відомих значеннях напруги і опору електричного ланцюга.
курсовая работа [471,0 K], добавлен 02.06.2016Редагування за допомогою текстового редактора NotePad вхідного файлу даних. Програмна реалізація основного алгоритму з використанням засобів об'єктно-орієнтованого програмування. Об’ява та опис класів і об'єктів. Розробка допоміжних програмних засобів.
курсовая работа [69,4 K], добавлен 14.03.2013Використання ітерацій для обчислення приблизних значень величин. Розробка ітераційних алгоритмів з перевіркою правильності введення даних. Побудова блок-схеми і програмування мовою Turbo Pascal обчислення значення функції, розкладеної в степеневий ряд.
лабораторная работа [197,2 K], добавлен 16.12.2010Основні розрахунки резисторів мікросхеми. Розробка алгоритму рішення задачі методом блок-схем. Характеристика та розробка програми на мові С++ з використанням принципів модульного і структурного програмування. План тестування і налагоджування програми.
курсовая работа [2,9 M], добавлен 05.12.2012Програма на мові програмування С++. Аналіз стану технологій програмування та обґрунтування теми. Розробка програми виконання завдання, методу вирішення задачі. Робота з файлами, обробка числової інформації і робота з графікою. Розробка програми меню.
курсовая работа [41,0 K], добавлен 17.02.2009Створення двух файлів В1 і В2 з шести двоцифрових цифр з введенням в довільному порядку цифр з клавіатури із записуванням парних цифр в файл В3, а непарних - у файл В4. Процес розробки програми за допомогою мови "Асемблер". Блок-схема алгоритму задачі.
курсовая работа [37,6 K], добавлен 26.11.2011Розробка програми на мові програмування С++ з використанням об'єктно-орієнтованого програмування. Робота з файлами, графікою, класами, обробка числової інформації. Графічні засоби мови програмування. Алгоритм задачі та допоміжні програмні засоби.
курсовая работа [102,5 K], добавлен 14.03.2013Розробка програми реєстрації і автоматизованого створення звіту на рік по викраденим машинам. Математична модель задачі, структура зберігаючих даних. Створення алгоритмів основної програми на мові Turbo Pascal і процедур Vvod і Red. Вихідний код програми.
курсовая работа [25,4 K], добавлен 07.10.2010