Уфимский государственный авиационный технический университет
Центр оперативной полиграфии УГАТУ
450000, Уфа-центр, ул. К. Маркса, 12
Оформление лабораторных работ.
Отчет должен содержать следующие пункты:
Задание.
Контрольный пример.
Блок-схема (кроме лабораторной работы 1)
Текст программы.
Результаты выполнения программы.
Лабораторная работа 1. Вычисление арифметического выражения.
Целью работы является изучение команд, выполняющих основные арифметические действия, а также процедур: печати значений целых чисел и печати текстов.
Для выполнения этой работы следует взять за основу исходный текст программы “Labn1.ASM”. В сегмент данных вписать свои переменные и их значения. В сегмент кодов в процедуру MAIN ввести операторы, выполняющие действия, соответствующие индивидуальному заданию.
Ниже приведен пример заполнения текста программы для вычисления Y=(A+B)/C2.
DSEG SEGMENT
; индивидуальные переменные начало
a dw 3
b dw 8
c dw -2
;индивидуальные переменные конец
y dw ?
text1 db 10,13,'Вычисление значения функции y = (a + b) / c*с',10,13,'$'
text db 'ответ y=$'
buffer db 6 dup(?),'$'
DSEG ENDS
STACKSG SEGMENT
dw 100 dup(?)
stacksg ends
codes segment
main proc far
assume cs:codes,ds:dseg,ss:stacksg
mov ax,dseg
mov ds,ax
lea dx,text1
call prt
; индивидуальная часть программы начало
mov ax,c
imul ax
mov bx,ax
mov ax,a
add ax,b
cwd
idiv bx
mov y,ax
; индивидуальная часть программы конец
lea dx,text
call prt
mov ax,y
call prn
mov ah,1 ; задержка экрана
int 21h
mov ah,4ch ; конец программы, выход в операционную систему
int 21h
main endp
; ***********************************************
prt proc ; процедура печати текста
; в регистре dx хранится адрес начала текста, который нужно напечатать
push ax
mov ah,09h
int 21h
pop ax
ret
prt endp
; ***********************************************
prn proc ; процедура печати целого числа
; в регистре ax хранится целое число, которое нужно напечатать