Сортировка массива. |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
Сортировка массива. |
dushik |
21.09.2004 18:43
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Заранее скажу, я ламак в асме, прошу не осуждать за столь тупую просьбу
Был бы очень благодарен, если бы кто-нибудь помог дописать пузырьковую сортировку: Uses crt; Моя программа пробегая по массиву меняет только пары элементов, если mas[i] < mas [i + 1]. Т. е. меняет местами (если это требуется) только елементы 0 и 1, 2 и 3, 3 и 4... А должен после обмена пары mas[i] и mas[i + 1], двигаться к началу массива пока элемент не встанет в нужное место, примерно так: for j := i downto 1Я уже как только не пробовал дописать цикл назад с заменами, не выходит <_< Помогоите дописать кому не в лом, плиз. Заранее благодарен -------------------- На самом деле самого дела нет. В самой деятельности заключена самость дела и наоборот. Наоборот получим оборот на, таким образом перевернем образ...
|
BlackShadow |
21.09.2004 18:51
Сообщение
#2
|
Гость |
Цитата Заранее скажу, я ламак в асме Это уж точно Короче, где-то так: LEA BX,[mas] Если я чего-то не напутал - проверять влом :p2: |
Shadow |
21.09.2004 21:50
Сообщение
#3
|
Lonely_Raven Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: 1 |
вот сортирует только я не помню это вроде модернизированный
пузырь Прикрепленные файлы SR_MAS_M.zip ( 977 байт ) Кол-во скачиваний: 267 -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
dushik |
22.09.2004 9:54
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Shadow, спасибо конечно, но у тебя как-то сложно, и пишем мы на встроенном ассемблере, да и проделать мне надо не шейкер-сотрировку, а простую пузырьковую.
BlackShadow, ассемблер я "изучал" две пары, по 15 минут на каждой. И как после этого можно шарить? За сортировку спасибо. Вот только поясни, если не в лом, что делает XCHG? -------------------- На самом деле самого дела нет. В самой деятельности заключена самость дела и наоборот. Наоборот получим оборот на, таким образом перевернем образ...
|
Shadow |
22.09.2004 15:37
Сообщение
#5
|
Lonely_Raven Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: 1 |
XCHG
обмен двух значений между регистрами или между регистром и памятью -------- Виктор Юров Assembler Специальный справочник Сообщение отредактировано: Shadow - 22.09.2004 15:38 -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
dushik |
22.09.2004 18:24
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Ага, благодарен
-------------------- На самом деле самого дела нет. В самой деятельности заключена самость дела и наоборот. Наоборот получим оборот на, таким образом перевернем образ...
|
BlackShadow |
22.09.2004 20:12
Сообщение
#7
|
Гость |
Ещё катит в случае регистр-регистр, но никак иначе. Более быстрый и короткий код получается, если один и операндов - аккумулятор (AL, AX, EAX).
dushik, не принимай всё всеръёз |
dushik |
23.09.2004 12:38
Сообщение
#8
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Цитата(BlackShadow @ 22.09.04 17:12) dushik, не принимай всё всеръёз Это ты про что? -------------------- На самом деле самого дела нет. В самой деятельности заключена самость дела и наоборот. Наоборот получим оборот на, таким образом перевернем образ...
|
Shadow |
23.09.2004 16:08
Сообщение
#9
|
Lonely_Raven Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: 1 |
Цитата(BlackShadow @ 22.09.04 17:12) Ещё катит в случае регистр-регистр, но никак иначе. всмысле никак иначе в книге Виктор Юров Assembler Специальный справочник четко сказанно: Цитата между регистрами или между регистрами и памятью на флаги команда не влияет Сообщение отредактировано: Shadow - 23.09.2004 16:08 -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
Shadow |
23.09.2004 16:18
Сообщение
#10
|
Lonely_Raven Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: 1 |
Цитата(dushik @ 22.09.04 6:54) Shadow, спасибо конечно, но у тебя как-то сложно, и пишем мы на встроенном ассемблере, да и проделать мне надо не шейкер-сотрировку, а простую пузырьковую. наколько я помнюу меня не меняется направление прохода а запоинается адрес где произошло не верное сравнение и продолжает перемещать элемент до тех пор пока сравнение станет верныма потом возвращается на запомненый адрес ------- в прочем может найду первый вариант он тут был на форуме в этом разделе наверно кто-то удалил -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
dushik |
23.09.2004 18:27
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Цитата("Shadow") не меняется направление прохода значит не шейкер Сообщение отредактировано: dushik - 23.09.2004 18:28 -------------------- На самом деле самого дела нет. В самой деятельности заключена самость дела и наоборот. Наоборот получим оборот на, таким образом перевернем образ...
|
Текстовая версия | 27.04.2024 13:29 |