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

Invoke ExitProcess,0

end start

13) Дана последовательность из 12 целых натуральных чисел. Выяснить, каких чисел в последовательности больше положительных или отрицательных.

include\masm32\include\masm32rt.inc

.data

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

.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

begin:

mov eax,Mas[esi]

cmp eax,0

jg bolshce

jl menshce

bolshce:

add ecx,1

jmp vse

menshce:

add ebx,1

jmp vse

vse:

add esi,4

mov eax,esi

cmp eax,48

jnz begin

cmp ecx,ebx

jl otriz

je rawny

jg pologit

otriz:

fn MessageBox,0,"отрицательных больше","Программа 13",MB_OK

jmp kon

rawny:

fn MessageBox,0,"количество отрицательных равно количеству положительных","Программа 13",MB_OK

jmp kon

pologit:

fn MessageBox,0,"положительных больше","Программа 13",MB_OK

kon:

Invoke ExitProcess,0

end start

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

include\masm32\include\masm32rt.inc

.data

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

.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

begin:

mov eax,Mas[esi]

cmp eax,0

jg bolshce

jl menshce

bolshce:

add ecx,eax

jmp vse

menshce:

sub ecx,eax

jmp vse

vse:

add esi,4

mov eax,esi

cmp eax,48

jnz begin

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

Invoke ExitProcess,0

end start

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

include\masm32\include\masm32rt.inc

.data

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

.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

begin:

mov eax,Mas[esi]

mov Bl,2

Idiv Bl

cmp Ah,0

jnz nekratno

je kratno

kratno:

add ecx,Mas[esi]

jmp vse

nekratno:

sub ecx,Mas[esi]

vse:

add esi,4

mov eax,esi

cmp eax,48

jnz begin

fn MessageBox,0,str$(ecx),"разность чётных и нечётных элементов:",MB_OK