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