
- •По лабораторной работе №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
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