
- •По лабораторной работе №6 – «Ветвления и циклы в ассемблере»
- •1.1 Пми Ковалёв Владислав
- •Idiv Bl
- •Invoke ExitProcess,0
- •Vivod2:
- •Invoke ExitProcess,0
- •Invoke ExitProcess,0
- •Invoke ExitProcess,0
- •Invoke ExitProcess,0
- •Invoke ExitProcess,0
- •Invoke ExitProcess,0
- •Invoke ExitProcess,0
- •Idiv Bl
- •Invoke ExitProcess,0
- •Vivod2:
- •Invoke ExitProcess,0
- •Vivod2:
- •Invoke ExitProcess,0
Vivod2:
print str$(Mas[esi])
print chr$(' ')
add esi,4
sub ebx,1
cmp ebx,0
jnz Vivod2
fn MessageBox,0,"Исходный и полученный массивы:","Программа 8",MB_OK
Invoke ExitProcess,0
end start
9) Дана последовательность из 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,eax
jmp vse
menshce:
add ebx,1
jmp vse
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
Invoke ExitProcess,0
end start
10) Дана последовательность из 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,Mas[0]
begin:
mov eax,Mas[esi]
cmp eax,ecx
jle menshce
mov ecx,Mas[esi]
menshce:
add esi,4
mov eax,esi
cmp eax,48
jnz begin
fn MessageBox,0,str$(ecx),"наибольший элемент равен:",MB_OK
Invoke ExitProcess,0
end start
11) Дана последовательность из 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]
add esi,4
mov ebx,Mas[esi]
cmp eax,ebx
jl menshce
add ecx,1
menshce:
mov eax,esi
cmp eax,44
jnz begin
cmp ecx,11
je podhodit
jl net
podhodit:
fn MessageBox,0,"по убыванию","Программа 11",MB_OK
jmp vse
net:
fn MessageBox,0,"не по убыванию","программа 11",MB_OK
vse:
Invoke ExitProcess,0
end start
12) Дана последовательность из 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]
add esi,4
mov ebx,Mas[esi]
cmp eax,ebx
jg menshce
add ecx,1
menshce:
mov eax,esi
cmp eax,44
jnz begin
cmp ecx,11
je podhodit
jl net
podhodit:
fn MessageBox,0,"по возрастанию","Программа 12",MB_OK
jmp vse
net:
fn MessageBox,0,"не по возрастанию","программа 12",MB_OK
vse: