Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2016, 21:17   #1
WindQQ
Новичок
Джуниор
 
Регистрация: 08.11.2016
Сообщений: 3
По умолчанию ASSEMBLER

Написать программу на языке Ассемблера, которая позволяет ввести с клавиатуры последовательность их N целых чисел, найти наибольший из отрицательных элементов и вывести его на экран. Хелпаните братцы
WindQQ вне форума Ответить с цитированием
Старый 08.11.2016, 21:39   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Только это не на чистом ассемблере.
Тут идут вызовы функций из библиотеки "C". Если это не важно, то программа делает то что описанно выше

Код:
	.file	"main.c"
	.section	.rodata
.LC0:
	.string	"input total: "
.LC1:
	.string	"%d"
.LC2:
	.string	"input [%d]: "
.LC3:
	.string	">>[%d]<<\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	leal	4(%esp), %ecx
	.cfi_def_cfa 1, 0
	andl	$-16, %esp
	pushl	-4(%ecx)
	pushl	%ebp
	.cfi_escape 0x10,0x5,0x2,0x75,0
	movl	%esp, %ebp
	pushl	%ebx
	pushl	%ecx
	.cfi_escape 0xf,0x3,0x75,0x78,0x6
	.cfi_escape 0x10,0x3,0x2,0x75,0x7c
	subl	$64, %esp
	movl	%esp, %eax
	movl	%eax, %ebx
	movl	$0, -28(%ebp)
	movl	$0, -12(%ebp)
	movl	$0, -32(%ebp)
	movl	$.LC0, (%esp)
	call	printf
	leal	-28(%ebp), %eax
	movl	%eax, 4(%esp)
	movl	$.LC1, (%esp)
	call	__isoc99_scanf
	movl	$10, (%esp)
	call	putchar
	movl	-28(%ebp), %eax
	leal	-1(%eax), %edx
	movl	%edx, -20(%ebp)
	sall	$2, %eax
	leal	3(%eax), %edx
	movl	$16, %eax
	subl	$1, %eax
	addl	%edx, %eax
	movl	$16, -44(%ebp)
	movl	$0, %edx
	divl	-44(%ebp)
	imull	$16, %eax, %eax
	subl	%eax, %esp
	leal	8(%esp), %eax
	addl	$3, %eax
	shrl	$2, %eax
	sall	$2, %eax
	movl	%eax, -24(%ebp)
	jmp	.L2
.L3:
	movl	-12(%ebp), %eax
	movl	%eax, 4(%esp)
	movl	$.LC2, (%esp)
	call	printf
	leal	-32(%ebp), %eax
	movl	%eax, 4(%esp)
	movl	$.LC1, (%esp)
	call	__isoc99_scanf
	movl	$10, (%esp)
	call	putchar
	movl	-32(%ebp), %ecx
	movl	-24(%ebp), %eax
	movl	-12(%ebp), %edx
	movl	%ecx, (%eax,%edx,4)
	addl	$1, -12(%ebp)
.L2:
	movl	-28(%ebp), %eax
	cmpl	%eax, -12(%ebp)
	jl	.L3
	movl	$0, -12(%ebp)
	movl	$0, -16(%ebp)
	jmp	.L4
.L6:
	movl	-24(%ebp), %eax
	movl	-12(%ebp), %edx
	movl	(%eax,%edx,4), %eax
	cmpl	-16(%ebp), %eax
	jle	.L5
	movl	-24(%ebp), %eax
	movl	-12(%ebp), %edx
	movl	(%eax,%edx,4), %eax
	movl	%eax, -16(%ebp)
.L5:
	addl	$1, -12(%ebp)
.L4:
	movl	-28(%ebp), %eax
	cmpl	%eax, -12(%ebp)
	jl	.L6
	movl	-16(%ebp), %eax
	movl	%eax, 4(%esp)
	movl	$.LC3, (%esp)
	call	printf
	movl	$0, %eax
	movl	%ebx, %esp
	leal	-8(%ebp), %esp
	popl	%ecx
	.cfi_restore 1
	.cfi_def_cfa 1, 0
	popl	%ebx
	.cfi_restore 3
	popl	%ebp
	.cfi_restore 5
	leal	-4(%ecx), %esp
	.cfi_def_cfa 4, 4
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 08.11.2016, 21:42   #3
WindQQ
Новичок
Джуниор
 
Регистрация: 08.11.2016
Сообщений: 3
По умолчанию

Спасибо , но нужно на чистом ассемблере
WindQQ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
assembler bumbarashek Помощь студентам 1 29.03.2013 11:34
Assembler Burito_bandito Фриланс 2 03.06.2011 18:04
Assembler+C Farrel Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 09.04.2011 22:55
ASSEMBLER AJIUM Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 13 18.03.2010 17:20
Assembler Ando20.90 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 05.02.2010 09:56