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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2012, 14:00   #1
Турист243
Новичок
Джуниор
 
Регистрация: 08.10.2012
Сообщений: 1
По умолчанию Используя процедуру, суммируйте элементы массивов arrayW1 и arrayW2.Результаты разместите в ячейки rez1 и rez2.

Составьте процедуру, которой передается через стек– адрес и размер массива . Процедура возвращает в АХ – сумму элементов массива.
Пусть задан сегмент данных

.data
arrayW1dw10h,20h,30h,40h,50h
arrayW2dw 60h,70h,80h,90h
rez1dw?
rez2dw?

Используя процедуру, суммируйте элементы массивов arrayW1 и arrayW2.Результаты разместите
в ячейки rez1 и rez2.
Турист243 вне форума Ответить с цитированием
Старый 08.10.2012, 14:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
proc sum
 pop esi
 pop ecx
 xor eax,eax
for:
 add eax,byte ptr [esi]
 inc esi
 loop for
 ret
endp
А вызывать так:
Код:
push arrayW1dw
push 5
call sum
mov [rez1],ax

push arrayW2dw
push 4
call sum
mov [rez2],ax
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.10.2012, 15:14   #3
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Stilet
Турист243 нужен tasm, а у тебя даже не fasm, а хз что -- особенно вот это
Код:
proc sum
 pop esi
 pop ecx
в ESI окажется адрес возврата из процедуры, а при выходе из SUM программа рухнет
и inc esi для массива из слов не подходит...

Последний раз редактировалось Mikl___; 08.10.2012 в 15:20.
Mikl___ вне форума Ответить с цитированием
Старый 08.10.2012, 15:54   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Учёба начинается)

Казалось бы, чего проще: написать на том же Паскале программку (с использованием функции) и в отладчике выдрать код (будет и стек, и результат в AX - если правильно типы расставить) Правда, нужно ещё отладчиком пользоваться уметь...

з.ы. с ностальгией вспоминаю, как подобные "лабораторные" сдавали половину семестра) А тогда казалось "круто")))
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 08.10.2012 в 15:57.
DiemonStar вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу используя подпрограмму- процедуру. advokat_92 Помощь студентам 0 25.11.2010 11:00
Массив используя функцию и процедуру. Profan4ik Помощь студентам 1 30.05.2010 14:06
Вычислить элементы последовательности, используя рекурсию. ilyas22 Помощь студентам 2 23.05.2010 19:20
нахождения наименьшего общего кратного 4 заданных чисел, используя процедуру wrmarw Помощь студентам 9 18.04.2010 17:29
нарисовать квадрат с длиной стороны 100 пикселей, используя процедуру linerel(x,y:integer) Кася_ Помощь студентам 6 23.02.2009 19:13