数组的问题

zhujiechang 2008-10-20 11:54:31
子过程声明如下:
LOCAL lpFileSystemNameBuffer[256]:BYTE
后面怎么样
PUSH lpFileSystemNameBuffer?单是这样编译错误。
然后把运算后的EDI里面值放回lpFileSystemNameBuffer
mov lpFileSystemNameBuffer,EDI是错误的
...全文
78 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujiechang 2008-10-22
  • 打赏
  • 举报
回复

非常感谢cnzdgs的辅助,我最后用invoke来试验,最终解释成push为
LOCAL lpFileSystemNameBuffer[256]:BYTE

......
lea eax lpFileSystemNameBuffer ;这两行就是结果
push eax ;

第二个问题把运算后的EDI里面值放回lpFileSystemNameBuffer也一起解决了
lea esi,lpFileSystemNameBuffer
......
mov [esi],EDI ;把结果放回lpFileSystemNameBuffer中


cnzdgs 2008-10-20
  • 打赏
  • 举报
回复
作为参数可以在invoke时写ADDR lpFileSystemNameBuffer。
zhujiechang 2008-10-20
  • 打赏
  • 举报
回复
PUSH lpFileSystemNameBuffer
是因为它是作为call参数在后面被函数所用到,但是这个语法不能编译通过。
cnzdgs 2008-10-20
  • 打赏
  • 举报
回复
push esi
push edi
mov esi, edi
lea edi, lpFileSystemNameBuffer
mov ecx, 256
rep movsb
pop edi
pop esi

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧