Переписать из массива А в массив В, те элементы массива А, индексы которых совпадают со значениями - Assembler

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

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

Здравствуйте, помогите написать программу на pascale с assembler вставкой. Задание такое: Переписать из массива А в массив В, те элементы массива А, индексы которых совпадают со значениями.

Решение задачи: «Переписать из массива А в массив В, те элементы массива А, индексы которых совпадают со значениями»

textual
Листинг программы
  1. program Pascal;
  2.  
  3. const
  4.   N = 15;
  5. var
  6.   A, B: array [0..N - 1] of byte;
  7.   i: integer;
  8.   LenB: integer;
  9. begin
  10.   randomize;
  11.   Write('i: ');
  12.   for i := 0 to N - 1 do
  13.     Write(i: 3);
  14.   writeln;
  15.   {заполнение массива A случайными числами}
  16.   for i := low(A) to High(A) do
  17.     A[i] := random(High(A) + 1);
  18.   Write('A: ');
  19.   for i := low(A) to High(A) do
  20.     Write(A[i]: 3);
  21.   writeln;
  22.   {количество элементов в массиве B пока равно 0}
  23.   LenB := 0;
  24.   asm
  25.     MOV CX, N
  26.     MOV AL, 0
  27.     LEA SI, A
  28.     LEA DI, B
  29.   @@For:
  30.     CMP AL, [SI]
  31.     JNE @@Next
  32.     MOV [DI], AL
  33.     ADD DI, 1
  34.     INC LenB
  35.   @@Next:
  36.     INC AL
  37.     ADD SI, 1
  38.     LOOP @@For
  39.   end;
  40.   Write('B: ');
  41.   for i := 1 to LenB do
  42.     Write(B[i - 1]: 3);
  43.   writeln;
  44. end.

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

  1. Объявляются константа N и массивы A и B типа byte и переменные i и LenB типа integer.
  2. Генерируется случайное значение для каждого элемента массива A.
  3. Выводятся элементы массива A.
  4. Переменная LenB устанавливается в 0.
  5. В блоке ассемблерного кода происходит копирование элементов из массива A в массив B, при этом увеличивается значение переменной LenB.
  6. Выводятся элементы массива B, содержащие скопированные значения из массива A. Код копирует элементы из массива A в массив B, те элементы, индексы которых совпадают со значениями.

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


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

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

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

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

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

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