К последнему элементу второго массива прибавить первый элемент первого, к предпоследнему - прибавить второй элемент - Assembler

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

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

Требуется к последнему элементу второго массива прибавить первый элемент первого, к предпоследнему - прибавить второй элемент и т.д.
Не могу разобрать что я делаю не так.

Решение задачи: «К последнему элементу второго массива прибавить первый элемент первого, к предпоследнему - прибавить второй элемент»

textual
Листинг программы
org  100h
jmp  start
 
array1  dw  5,4,3,2,1
array2  dw  1,2,3,4,5
len     =   $-array2          ; длина массива(2)
 
start:  mov   si,array1       ; SI = адрес начала первого массива
        mov   di,array2       ; DI = начало второго
        mov   cx,len          ; CX = длина массива(2) в байтах
        add   di,cx           ; DI = конец второго массива
        shr   cx,1            ; CX/2 = длина цикла для LOOP
        
lp:     lodsw                 ; AX = слово из SI (si сам увеличится на 2)
        add   word[di],ax     ; сложить со-значением из DI
        sub   di,2            ; указатель влево
        loop  lp              ; промотать цикл СХ-раз..
;---------------
        ret                   ; выход в DOS!

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

  1. org 100h — инициализация сегмента данных
  2. jmp start — переход к метке start
  3. array1 dw 5,4,3,2,1 - определение первого массива
  4. array2 dw 1,2,3,4,5 - определение второго массива
  5. len = $-array2 — вычисление длины массива (2)
  6. start: mov si,array1 — перемещение указателя на начало первого массива
  7. mov di,array2 — перемещение указателя на начало второго массива
  8. mov cx,len — установка счётчика (2)
  9. add di,cx — перемещение указателя на конец второго массива
  10. shr cx,1 — установка счётчика (2)
  11. lp: lodsw — загрузка слова из первого массива
  12. add word[di],ax — прибавление значения из второго массива
  13. sub di,2 - перемещение указателя влево
  14. loop lp — начало цикла
  15. ret — выход в DOS!

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


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

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

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