Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler: i8080/8085/KP580
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.70
vet
175 / 176 / 54
Регистрация: 08.04.2009
Сообщений: 1,309
#1

Создать массив из 16 элементов, четные элементы отсортировать по возрастанию, а нечетные по убыванию - Assembler

25.03.2010, 02:56. Просмотров 4288. Ответов 8
Метки нет (Все метки)

Доброго всем времени суток

Помогите с прогой:
создать массив из 16 элементов, выделить в нем четные и нечетные элементы, четные отсортировать по возрастанию, а нечетные по убыванию

Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2010, 02:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создать массив из 16 элементов, четные элементы отсортировать по возрастанию, а нечетные по убыванию (Assembler):

Отсортировать массив: все четные элементы по возрастанию а нечетные по убыванию
отсортировать массив все четные элементы которого по возрастанию а не четные ...

Создать двухмерный массив, в котором нечетные столбцы отсортировать по возрастанию, а четные по убыванию
Помогите найти ошибку, надо создать двухмерный массив из случайных чисел...

Отсортировать четные элементы массива по возрастанию, а нечетные по убыванию
помогите найти ошибку.не верно сортирует. #include <iostream> #include...

Отсортировать четные элементы массива по возрастанию, а нечетные по убыванию
По четным по возрастанию по нечетным по убыванию. Пробую пузырьковую сортировку...

Нечетные числа массива отсортировать по возрастанию, а четные по убыванию
Добрый день, уважаемые программисты и разработчики C++. Вот такая задача стоит...

Четные столбцы матрицы отсортировать по возрастанию, а нечетные по убыванию
дан двумерный массив четные столбцы сортировать по возрастанию, а не четные по...

8
airyashov
67 / 72 / 1
Регистрация: 15.12.2008
Сообщений: 302
25.03.2010, 13:48 #2
чем выделить цветом, и где их сортировать в исходном массиве или в новый перебрасывать
0
vet
175 / 176 / 54
Регистрация: 08.04.2009
Сообщений: 1,309
25.03.2010, 14:02  [ТС] #3
Вот все задание,как его мне дали (ваще это лаба к "Микролаб КР580ИК80")
В памяти массив из 16 элементов, выделить в нем четные и нечетные элементы, четные отсортировать по возрастанию, а нечетные по убыванию в свободной области памяти

Не по теме:

Выделить имеется ввиду определить четное или нечетное и отсортировать либо по возр либо по убыв

0
vet
175 / 176 / 54
Регистрация: 08.04.2009
Сообщений: 1,309
05.04.2010, 10:39  [ТС] #4
Нашел частично похожую на свою, прогу: В памяти массив из 16 однобайтовых значений. Написать прогу выпол сортировку четных чисел в одну обл памяти, а нечетных в другую.

Массив с 8040h - с числами
Ячейки с 8100:8101 - содержат адрес массива с четными числами
Ячейки с 8200:8201 - содержат адрес массива с нечетными числами
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
LXI H, 8070h
SHLD 8100h
LXI H, 8080h
SHLD 8200h
LXI  D, 8040h
MVI C,10h
 
M1:  LDAX D
ANI  01h
JNZ M2
LDA 8101h
LXI H, 8000h
MOV L, A
LDAX D
MOV M, A
INR L
MOV A,L
LXI H, 8101h
MOV M, A
INX D
DCR C
JNZ M1
JMP M3
M2:
LDA 8201h
LXI H, 8000h
MOV L, A
LDAX D
MOV M, A
INX L
MOV A, L 
LXI H, 8201h
MOV M,A
INX D
DCR C
JNZ M1
M3:
HLD
Посмотрите, пожалуйста, верная ли это прога и помогите доделать мою: т.е. после того как отсортировали четные и нечетные в разные обл памяти, треб четные отсортировать по возр, а нечет по убыванию
0
airyashov
67 / 72 / 1
Регистрация: 15.12.2008
Сообщений: 302
05.04.2010, 15:31 #5
прога верна
0
vet
175 / 176 / 54
Регистрация: 08.04.2009
Сообщений: 1,309
05.04.2010, 16:06  [ТС] #6
Цитата Сообщение от airyashov Посмотреть сообщение
прога верна
Спасибо
А как дальше сделать не подскажите?
0
Kastaneda
Jesus loves me
Эксперт С++
4760 / 2963 / 341
Регистрация: 12.12.2009
Сообщений: 7,524
Записей в блоге: 2
Завершенные тесты: 1
06.04.2010, 09:00 #7
Это что за ассемблер такой?
0
Goodwin98
2521 / 817 / 10
Регистрация: 31.05.2009
Сообщений: 1,672
06.04.2010, 09:14 #8
Для аналога процессора i8080.
0
vet
175 / 176 / 54
Регистрация: 08.04.2009
Сообщений: 1,309
28.04.2010, 10:46  [ТС] #9
Еще раз здравствуйте

Нашел 2-е сортировки пузырьком для i8080
по убыванию:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    mvi c,5     ; c = 5
next:   lxi h,arr   ; помещаем адрес на массив в пару HL
    mov d,c ; d = c
move:   mov a,m     ; помещаем первый элемент массива в аккумулятор a = arr[d]
 
    inx h       ; переходим к следующему элементу массива,  arr[d+1]
 
    sub m   ; a = a - m, arr[d] - arr[d+1]
    jnc endif   ; если получилось положительное число значит a > m , arr[d] > arr[d+1], заканчиваем итерацию
 
 
            ; иначе меняем местами
    add m       ; a = a + m
    mov b,m ; b = m , b = arr[d+1]
    mov m,a ; m = a , arr[d+1] = arr[d]
    dcx h       ; переходим к предыдущему элементу, arr[d]
    mov m,b ; m = b, arr[d] = b
    inx h       ; возвращаемся на текущий элемент, arr[d+1] на следующей итерации просто arr[d]
endif:dcr d     ; d--
    jnz move    ; если d <> 0 , то продолжаем цикл перемещения  move
    dcr c       ; c--
    jnz next    ; если c <> 0 то продолжаем цикл next
 
 
    hlt     ; выходим из программы
и по возрастанию

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
;начало сортировки
 LXI D,3000h
 MVI C,90h
;цикл сортировки
LOOP_A: DCR C
;закончили сортировку
 JZ STOP_A
;запоминаем состояние цикла сортировки
 PUSH B
 PUSH D;mov h,d
 POP H;mov l,e
;загружаем проверяемое число
 LDAX D
;поиск наименьшего
LOOP_B: INX H
 DCR C
;достигли конца массива
 JZ STOP_B
;сравниваем числа
 CMP M
;если A>M переход
 JP LOOP_C
 JMP LOOP_B
;обмен A и M
LOOP_C: MOV B,M
 MOV M,A
 MOV A,B
 JMP LOOP_B
;записываем минимальное значение
STOP_B: STAX D
;переходим к следующему элементу
 INX D
;востанавливаем состояние цикла сортировки
 POP B
 JMP LOOP_A
;сортировка законченна
STOP_A:
Помогите одну из них переписать для сортировки и по убыванию и по возрастанию, но главное, хотя бы на примере одного из 2-х массивов, которые получаются в проге в 4-м посте (т.е. либо четного либо для нечетного) вставить код сортировки в ту прогу, чтобы четный массив отсортировать по возр, а нечетный по убыванию...
0
28.04.2010, 10:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2010, 10:46
Привет! Вот еще темы с решениями:

Отсортировать четные столбцы матрицы по убыванию, нечетные по возрастанию (сортировка Шелла)
Богом прошу, помогите! Совершенно запутался. Необходимо: сортировкой Шелла с...

В одномерном массиве отсортировать все четные числа по возрастанию, а нечетные - по убыванию на своих местах
В одномерном числовом массиве отсортировать все четные числа по возрастанию, а...

Массив: вывести четные числа по возрастанию индексов, потом нечетные - по убыванию
Написать скрипт, который будет выполняться по щелчку на кнопке. дан...

Ввести массив A(N). Упорядочить четные элементы массива по убыванию, а не четные по возрастанию.
Ввести массив A(N). Упорядочить четные элементы массива по убыванию, а не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru