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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2012, 21:50   #1
deus-expo
Новичок
Джуниор
 
Регистрация: 27.09.2010
Сообщений: 1
Восклицание Сортировка между мин и макс

Требуется написать программу на встроенном ассемблере ТурбоПаскаля.
Найти минимум и максимум, и выполнить сортировку между ними, включая их. По убыванию или возрастанию - неважно. Вот что сам "наваял", только сортировка идёт всего массива:
Код:
uses crt;
const n=15;
var b:array[1..n] of integer;
    i,s,m,v,min_i,max_i,p:integer;

Begin
     clrscr; randomize;
     writeln('ishodnyi massiv:');
     for i:=1 to n do begin
         b[i]:=random(100)-30;
         write(b[i]:4);
     end;
     m:=maxint;
     v:=-maxint;
     asm
        lea si,b
        mov cx,1
        mov ax,32000
        mov bx,-32000
     @1:cmp ax,[si]
        jle @2
        mov ax,[si]
        mov min_i,cx
     @2:cmp bx,[si]
        jge @3
        mov bx,[si]
        mov max_i,cx
     @3:add si,2
        inc cx
        cmp cx,n
        jne @1
        mov m,ax
        mov v,bx

     end;
     writeln;
     writeln('minimum: ',m);
     writeln('maximum: ',v);
     writeln('min-id: ',min_i);
     writeln('max-id: ',max_i);
     writeln;
     asm
     @4:lea si,b
        mov cx,n-1
        mov p,0
     @5:mov dx,[si]
        cmp dx,[si+2]
        jle @6
        xchg dx,[si+2]
        xchg dx,[si]
        mov p,1
     @6:add si,2
        loop @5
        cmp p,0
        jne @4
     end;
     writeln('poluchennyi massiv:');
     for i:=1 to n do
         write(b[i]:4);
     readkey;
End.
deus-expo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макс. и мин. элемент массива С++ Danil_59 Фриланс 3 27.12.2011 19:19
Мин и макс элеметы netiv Паскаль, Turbo Pascal, PascalABC.NET 3 26.10.2011 08:55
Нахождение Мин и Макс по условию bskjohn Microsoft Office Excel 1 04.06.2011 20:55
нахождение мин и макс числа Данил1986 Паскаль, Turbo Pascal, PascalABC.NET 3 07.06.2010 05:46
Ограничение формул МИН и МАКС Bu$ter Microsoft Office Excel 2 29.05.2008 09:21