XXXXX 发表于 2013-4-26 21:55:16

为什么WIN32定义局部变量数组和用lea 取地址疑问?

本帖最后由 s0512 于 2013-5-26 13:55 编辑

为什么定义局部变量数组后,数组名本身就是变量的首地址?为什么还要用lea 寄存器,局部变量 来去地址呢? 直接用数组名不就可以吗? 如:_xxxx   proc
                                    local   @szBuffer:byte
                                    leaedi,@szBuffer//这里直接用   mov edi,@szBuffer 不就行了吗?

向往青莲 发表于 2013-4-26 21:55:17

@szBuffer = str
注意edi中要放数组首地址 所以

leaedi,@szBuffer=(edi = &str)正确

mov edi,@szBuffer = (edi = str)错误
页: [1]
查看完整版本: 为什么WIN32定义局部变量数组和用lea 取地址疑问?