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

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

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

> массив из натуральных чисел, Pascal+Assembler
CooLLeR-zzz
сообщение 11.05.2006 18:42
Сообщение #1


Новичок
*

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

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


Создать прогрмму , где даны 10 натуральных чисел. Вывести на экран максимальные и минимальные числа.
Сидим с братом и не можем догнать ход проги , поняли одно что можно сделать через память или массив.
Пожалуста помогите народ , буду весьма благодарен !!!!!!!!!!!!!!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
GoodWind
сообщение 15.05.2006 11:04
Сообщение #2


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

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


естественно ругается - ebx это 32-битный регистр, tp - 16-битный компилятор.

используй вместо ebx просто bx.


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
CooLLeR-zzz
сообщение 15.05.2006 15:57
Сообщение #3


Новичок
*

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

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


Теперь стал ругаться на mov cx,i , не знает опреанд i nea.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 15.05.2006 16:41
Сообщение #4


Гость






Цитата(CooLLeR-zzz @ 15.05.2006 15:57) *

Теперь стал ругаться на mov cx,i , не знает опреанд i nea.gif

Да не в том дело, что он не знает. Ругается на то, что ты в 2-х байтовый регистр CX пытаешься однобайтовое значение i засунуть... Кстати, тут еще 2 проблемы. Поскольку код изначально тестировался на 32-битном компиляторе, массив состоит из элементов типа Integer, а на 32-битах размер Integer-а равен 4 байтам, ты работаешь с 16-битным компилятором, придется смещение менять на 2...

И еще. WORD PTR не забывай, указывай компилятору, что ты работаешь именно с 2-х байтовыми элементами массива...
Program Posled;
Const
n = 10;
mas: array[1 .. n] of integer =
(1, 4, 2, 7, 3, 8, 4, 2, 10, 9);

var
i, j: integer;
Begin
{
for i := 1 To n Do Begin
write('?'); Readln(Mas[i]);
end;
}

i := n;
asm
dec i

@CycleExt:
xor bx, bx
mov cx, i
mov si, 0

@CycleIn:
mov di, WORD PTR Mas[si]
cmp di, WORD PTR Mas[si+2]
jg @Exchange
add si,2
loop @CycleIn

jmp @Check

@Exchange:
mov bx, WORD PTR Mas[si+2]
mov WORD PTR Mas[si+2], di
mov WORD PTR Mas[si],bx
add si,2
loop @CycleIn

@Check:
cmp bx,0
je @Exit
jmp @CycleExt

@Exit:
end;;

writeln;
For i := 1 To n Do
Write(Mas[i]:6);
End.
 К началу страницы 
+ Ответить 

Сообщений в этой теме
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
red_alex   можно еще и вот так: program poisk; var a ...   14.05.2006 10:14
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


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

 



- Текстовая версия 23.08.2025 1:53
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"