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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2012, 10:59   #1
Forversc
Новичок
Джуниор
 
Регистрация: 21.01.2012
Сообщений: 2
По умолчанию Поиск максимального по модулю числа в массиве ( Assembler )

Помогите составить программу на Assembler, вот есть программа, которая вычисляет максимальный элемент массива "A", как видно в массиве есть отрицательные числа, необходимо изменить эту программу так что бы максимальный элемент массива вычислялся без учета знака элемента массива. Например (-3) программа сравнивала как 3: Измените программу приведенную ниже так что бы она выполняла эти условия. Заранее большое спасибо

Код:
TITLE Program4
.MODEL small
.STACK 100h
.DATA
A DW 5, -3, 9, -4, 5
Max DW 0
.CODE
main PROC
mov AX, @data
mov DS, AX
mov SI, OFFSET A
mov CX, 5 
mov AX, [SI]
mov Max, AX

L1:
mov AX,[SI]
cmp AX, Max
jbe L2
mov Max, AX

L2:
inc SI
inc SI
loop L1

mov AX,4C00h
int 21h
main ENDP
END main

________
1) Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В последующем, темы с подобным названием будут закрываться или удаляться,
а автор такой темы будет получать штрафные баллы.

2) Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)

Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 21.01.2012 в 11:19.
Forversc вне форума Ответить с цитированием
Старый 22.01.2012, 05:04   #2
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Код:
.MODEL small
.STACK 100h
.DATA
A DW 5, -3, 9, -4, 5
Max DW 0
.CODE
main PROC
	mov	AX, @data
	mov	DS, AX
	mov	SI, OFFSET A
	mov	CX, 5 

	xor	ax, ax
	lea	di, [A]
L1:
	fild	word ptr [si]
	fabs
	fistp	[Max]
	cmp	[Max], ax
	jbe	L2
	mov	ax, [Max]
	mov	di, si
L2:
	add	si, 2
	loop	L1

	mov	ax, word ptr [di]
	mov	[Max], ax

	mov	AX,4C00h
	int	21h
main ENDP
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 22.01.2012, 12:23   #3
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Если работу с сопроцесором не проходили, то можно так:
Код:
TITLE Program4
.MODEL small
.STACK 100h
.DATA
A DW 5, -3, 9, -4, 5
Max DW 0
.CODE
main PROC
        mov AX, @data
        mov DS, AX
        mov SI, OFFSET A
        mov CX, 5 
        xor BX,BX   ; максимальное значение по модулю

L1:
        mov AX,[SI]
        cmp ax,0
        jge no_minus
        neg ax
no_minus:
        cmp AX, BX
        jbe L2
        mov BX, AX

L2:
        inc SI
        inc SI
        loop L1

        mov Max,BX
        mov AX,4C00h
        int 21h
main ENDP
END main
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Старый 30.01.2012, 15:05   #4
Forversc
Новичок
Джуниор
 
Регистрация: 21.01.2012
Сообщений: 2
По умолчанию

Спасибо большое!! очень благодарен
Forversc вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск максимального элемента массива (assembler) квант Помощь студентам 1 07.12.2011 16:24
Поиск максимального четного элемента в массиве phreaker228 Помощь студентам 0 05.06.2011 14:44
Поиск максимального и минимального значения в массиве WIN32APIist Общие вопросы C/C++ 5 28.12.2010 00:24
Поиск максимального отрицательного элемента в массиве Tomoa Microsoft Office Excel 6 27.11.2009 15:10
Поиск максимального элемента в массиве Alexus999 Помощь студентам 8 08.06.2009 19:47