Передача элемента массива из Delphi в Ассемблер
Просто переменные передаются - все работает, но как только стоит применить массив, на выходе огромные значения, не правильные! нашел код, пытался его применить, но безуспешно
var A : array [1..10] of integer;
Start : pointer;
Start := @A;
asm
mov ebx, Start
mov edi, 3 * 4 // вместо тройки должно быть вычисленное значение номера элемента
mov eax, [ebx + edi] // в eax попадает 777
end;
end;
Вот мой код...
for I := 1 to 5 do begin
a[i]:=ord(Edit1.Text[1]);
b[i]:=ord(Edit2.Text[1]);
c[i]:=ord(Edit3.Text[1]);
d[i]:=ord(Edit4.Text[1]);
asm
mov eax,d[i]
mov ecx,c[i]
add ecx,eax
mov eax,b[i]
add ecx,eax
mov eax,a[i]
lea ecx,[eax+ecx-$C0]
mov r10,ecx
end;
end;