bsuir.info
БГУИР: Дистанционное и заочное обучение
(файловый архив)
Вход (быстрый)
Регистрация
Категории каталога
Другое [157]
АВС [6]
КПиЯП [80]
ОАиП [305]
ОКТ [79]
СиСПО [8]
Форма входа
Логин:
Пароль:
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Файловый архив
Файлы » ПОИТ » КПиЯП

Лабораторная работа №2 КПиЯП часть 2 вариант 21
Подробности о скачивании 29.06.2011, 09:55
1) Задание
Необходимо подсчитать количество чисел в массиве, отвечающих заданному критерию (все в соответствии с вариантом). Результат вывести на экран, вставив нужные цифры в шаблон текста сообщения.
Например, "В массиве 3 элемента больше 5."
Размер массива 6, критерий: не равно 2

2) Программа
MASM
MODEL small
stack 256
.data

i db 0
mass db 6 dup (?)
stringone db 'Zadanie:',0ah,0dh,'$'
stringt db 'Neobhodimo podschitat kolichestvo chisel',0ah,0dh,'$'
stringd db 'v massive, otvechayuschih zadannomu',0ah,0dh,'$'
stringc db '(vse v sootvetstvii s variantom).',0ah,0dh,'$'
strings db 'Rezultat vivesti na ekran, vstaviv nujnie',0ah,0dh,'$'
stringe db 'cifry v shablon teksta soobscheniya.',0ah,0dh,'$'
line db '--------------------------------',0ah,0dh,'$'
str1 db '---FORMIROVANIE MASSIVA---',0ah,0dh,'$'
str2 db 'Vvedite pervuyu cifru: ','$'
str3 db 0ah,0dh,'Vvedite vtoruyu cifru: ','$'
str4 db 0ah,0dh,'Vvedite treytyuyu cifru: ','$'
str5 db 0ah,0dh,'Vvedite chetvertuyu cifru: ','$'
str6 db 0ah,0dh,'Vvedite pyatuyu cifru: ','$'
str7 db 0ah,0dh,'Vvedite shestuyu cifru: ','$'
str8 db 0ah,0dh,'$'
str10 db 'V massive ','$'
str11 db ' elementa ne ravny 2',0ah,0dh,'$'

.code
start:
mov ax,@data
mov ds,ax
xor ax,ax

call write
call pr

exit:
mov ah,4Ch
int 21h

write proc
mov ah,9
mov dx,offset stringone
int 21h

mov ah,9
mov dx,offset stringt
int 21h

mov ah,9
mov dx,offset stringd
int 21h

mov ah,9
mov dx,offset stringc
int 21h

mov ah,9
mov dx,offset strings
int 21h

mov ah,9
mov dx,offset stringe
int 21h

mov ah,9
mov dx,offset line
int 21h

mov ah,9
mov dx,offset str1
int 21h

mov si,0
mov ah,9
mov dx,offset str2
int 21h
mov ah,01h
int 21h
mov mass[si],al

inc si
mov ah,9
mov dx,offset str3
int 21h
mov ah,01h
int 21h
mov mass[si],al

inc si
mov ah,9
mov dx,offset str4
int 21h
mov ah,01h
int 21h
mov mass[si],al

inc si
mov ah,9
mov dx,offset str5
int 21h
mov ah,01h
int 21h
mov mass[si],al
inc si
mov ah,9
mov dx,offset str6
int 21h
mov ah,01h
int 21h
mov mass[si],al
inc si
mov ah,9
mov dx,offset str7
int 21h
mov ah,01h
int 21h
mov mass[si],al
mov ah,9
mov dx,offset str8
int 21h
mov ah,9
mov dx,offset line
int 21h
ret
write endp

pr proc
mov dh,'2'
mov si,0

neravno:
cmp si,6
je schowe

mov dl,mass[si]
inc si
cmp dl,dh
jne sum
jmp neravno
sum:
inc i
jmp neravno
schowe:
mov ah,9
mov dx,offset str10
int 21h
mov ah,02h
mov dl,i
add dl,30h
int 21h
mov ah,9
mov dx,offset str11
int 21h
ret
pr endp

end start
Категория: КПиЯП | Добавил: vadimip
Просмотров: 1506 | Загрузок: 36
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]