Консультация № 186325
06.06.2012, 13:15
150.96 руб.
0 6 1
Здравствуйте! Эксперты неоходимо Составить алгоритм и программу на языке Assembler
вот условия:
1. Имеются два массива. Начальные адреса массивов 2С4Д и 2F5E. Количество элементов в каждом массиве равно 48. Необходимо сложить элементы двух массивов и результат сложения поместить на место 1 массива.

Обсуждение

Неизвестный
06.06.2012, 13:35
общий
это ответ
Здравствуйте, Посетитель - 363279!
Вы в своём вопросе не указали размер элементов в массивах. Вот алгоритм для двухбайтовых(16-ти битных) данных, для однобайтовых необходимо заменить lodsw и stosw на lodsb и stosb соответственно.

Приложение:
mov cx,48 ;количество элементов в массиве
lea si,[2F5Eh] ;адрес второго массива
lea di,[2C4Dh] ;адрес первого
@@:
lodsw
add ax,[di]
stosw
loop @B
5
Неизвестный
06.06.2012, 13:43
общий
честно не знаю размер элементов, а схемку алгоритма можно к програмке ?
давно
Старший Модератор
31795
6196
06.06.2012, 13:43
общий

@B метку перепутали
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
7438
7205
06.06.2012, 13:49
общий
Раз взялись отвечать, доводите до конца...
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
06.06.2012, 18:16
общий
Схему, уже рисую.
Вот в моей процедуре, надо добавить:
mov cx,48 ;количество элементов в массиве
lea si,[2F5Eh] ;адрес второго массива
lea di,[2C4Dh] ;адрес первого
@@:
lodsw
add ax,[di]
jo _overflow ;_overflow -указывает на процедуру в случае переполнения, когда сумма превысит размер (16 или 8 бит)
stosw
loop @B
Неизвестный
06.06.2012, 19:24
общий
Похоже что глюк с выводом png :(
Вот в jpg:
Форма ответа