Напишите программу, вычисляющую сумму/разность соответствующих элементов этих массивов - 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
- Завершение программы и возврат к операционной системе
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д