IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

> массив из натуральных чисел, Pascal+Assembler
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Создать прогрмму , где даны 10 натуральных чисел. Вывести на экран максимальные и минимальные числа.
Сидим с братом и не можем догнать ход проги , поняли одно что можно сделать через память или массив.
Пожалуста помогите народ , буду весьма благодарен !!!!!!!!!!!!!!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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 -


--------------------
Если люди отказываются верить в простоту математики, то это только потому, что они не понимают всю сложность жизни.

Джон фон Нейман
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
CooLLeR-zzz   массив из натуральных чисел   11.05.2006 22:42
red_alex   Требуется вывести максимальное и минимальное чис…   13.05.2006 14:12
CooLLeR-zzz   Ну это тоесть дана любые 10 натуральных числел , и…   13.05.2006 23:02
xds   program MinMax; var a: array[1..10] of Integer;…   14.05.2006 12:23
CooLLeR-zzz   xds извени пожалйста что ещё раз побеспокоил , пом…   14.05.2006 14:07
CooLLeR-zzz   Огромное огромное огромное СПАСИБО !!…   14.05.2006 12:54
red_alex   можно еще и вот так: program poisk; var a …   14.05.2006 14:14
CooLLeR-zzz   :rolleyes: red_alex , xds большое , прибольшое сп…   14.05.2006 17:18
volvo   Тогда иди сюда: FAQ: Методы сортировок -> Реал…   14.05.2006 17:25
CooLLeR-zzz   Вот что у меня получилось пузырьковой сортировкой …   15.05.2006 13:28
CooLLeR-zzz   Благодарю :good:   15.05.2006 8:45
GoodWind   а текст "ругани" привести возможно? да …   15.05.2006 13:56
CooLLeR-zzz   Народ а что такое с задачей (найти макс. и мин. чи…   15.05.2006 14:14
CooLLeR-zzz   :wacko: GoodWin там компилятор ругается на команд…   15.05.2006 14:26
GoodWind   естественно ругается - ebx это 32-битный регистр, …   15.05.2006 15:04
CooLLeR-zzz   Теперь стал ругаться на mov cx,i , не знает опр…   15.05.2006 19:57
volvo   Теперь стал ругаться на mov cx,i , не знает оп…   15.05.2006 20:41
xds   Натуральные - это целые положительные числа. Кстат…   16.05.2006 3:47
CooLLeR-zzz   Я использую обычный Turbo Pascal 7 со встроенным а…   16.05.2006 8:20
CooLLeR-zzz   Ребята помогите составить алгоритм программы , ну…   18.05.2006 17:55


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 15.05.2024 4:36
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name