1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
| CooLLeR-zzz |
11.05.2006 18:42
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Создать прогрмму , где даны 10 натуральных чисел. Вывести на экран максимальные и минимальные числа.
Сидим с братом и не можем догнать ход проги , поняли одно что можно сделать через память или массив. Пожалуста помогите народ , буду весьма благодарен !!!!!!!!!!!!!!!!! |
![]() ![]() |
| red_alex |
14.05.2006 10:14
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Мужской Реальное имя: Алексей Репутация: 0 |
можно еще и вот так:
Код program poisk; var a : array[1 .. 10] of integer; i : integer; min, max : integer; begin randomize; for i := 1 to 10 do begin a[i] := random(100) - 50; write(a[i]:4); end; writeln; asm sub si,si mov bx,offset a mov ax, [bx] mov max,ax mov min,ax mov cx,9 add bx,2 @1: mov ax,[bx] cmp max,ax jge @fin mov max,ax @fin: cmp min,ax jle @fin2 mov min,ax @fin2: add bx,2 loop @1 end; writeln('min: ', min); writeln('max: ', max); readln; end. по команда cld флаг направления обнуляется (DF:=0), т.е когда ты просматриваешь "массив" при помощи строковых команд, ты выбирашь направления его просмотра, слева направо (DF=0) или справа налево (DF=1), взависимости от этого у тебя к (от) значению регистра SI (DI) прибавляется (отнимается) 2, если у тебя "массив" слов, или 1 если "массив" байтов jge ... это переход для знаковых чисел, если первый операнд больше либо равен второго jle ... аналогично , только по меньше либо равно lodsw записывает в регистр АХ содержимое слова памяти, абсолютный адрес которого задается регистрами DS:Si, после чего меняется значение регистра SI на +-2 Сообщение отредактировано: FreeMan - 17.05.2006 8:58 -------------------- Если люди отказываются верить в простоту математики, то это только потому, что они не понимают всю сложность жизни.
Джон фон Нейман |
CooLLeR-zzz массив из натуральных чисел 11.05.2006 18:42
red_alex
Требуется вывести максимальное и минимальное чис... 13.05.2006 10:12
CooLLeR-zzz Ну это тоесть дана любые 10 натуральных числел , и... 13.05.2006 19:02
xds program MinMax;
var
a: array[1..10] of Integer;... 14.05.2006 8:23
CooLLeR-zzz xds извени пожалйста что ещё раз побеспокоил , пом... 14.05.2006 10:07
CooLLeR-zzz Огромное огромное огромное СПАСИБО !!... 14.05.2006 8:54
CooLLeR-zzz :rolleyes: red_alex , xds большое , прибольшое сп... 14.05.2006 13:18
volvo Тогда иди сюда:
FAQ: Методы сортировок -> Реал... 14.05.2006 13:25
CooLLeR-zzz Вот что у меня получилось пузырьковой сортировкой ... 15.05.2006 9:28
CooLLeR-zzz Благодарю :good: 15.05.2006 4:45
GoodWind а текст "ругани" привести возможно?
да ... 15.05.2006 9:56
CooLLeR-zzz Народ а что такое с задачей (найти макс. и мин. чи... 15.05.2006 10:14
CooLLeR-zzz :wacko:
GoodWin там компилятор ругается на команд... 15.05.2006 10:26
GoodWind естественно ругается - ebx это 32-битный регистр, ... 15.05.2006 11:04
CooLLeR-zzz Теперь стал ругаться на mov cx,i , не знает опр... 15.05.2006 15:57
volvo
Теперь стал ругаться на mov cx,i , не знает оп... 15.05.2006 16:41
xds Натуральные - это целые положительные числа. Кстат... 15.05.2006 23:47
CooLLeR-zzz Я использую обычный Turbo Pascal 7 со встроенным а... 16.05.2006 4:20
CooLLeR-zzz Ребята помогите составить алгоритм программы , ну... 18.05.2006 13:55![]() ![]() |
|
Текстовая версия | 9.12.2025 21:58 |