Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт по лабораторной работе №6 Ковалёва Владис...docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
504.07 Кб
Скачать

Vivod2:

mov eax,Mas[esi]

add eax,X

print str$(eax)

print chr$(' ')

add esi,4

sub ebx,1

cmp ebx,0

jnz Vivod2

fn MessageBox,0,str$(X),"наибольший элемент равен:",MB_OK

Invoke ExitProcess,0

end start

22) Дана последовательность из 12 целых натуральных чисел. Подсчитать количество положительных, отрицательных и равных нулю членов последовательности.

include\masm32\include\masm32rt.inc

.data

Mas dd 1,-2,56,-3,67,0,12,-5,-94,75,-45,97

Null dd ?

.code

start:

mov esi,0

mov ebx,12

Vivod:

print str$(Mas[esi])

print chr$(' ')

add esi,4

sub ebx,1

cmp ebx,0

jnz Vivod

mov esi,0

mov ecx,0

mov ebx,0

mov Null,0

begin:

mov eax,Mas[esi]

cmp eax,0

jg bolshce

jl menshce

je rawno

bolshce:

add ecx,1

jmp vse

menshce:

add ebx,1

jmp vse

rawno:

add Null,1

vse:

add esi,4

mov eax,esi

cmp eax,48

jnz begin

fn MessageBox,0,str$(ecx),"количество положительных членов:",MB_OK

fn MessageBox,0,str$(ebx),"количество отрицательных членов:",MB_OK

fn MessageBox,0,str$(Null),"количество 0:",MB_OK

invoke ExitProcess,0

end start

23) Дана последовательность из 12 целых натуральных чисел. Найти сумму положительных членов последовательности и каждый положительных член сложить с полученной суммой.

include\masm32\include\masm32rt.inc

.data

Mas dd 1,-2,56,-3,67,0,12,-5,-94,75,-45,97

X dd ?

.code

start:

mov esi,0

mov ebx,12

Vivod:

print str$(Mas[esi])

print chr$(' ')

add esi,4

sub ebx,1

cmp ebx,0

jnz Vivod

print chr$(' ',10,13)

mov esi,0

mov ecx,0

begin:

mov eax,Mas[esi]

cmp eax,0

jl vse

add ecx,Mas[esi]

vse:

add esi,4

mov eax,esi

cmp eax,48

jnz begin

mov X,ecx

mov esi,0

mov ebx,12

Vivod2:

mov eax,Mas[esi]

cmp eax,0

jl kon

add eax,X

kon:

print str$(eax)

print chr$(' ')

add esi,4

sub ebx,1

cmp ebx,0

jnz Vivod2

fn MessageBox,0,str$(X),"Сумма положительных элементов:",MB_OK

invoke ExitProcess,0

end start

24) Дана последовательность из 12 целых натуральных чисел. Найти сумму отрицательных членов последовательности и каждый положительных член сложить с полученной суммой.

include\masm32\include\masm32rt.inc

.data

Mas dd 1,-2,56,-3,67,0,12,-5,-94,75,-45,97

X dd ?

.code

start:

mov esi,0

mov ebx,12

Vivod:

print str$(Mas[esi])

print chr$(' ')

add esi,4

sub ebx,1

cmp ebx,0

jnz Vivod

print chr$(' ',10,13)

mov esi,0

mov ecx,0

begin:

mov eax,Mas[esi]

cmp eax,0

jg vse

add ecx,Mas[esi]

vse:

add esi,4

mov eax,esi

cmp eax,48

jnz begin

mov X,ecx

mov esi,0

mov ebx,12