德尔福+程序集数组访问
我在访问程序集(delphi)中的数组元素时遇到问题。
代码是:
procedure TMaskBit.AllocBuffer;
begin
SetLength(DataIn, 6); //array of integer
DataIn[0] := 1 ;
DataIn[1] := 2 ;
DataIn[2] := 3 ;
DataIn[3] := 4 ;
DataIn[4] :=5 ;
DataIn[5] := 6 ;
end;
procedure TMaskBit.SetValue();
asm
lea edx, [eax].TMaskBit.DataIn //indice
mov ecx, [edx+8] //second ement
mov [EAX].TMaskBit.Z, ecx
end;
可能出了什么问题?
谢谢!
I am having a problem to access an element of an array in assembly(delphi).
The code is:
procedure TMaskBit.AllocBuffer;
begin
SetLength(DataIn, 6); //array of integer
DataIn[0] := 1 ;
DataIn[1] := 2 ;
DataIn[2] := 3 ;
DataIn[3] := 4 ;
DataIn[4] :=5 ;
DataIn[5] := 6 ;
end;
procedure TMaskBit.SetValue();
asm
lea edx, [eax].TMaskBit.DataIn //indice
mov ecx, [edx+8] //second ement
mov [EAX].TMaskBit.Z, ecx
end;
What might be wrong?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
动态数组是一个指针,因此您应该使用
mov
而不是lea
:Dynamic Array is a pointer, so you should use
mov
instead oflea
: