实质的东西:
var
p:^integer;
i:integer;
begin
p:=@i;
p^:=8;
showmessage('I is:'+inttostr(i));
end;
汇编:
p dd 0
i dd 0
i就可以直接存放一个数,而要通过p来访问i,首先要得到i的地址就是
没有编译优化的代码:
push ebx
mov eax,@i
mov p,eax
p:=@i;
nop
mov ebx,p
mov al,8
mov [ebx],al
p^:=8;
pop ebx
所以转了一道弯,嘿嘿!