1. Заголовок или название темы должно быть информативным 2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE] 3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора. 5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM! 6. Проверяйте программы перед тем, как выложить их на форум!!
Создать прогрмму , где даны 10 натуральных чисел. Вывести на экран максимальные и минимальные числа. Сидим с братом и не можем догнать ход проги , поняли одно что можно сделать через память или массив. Пожалуста помогите народ , буду весьма благодарен !!!!!!!!!!!!!!!!!
Ребята помогите составить алгоритм программы , ну т.е. объяснение что делается в каждом цикле , или хотя бы блок схему как к ней составить ?
program MinMax; var a: array[1..10] of Integer; i, Min, Max: Integer; begin randomize; for i := 1 to 10 do begin a[i] := 1+Random(100); Write(a[i], ' '); end; Writeln;
asm cld {флаг направления обнуляется} lea si,a {Загрузка эффективного адреса} lodsw { Записываем в регистр АХ содержимое слова памяти} mov bx,ax {В регистр bx помещается регистр ax } mov dx,ax {В регистр dx помещается регистр ax } mov cx,9 {В регистр cx помещается кол-во 9 натуральных чисел} @1: lodsw cmp ax,bx {Сравниваем два операнда ax и bx} jge @2 { переход знаковых чисел, если первый операнд больше либо равен второго} mov bx,ax {В регистр bx помещается регистр ax } @2: cmp ax,dx {Сравниваем два операнда ax и dx} jle @3 { переход знаковых чисел, если первый операнд меньше либо равен второго} mov dx,ax {В регистр dx помещается регистр ax } @3: loop @1 mov Min,bx {В Min помещается регистр bx } mov Max,dx{В Max помещается регистр dx} end;
Writeln('Min = ', Min); Writeln('Max = ', Max);
end.
2. Все тексты программ должны помещаться в теги [ CODE] [ /CODE]