1. Заголовок или название темы должно быть информативным 2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE] 3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора. 5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM! 6. Проверяйте программы перед тем, как выложить их на форум!!
Создать прогрмму , где даны 10 натуральных чисел. Вывести на экран максимальные и минимальные числа. Сидим с братом и не можем догнать ход проги , поняли одно что можно сделать через память или массив. Пожалуста помогите народ , буду весьма благодарен !!!!!!!!!!!!!!!!!
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;
по команда cld флаг направления обнуляется (DF:=0), т.е когда ты просматриваешь "массив" при помощи строковых команд, ты выбирашь направления его просмотра, слева направо (DF=0) или справа налево (DF=1), взависимости от этого у тебя к (от) значению регистра SI (DI) прибавляется (отнимается) 2, если у тебя "массив" слов, или 1 если "массив" байтов jge ... это переход для знаковых чисел, если первый операнд больше либо равен второго jle ... аналогично , только по меньше либо равно
lodsw записывает в регистр АХ содержимое слова памяти, абсолютный адрес которого задается регистрами DS:Si, после чего меняется значение регистра SI на +-2
Сообщение отредактировано: FreeMan -
--------------------
Если люди отказываются верить в простоту математики, то это только потому, что они не понимают всю сложность жизни.