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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2015, 13:10   #1
YuliYu
Новичок
Джуниор
 
Регистрация: 19.05.2015
Сообщений: 1
Печаль Ассемблер. Написать процедуру объединения элементов множеств, заданных в виде массивов

Как дописать программу?

1.(Применение подпрограмм в вычислительных процессах)
Даны два множества заданные в виде массивов А(I) и В(I); I=1,2,..,10. Найти сумму (об’единение) множеств. C(J) - сумма двух множеств есть множество всех элементов принадлежащих А или В. Например, {1,2,3} U {2,3,4} = {1,2,3,4}. Задачу добавления нового элемента массива оформить в виде подпрограммы. Для этой задачи что-то пыталась написать:
Код:
model small
.stack 100h
.data
timeCx dw ? ;
A db 1,3,4,6,7,9,12,13,15,16
B db 1,2,4,5,7,8,10,13,15,17
C db 20 dup (0)
len equ 10;
.code

start:
push @data ;инициализируем ds физическим адресом данных
pop ds ;
mov cx,len ;
xor si,si ;
xor di,di ;
xor ax,ax ;обнулили

mov timeCx, 0 ; Количество элементов в массиве С пока нулевое
    mov si, offset A ; Указатель в массиве A
    mov di, offset C ; Указатель в массиве C
    mov cx, len ; Цикл будет по числу элементов в массиве A
copying:
    mov al, [si] ; Прочли элемент из массива A
    mov [di], al ; Записали его в массив C
    inc si ; Продвинули указатель в массиве A
    inc di ; Продвинули указатель в массиве C
    inc timeCx ; В массиве C стало на один элемент больше
    loop    copying ; Завернули цикл len раз
; Значение регистра DI тут можно дальше использовать
; как указатель для продолжения заполнения массива C
exit: 
mov ax, 4c00h
int 21h
end start

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 19.05.2015 в 13:41.
YuliYu вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить количество положительных элементов заданных массивов V1(6) V2(12) V3(13) и вывести их отдельно ALABAMA Паскаль, Turbo Pascal, PascalABC.NET 15 23.01.2016 00:35
Представление множеств в виде функций I am Olik Общие вопросы C/C++ 0 15.06.2014 19:52
объединения массивов С++ Мироослав Помощь студентам 2 15.01.2014 09:11
Используя очередь, написать процедуру или функцию,для вычисления среднего геометрического элементов типизированного файла (Паскаль BumBum4ik Помощь студентам 0 04.01.2014 18:12
нахождения наименьшего общего кратного 4 заданных чисел, используя процедуру wrmarw Помощь студентам 9 18.04.2010 17:29