Ввод двух массивов, вывод суммы элементов с заданным индексом - Assembler

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток, нужна помощь в написании программы на TASMе, суть задачи: необходимо ввести с клавиатуры комплексные числа и занести в один массив действительную часть - D, а в другой мнимую - M. Далее ввести индекс числа и вывести сумму D+M. Пример №1: Вводим числа: 2.7;3.4;5.6 Вводим индекс: 2 Выводим результат 3+4=7 Пример №2: Вводим числа: 2.7;3.4;5.6;7.9;13.8 Вводим индекс: 5 Выводим результат 13+8=21 Ограничений по способу ввода нет(максимум 100 чисел, но можно ввести как и больше так и меньше) другие варианты расчета без использования массива так же подходят, главное вводить с клавиатуры числа, затем указать индекс и посчитать сумму D+M.Заранее благодарен за помощь

Решение задачи: «Ввод двух массивов, вывод суммы элементов с заданным индексом»

textual
Листинг программы
lea si, [D]
lea di, [M]
mov bx, [i]
shl bx, 1
mov ax, [si+bx]
add ax, [di+bx]
 
mov [Result], ax

Объяснение кода листинга программы

В данном коде происходит следующее:

  1. lea si, [D] - в данном выражении используется команда LEA (Load Effective Address), которая загружает в регистр SI адрес массива D.
  2. lea di, [M] - в данном выражении используется команда LEA, которая загружает в регистр DI адрес массива M.
  3. mov bx, [i] - в данном выражении используется команда MOV (Move), которая загружает в регистр BX значение переменной i.
  4. shl bx, 1 - в данном выражении используется команда SHL (Shift Left), которая сдвигает значение регистра BX влево на 1 бит и сохраняет результат в том же регистре.
  5. mov ax, [si+bx] - в данном выражении используется команда MOV, которая загружает в регистр AX значение элемента массива D, который находится по адресу SI+BX.
  6. add ax, [di+bx] - в данном выражении используется команда ADD (Add), которая складывает значение регистра AX с значением элемента массива M, который находится по адресу DI+BX, и сохраняет результат в регистре AX.
  7. mov [Result], ax - в данном выражении используется команда MOV, которая сохраняет значение регистра AX в переменной Result.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы