Определить содержимое регистра AX - Assembler

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

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

надо найти что выйдет в АХ? люди добрые помогите,,, дано:
Листинг программы
  1. .data
  2. vekt dw 12, -13, 25, 2, -11, 4, 7
  3. .code
  4. ............
  5. lea bx, vekt+4
  6. mov di,2
  7. mov ax,vekt[di+2]
  8. inc word ptr[bx][di]
  9. add ax,[bx][di]

Решение задачи: «Определить содержимое регистра AX»

textual
Листинг программы
  1. lea bx,vekt+4       ;bx указывает на два элемента дальше начала вектора, т.е. на 25
  2. mov di,2            ;di = 2 - длина одного элемента
  3. mov ax,vekt[di+2]   ;ax = от начала вектора+1 элемент (di)+еще один элемент (+2). Итого, ax=25
  4. inc word ptr[bx][di]; инкремент слова следующего (di) за 25 (bx), т.е. было 2, стало 3
  5. add ax,[bx][di]     ;ax = старое значение (25) + слово за 25 (т.е. 3) = 28

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

  1. lea bx,vekt+4 — Переменная bx указывает на байт, следующий за последним элементом вектора vekt. Здесь вектору vekt добавляется 4 к его адресу, чтобы получить байт, следующий за последним элементом вектора.
  2. mov di,2 — Переменная di получает значение 2. Здесь di используется как смещение от начала вектора vekt.
  3. mov ax,vekt[di+2] — Переменная ax получает значение элемента вектора vekt, который находится по смещению di+2 от начала вектора. Поскольку di равно 2, di+2 будет равно 4, и ax получит значение 4-го элемента вектора vekt.
  4. inc word ptr[bx][di] — Происходит инкремент слова, следующего за последним элементом вектора vekt, на который указывает bx, на смещение di. Поскольку di равно 2, и bx указывает на байт, следующий за последним элементом вектора vekt, это будет означать, что инкрементируется слово, следующее за 4-м элементом вектора vekt.
  5. add ax,[bx][di] — Переменная ax получает сумму своего текущего значения и значения слова, следующего за последним элементом вектора vekt, на которое указывает bx, на смещение di. Поскольку di равно 2, и bx указывает на байт, следующий за последним элементом вектора vekt, это будет означать, что к ax добавляется значение слова, следующего за 4-м элементом вектора vekt. Итак, в результате выполнения этого кода переменная ax будет содержать значение 28.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы