Подсчитать количество элементов массива - Assembler

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

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

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

Решение задачи: «Подсчитать количество элементов массива»

textual
Листинг программы
mov cx,N <-- число элементов
mov di,offset farpointers+2
@@: scasw
   je exit
   add di,2
   loop @b
   jcxz элемент_не_найден
элемент_найден: inc count
   loop @b

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

В данном коде используется язык Assembler. Задача заключается в подсчете количества элементов в массиве.

  1. mov cx, N — в переменную CX записывается число элементов массива.
  2. mov di, offset farpointers+2 — в переменную DI записывается смещение (адрес) начала массива.
  3. @@: scasw — происходит сравнение содержимого DI с последним элементом массива. Если они равны, то происходит переход на метку exit. Если нет, то происходит переход на следующую итерацию цикла.
  4. add di, 2 — переменная DI увеличивается на 2, тем самым смещаясь к следующему элементу массива.
  5. loop @b — происходит проверка, нужно ли продолжать выполнение цикла. Если переменная CX равна нулю, то происходит переход на метку элемент_не_найден. Если нет, то происходит переход на следующую итерацию цикла.
  6. jcxz элемент_не_найден — если значение CX равно нулю, то происходит переход на метку элемент_не_найден. Если нет, то происходит переход на следующую итерацию цикла.
  7. элемент_найден: inc count — если элемент массива был найден, то к переменной count прибавляется единица.
  8. loop @b — происходит проверка, нужно ли продолжать выполнение цикла. Если переменная CX равна нулю, то происходит переход на метку элемент_не_найден. Если нет, то происходит переход на следующую итерацию цикла.
  9. jcxz элемент_не_найден — если значение CX равно нулю, то происходит переход на метку элемент_не_найден. Если нет, то происходит переход на следующую итерацию цикла.

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


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

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

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