win32汇编,怎么修改结构数组中的值

win32汇编,如何修改结构数组中的值
RECT是个结构
包含top,left,bottom,right.
现参数lParam:DWORD指向一个RECT的数组

如果我现在想   存/取/修改   lParam指向的RECT数组中的第二个RECT的top,该怎么写???

------解决方案--------------------
mov esi,lParam
add esi,sizeof RECT
assume esi:ptr RECT
mov [esi].top=100


------解决方案--------------------
那个方法应该是对于传递参数来说最好的了。还有一个方法我记得是:[lParam+Rect.top]。
如果你不是传递参数就好办了。直接引用:@var.top就可以。
------解决方案--------------------
当然,针对性的情况是,top在第一位,直接mov lParam,100就可以使top改变。但是如果这个结构体改变,代码就错了。不健壮。