不动明王 发表于 2013-3-24 14:32:16

关于win32的一些疑问

在win32汇编语言中,子程序的定义方式是:
          子程序名 proc [距离] [语言类型] [可视区域] [,参数:类型]...
                        local 局部变量列表
                        指令
          子程序名 endp
我想询问以上定义式中"[,参数:类型]"定义的是全局变量,还是局部变量?若是全局变量,为什么不在程序的最开头声明定义二,若是局部变量,为什么变量名不是以"@"开头(书中的局部变量是以@开头的)
以下截图是琢石成器中第一个窗口程序的一部分

pro-serv 发表于 2013-3-24 14:32:17

不动明王 发表于 2013-3-24 15:45 static/image/common/back.gif
那参数是全局变量还是局部变量?

参数是相对于函数而已,本身也可以看成是变量。

pro-serv 发表于 2013-3-24 14:44:04

全局变量是在.data或.data?中定义,proc后面跟的是局部变量,可以不用@开头的,@开头只是为了更好的区分是局部变量。

不动明王 发表于 2013-3-24 14:45:48

pro-serv 发表于 2013-3-24 14:44 static/image/common/back.gif
全局变量是在.data或.data?中定义,proc后面跟的是局部变量,可以不用@开头的,@开头只是为了更好的区分是局 ...

那么那个参数到底是啥呢?

pro-serv 发表于 2013-3-24 15:18:15

不动明王 发表于 2013-3-24 14:45 static/image/common/back.gif
那么那个参数到底是啥呢?

参数就是是子程序的参数,你图中的就是声明了 procWinmai 有hwnd, umsg, wparam, lparam这四个参数

不动明王 发表于 2013-3-24 15:45:04

pro-serv 发表于 2013-3-24 15:18 static/image/common/back.gif
参数就是是子程序的参数,你图中的就是声明了 procWinmai 有hwnd, umsg, wparam, lparam这四个参数

那参数是全局变量还是局部变量?

不动明王 发表于 2013-3-24 16:20:20

pro-serv 发表于 2013-3-24 16:14 static/image/common/back.gif
参数是相对于函数而已,本身也可以看成是变量。

虽然还是有点不明白,但还是谢谢你.

pro-serv 发表于 2013-3-24 17:44:23

不动明王 发表于 2013-3-24 16:20 static/image/common/back.gif
虽然还是有点不明白,但还是谢谢你.

win32程序猿企鹅群号:295417445欢迎学[琢石成器—Windows环境下32位汇编语言程序设计].罗云彬的朋友加入!!

dAb 发表于 2013-3-31 09:07:08

其实你说的这个就是 以后你调用这个子程序的时候传进来的参数,算是局部参数
例如,,invoke   你的这个子程序Proc    参数1参数2参数3
这里的参数1和2和3 就是对应你说的这个问题,,当然了,需要传进去多少个参数,取决于你

小靚同学Leon 发表于 2013-3-31 16:17:29

我也想知道答案哈哈哈哈哈哈

□_谁_□_枫_□ 发表于 2013-4-1 11:47:42

我也想知道答案哈哈哈哈哈哈

Win32 发表于 2013-4-16 19:15:57

是由母函数传递过来的局部变量

506076894 发表于 2013-4-17 14:18:49

无回帖,不论坛,这才是人道。

hanye332 发表于 2013-4-24 18:08:56

为什么要用这个自定义的函数呢??   而且为什么传递的参数呢??参数传递给了谁呢??不是很理解 希望明白的【朋友能详细的 解释一下!!
页: [1]
查看完整版本: 关于win32的一些疑问