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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2012, 21:10   #1
alex1001
Пользователь
 
Регистрация: 02.01.2012
Сообщений: 16
По умолчанию Assembler

Цитата:
Сообщение от alex1001 Посмотреть сообщение
"помогите переделать процедру которая сдвигает элементы на четных местах вправо циклически ---на процедуру которая сдвигае элементы влево на 1 позицию циклически.
P.S. заранее спасибо"
Код:
   title	lab4 процедура вычисления
prcode	segment
	extrn	wrint:far
	public	shiftcr
	assume	cs:prcode
shiftcr proc	far
;---сохранить bp и запомнить в нем sp для доступа к параметрам
	push	bp
	mov	bp,sp
;---сохранение регистров в стек
	push	ax
	push	bx
	push	cx
	push	si
	push	di
	pushf
;---распределение регистров
n	equ	[bp+8]
aai	equ	di	;адрес a[i]
alast	equ	si	;значение посл.элемента на четном месте
;---организация доступа к параметрам
	mov	aai,[bp+6]
;---подготовка цикла
;---вычисление числа итераций
	mov	cx,n
	sar	cx,1
	dec	cx	;cx=n/2-1	число итераций
	cmp	cx,o
	jle	fin	;защита отn<=0
;---вычисление адреса последнего элемента с четным номером
	add	aai,2
	mov	ax,cx
	sal	ax,2
	add	aai,ax		;aai=aai+2+4*число итераций
;---запомнить значение последнего элемента с четным номером 
	mov	alast,[aai]
;---цикл вычислений
cikl:	mov	ax,[aai-4]
	mov	[aai],ax	;!!!косвенная адресация
	dec	aai		;!!!переадресация
	dec	aai
	dec	aai
	dec	aai
	loop	cikl
;---записать значение последнего элемента в первый
	mov	[aii],alast
;---восстановление регистров 
fin:
	popf
	pop	di
	pop	si
	pop	cx
	pop	bx
	pop	ax
	pop	bp
	ret	4	;возврат в программу
shiftcr	endp
prcode	ends
	end
чсмчсмячсмячсмчсмясчм
alex1001 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Assembler 32 KatruKot Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 14.03.2011 09:35
assembler Fanton Помощь студентам 0 07.03.2011 10:50
assembler Serjuk Помощь студентам 5 28.01.2011 11:59
Assembler cold-hands Помощь студентам 1 07.11.2009 19:56
Assembler oleh Помощь студентам 2 24.04.2008 19:45