编程论坛
注册
登录
编程论坛
→
汇编论坛
为什么有些子程序定义的时候, 要加上uses呢?
马甲1号
发布于 2011-04-04 22:36, 572 次点击
比如
_WinProc proc
uses ebx esi edi
, hWnd, uMsg, wParam, lParam
....
....
_WinProc endp
6 回复
#2
zaixuexi
2011-04-04 23:13
这个是最最基础的,建议自己搞懂
#3
马甲1号
2011-04-04 23:21
恩, 记得在哪里看过, 不过, 一下子就忘记了
#4
ansic
2011-04-05 12:25
sub proc uses ax bx cx
...
ret
sub endp
相当于:
sub proc
push ax
push bx
push cx
...
pop cx
pop bx
pop ax
ret
sub endp
#5
马甲1号
2011-04-05 12:37
回复 4楼 ansic
那么, 和invoke伪指令, 有什么区别吗?
invoke 是不是对参数列表进行压栈
而uses则对一些指定的寄存器进行数据保存?
#6
ansic
2011-04-05 12:47
invoke是win32的伪指令,uses在16位下也可以使用。
invoke对参数列表入栈取决于具体的语言调用方式,这个我就不大清楚啦。你可以参考老罗的书
#7
马甲1号
2011-04-05 12:58
好的, 多谢这位兄弟了
1