МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА »
Кафедра
інформаційних
систем та мереж
Лабораторна робота №7
на тему:
«Процедурне програмування»
Текст програми:
;створити процедуру, яка шукає кількість видань заданого автора...
.model small
.stack 100h
knuga STRUC
avtor db 20 DUP (' ')
nazva db 20 DUP (' ')
rik dw ?
knuga ENDS
.data
msg1 db "kilkist vudan danogo avtora =","$"
avtor1 db "Marchyk "
kilkist db 0
n equ 5
m equ 20
knugu knuga <"Marchyk","ASSEMBLER",2003>,<"Baranovskiy","CI",1998>,<"Korunkevuch","Ci",1997>,<"Marchyk","ASM dlya prof",1990>,<"Kovaluk","C++",1890>
.code
.startup
call Search
.exit 0
Search Proc near
mov cx,n
xor si,si
m1:
lea bx,knugu[si].avtor
push cx
mov cx,m
xor di,di
m2:
push bx
lea bx,avtor1
mov ax,bx[di]
pop bx
push cx
mov cx,bx[di]
cmp al,cl
jne m4;
inc di
pop cx
loop m2
inc kilkist
m3:
pop cx
add si,type knuga
loop m1
mov ah,09h
lea dx,msg1
int 21h
mov al,kilkist
xor al,30h
int 29h
jmp m5
m4:
pop cx
jmp m3
m5: ret
Search Endp
End
Результат виконання програми: