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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2015, 20:35   #1
idontknowassembler
Новичок
Джуниор
 
Регистрация: 07.06.2015
Сообщений: 1
По умолчанию Assembler(TASM) - передача параметров процедуре через стек

Цитата:
Дано описание: A DB 60 DUP(?) ; числа со знаком B DB 101 DUP(?) Описать дальнюю процедуру OUTARR8, которой передается начальный адрес знакового байтового массива и число элементов в нем и которая печатает этот массив. Используя эту процедуру, выписать фрагмент основной программы для решения следующей задачи: если последний элемент массива A равен среднему элементу массива B, тогда напечатать массив A, иначе — массив B. Выполнить это упражнение при условии, что параметры передаются процедуре через регистры.
Код:
include io.asm
S       segment stack
        DB 256 DUP(?)
S       ends

D       segment
A	db	8,5,8,7,1,4
B	db	1,-1,6 DUP(4),9,4,7
anum	dw	6
bnum	dw	11
x	dw	?
y	dw	?
D       ends

C       segment
        assume CS:C, DS:D, SS:S

outarr8 proc far
LOCAL	xloc:WORD,smesh:WORD,num:WORD
	mov smesh,ax
	mov num,bx
	push dx
	push cx
	push bx
	push ax
	mov si,0
	mov bx,smesh
previous1:
	cmp si,num
	jge next1
	mov al,BYTE ptr [si+bx]
	mov xloc,ax
	outint xloc
	newline
	inc si
	jmp previous1
next1:	pop ax
	pop bx
	pop cx
	pop dx
	ret
	endp

start:  mov ax,D
        mov DS,ax
	
	mov si,anum
	mov al,A[si-1]
	mov ah,0
	mov x,ax
	
	mov ax,0
	mov si,1
previous2:
	add al,B[si-1]
	cmp si,bnum
	jge next2
	inc si
	jmp previous2
next2:	mov dx,0
	idiv bnum
	cmp x,ax
	je next3
vizovb:	mov ax,offset B
	mov bx,bnum
	call outarr8
	finish
next3:	cmp dx,0
	je vizova
	jmp vizovb
vizova:	mov ax,offset A
	mov bx,anum
	call outarr8
	finish

C	ends
	end start
Помогите, пожалуйста, решить эту задачу при условии, что параметры передаются процедуре через стек.
idontknowassembler вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметров в функцию через регистры MaRtOvSkiI_KoT Помощь студентам 1 10.03.2013 20:49
Передача параметров : как указатель на масив и через стек. galaxyblazer Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 20.04.2012 14:20
[Delphi] Передача параметров процедуре Язь Помощь студентам 0 09.12.2011 17:38
Ассемблер. Лаба по процедурам с передачей параметров через стек Poprigun777 Помощь студентам 0 14.03.2011 19:13
Передача параметров через ссылку xxxsas PHP 6 10.08.2009 21:09