int数组入栈问题
void __fastcall TForm1::btn1Click(TObject *Sender)
{
unsigned int buffer[2]={1769369,1769369},result=1769369;
asm
{
//push buffer[0];
push buffer[1];
//push result;
pop result;
}
ShowMessage(result);
}
上面的代码,buffer[1]入栈后再出栈值就变了,buffer[0]却不变,为什么?
[解决办法]
因为:
push buffer[1];
在汇编里是指离buffer首地址差1字节的地方,而不是4字节:)