Мне нужно сделать данную задачу как ассемблерную вставку в паскаль.Вот и сама задача: В массиве заменить каждый из элементов суммой соседей, кроме крайних. То есть например если есть такой массив 2,3,5,8,6, то после замены должно получиться: 2,7,11,11,6.Помогите пожалуйста а то ассемблер вобще не знаю совершенно.
program ArrayAsm;
const
n = 10;
var
a: array[1..n] of Integer;
i: Integer;
begin
Randomize;
for i := 1 to n do
begin
a[i] := Random(20);
Write(a[i]:3);
end;
Writeln;
asm
cld
push ds
pop es
lea si,a
lea di,a+2
lodsw
mov dx,ax
mov cx,n-2
@@:
lodsw
xchg dx,ax
add ax,[si]
stosw
loop @@
end;
for i := 1 to n do
Write(a[i]:3);
Writeln;
end.
Спасибо огромное!Но пожалуйста если не трудно можно написать что что здесь означает?!А то чего то я ничего не пойму)))