Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Assembler] [asm]Массив


Автор: 6apon 4.6.2009, 01:57
Помогите с задачкой

Одномерный массив разделить на два массива в один записать четные элементы в другой нечетные.

Спасибо.

Автор: Mikl_ 4.6.2009, 03:20
6apon, 
Для домашних заданий, курсовых, существует "Центр Помощи". smile 

Автор: dumb 5.6.2009, 03:44
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена!

Код

mov esi, offset srcArr
mov ecx, srcArrLen
mov edi, offset dstArr0
mov ebx, offset dstArr1
cld
@@:
movsb
xchg edi,ebx
loop @B

Автор: Mikl_ 5.6.2009, 04:32
6apon, 
а можно так, но нужно знать величину элемента массива, пусть будет массив байтов
Код

.data
ishodny_mass db значения, ...
N = $-ishodny_mass ; получаем длину исходного массива
mass_chetny db (N/2) dup (0)
mass_nechetny db (N/2) dup (0)
.data
push ds 
pop es
mov si,offset ishodny_mass
mov bx,offset mass_nechetny 
mov di,offset mass_chetny  
mov cx, N/2
a1: lodsb
mov [bx],al
inc bx
movsb
loop a1
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)