找回密码
 注册
查看: 759|回复: 3

汇编问题请教

[复制链接]
发表于 2004-1-8 12:55:46 | 显示全部楼层 |阅读模式
push ebp
mov ebp,esp
mov esi,[ebp+8]
mov eax,[esi]
add eax,1
mov [esi],eax
pop ebp
ret
请问,如何理解第3句中esi和第4句中[esi],加[ ]到底意味着什么?[ebp+8]n呢?
谢谢
发表于 2004-1-8 13:38:45 | 显示全部楼层
好好看一看《IBM-PC汇编语言》
这是函数调用的问题。
回复

使用道具 举报

发表于 2004-1-8 14:09:24 | 显示全部楼层
push ebp
mov ebp,esp
......
pop ebp
ret
以上是堆栈方式函数调用的标准方式;

[ebp+8]是调用函数通过堆栈传进来的参数;

mov esi,[ebp+8]是将此参数放到esi寄存器中;

[esi]表示是esi寄存器中的值所代表的内存中内容,由此可见,[ebp+8]传进来的是一个指针。
回复

使用道具 举报

发表于 2004-1-9 10:42:57 | 显示全部楼层
我发现这里的人大部分都很差,帮她解决问题连句感谢的话都没有,真的很让人失望。。。。。。。。。。。。。。。。。。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-14 12:09 , Processed in 0.053484 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表