Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2009, 20:39   #1
Student117
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 11
Вопрос Перестановка чисел в массиве в обратном порядке

Здрайствуйте.Вообщем препод задал сделать лабу:
inp dd 0,4,-13,3,…. ;Некоторое количество двойных слов со знаком или без
N = 4 ;Размер массива

Переставить числа в обратном порядке

Расскажите плиз как это реализовать??Заранее спасибо
Student117 вне форума Ответить с цитированием
Старый 21.10.2009, 20:48   #2
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Как всегда есть несколько путей:
1. Затолкать массив в стек, а потом вытащить как тебе нужно.
2. Традиционный алгоритм. Поменять первый и последний элементы, потом второй и предпоследний и т.д.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 21.10.2009, 21:37   #3
Student117
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 11
По умолчанию

а с кодом сможите помочь...просто я не умею работать с массивом как к примеру там поменять местами первый и последний элемент??
Student117 вне форума Ответить с цитированием
Старый 22.10.2009, 06:14   #4
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

Прога использующая стек
Код:
.model tiny
.code
org 100h
main:
	mov cx,5
	mov bx,offset arr
	xor si,si

;запись массива в стек
;=======================================================
cyc:
	mov ax,word ptr bx[si]
	push ax
	add si,2
	loop cyc
	
;запись из стека в массив
;========================================================
	mov cx,5
	mov bx,offset arr
	xor si,si
cyc2:
	pop ax
	mov word ptr bx[si],ax
	add si,2
	loop cyc2
;данные
;==============================================
arr dw 5 dup (1,2,3,4,1)

end main
Единственное, что ограничивает полет мысли программиста-компилятор

Последний раз редактировалось Stilet; 22.10.2009 в 08:58.
Sparky вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
размещение значений в массиве в обратном порядке Maxc Общие вопросы C/C++ 5 28.06.2009 10:06
печать страниц в обратном порядке Олекса Microsoft Office Word 4 30.03.2009 09:45
В обратном порядке mari.ha Общие вопросы C/C++ 7 25.12.2008 21:36
Вывод кольцевого списка в обратном порядке parinoff Паскаль, Turbo Pascal, PascalABC.NET 5 22.11.2008 12:03