Помогите с ассемблером в программе турбо паскаль буду очень благодарна

не могу правильно написать программу Задание:найти сумму массива

var
i:integer;
x:array[1..10] of integer;
 begin
 for i:=1 to 10 do
 begin
  x[i]:=trunc(201*random-100);
  end;

 for i:=1 to 10 do
  begin
  write(' ', x[i]);
  write;
  end;
  asm
    mov bx, offset x
    mov ax, [bx]
  @1
  add bx, ax
  loop @1
  mov ax, bx
  mov sum, ax
  end;
  end.

Ответы (1 шт):

Автор решения: santavital

Алгоритм работы команды LOOP:

CX = CX - 1
Если CX не равен 0, то выполнить переход
Иначе не выполнять переход, продолжить цикл
То есть команда LOOP выполняется в два этапа.
Сначала из регистра СХ вычитается единица и его значение сравнивается с нулём.
Если регистр не равен нулю, то выполняется переход к указанной МЕТКЕ.
Иначе переход не выполняется и управление передаётся команде, которая следует сразу после команды LOOP.

→ Ссылка