Мне нужно сделать данную задачу как ассемблерную вставку в паскаль.Вот и сама задача: В массиве заменить каждый из элементов суммой соседей, кроме крайних. То есть например если есть такой массив 2,3,5,8,6, то после замены должно получиться: 2,7,11,11,6.Помогите пожалуйста а то ассемблер вобще не знаю совершенно.
xds
20.05.2007 18:55
program ArrayAsm;
const
n = 10;
var
a: array[1..n] of Integer;
i: Integer;
begin
Randomize;
for i := 1to n dobegin
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 @@
endfor i := 1to n doWrite(a[i]:3);
Writeln;
end.
Янычар
20.05.2007 20:13
Спасибо огромное!Но пожалуйста если не трудно можно написать что что здесь означает?!А то чего то я ничего не пойму)))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.