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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2015, 16:17   #1
Acito
 
Регистрация: 11.03.2015
Сообщений: 4
Сообщение Assembler(массив)

Здравствуйте. Необходимо найти максимальный и минимальный элементы массива и поменять их местами. в FASM



Код:
USE16
ORG 100H

mas db 0,1,2,3,4,5,6,7,8,9,10	; Объявление массива
mov esi,mas ; в dх - Начало массива (первый элемент)
mov bx,12 ; Bx для вычисления max
mov ecx,0 ; Счетчик для цикла

;цикл, определяющий последний элемент

searchmax:	   ; цикл для поиска последнего числа
 inc esi	   ; перемещение указателя на следующий элемент

 inc ecx	    ; счетчик + 1
 cmp [esi],bx	    ; сравниваем элемент начала массива с bx(max)    {if a[i]>max(10) then a[i]:=max}
 jg prisvmax	    ; если элемент>max делаем переход

 prisvmax:	    ;переход
 mov cx,[esi]	    ;max:=a[i]
 inc esi	    ;переход к следующему элементу

 cmp ecx,10	    ; сравнение с 10
 jnz searchmax	    ; если cx>10 цикл повторяется

;/цикл определяющий последний элемент


;-------------выход
mov ax,4c00h
int 21h

___
не забывайте форматировать код тегами [CODE]!
Модератор

Последний раз редактировалось Serge_Bliznykov; 20.03.2015 в 16:33.
Acito вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Assembler. двумерный массив. bshp Помощь студентам 0 13.12.2013 16:19
assembler. Задан массив А из N чисел. Преобразовать этот массив так, чтобы сначала шли четные числа, а потом – нечетные Transcend Помощь студентам 5 18.03.2013 11:42
[Assembler] Массив koshkarjov Помощь студентам 4 23.04.2011 00:33
Массив Assembler Leon4eg Фриланс 5 31.03.2010 14:23
[Assembler] Одномерный массив rule-z Помощь студентам 4 03.04.2009 09:10