Напишите программу, вычисляющую сумму/разность соответствующих элементов этих массивов - Assembler
Формулировка задачи:
2. Создайте два массива из 20 элементов. При объявлении массивов заполните их числами. Напишите программу, вычисляющую сумму/разность соответствующих элементов этих массивов. Результат сохраняйте в первый массив.
Решение задачи: «Напишите программу, вычисляющую сумму/разность соответствующих элементов этих массивов»
textual
Листинг программы
LOCALS .model small .stack 100h .data A db 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 B db 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40 .code main proc mov ax, @data mov ds, ax mov cx, 20 lea si, A lea di, B @@For: mov al, [di] add [si], al add si, 1 add di, 1 loop @@For mov ax, 4C00h int 21h main endp end main
Объяснение кода листинга программы
- Сначала определяются локальные переменные
- Устанавливается размер стека
- В сегменте данных объявляются два массива:
A
с элементами 1-20 иB
с элементами 21-40 - В сегменте кода начинается процедура
main
- Загружается адрес сегмента данных в регистр
ax
и затем в регистрds
- Регистру
cx
присваивается значение 20 – количество элементов в массиве - В регистры
si
иdi
загружаются адреса начала массивовA
иB
- В цикле происходит суммирование соответствующих элементов массивов
A
иB
с использованием инструкцийmov
,add
иloop
- После выполнения цикла процедура
main
завершается с помощью инструкцийmov
,int
- Завершение программы и возврат к операционной системе
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д