最近在学MASM,感觉他除了语法和VC不同,其他基本没什么区别,而且编译出来的程序更小,速度也更快,当然,没有VC.NET版本的那些新东西比如 cookie_security 之类的,相对来说安全性要差点.
我用的是 RadASM 做IDE,感觉这个IDE该有的功能都有,不该有的也基本都有,虽然编辑器对中文支持不是很好,资源编辑器也不是很好用,不过总体来说还是不错了。
虽然现在还没太搞懂MASM版本之间的关系,不过MASM32的代码还是能基本写出点了。
这个日志就用来记录一些比较容易忘记的东西,也算是备份大脑了。
fun PROTO Param:DWORD
这是一句函数生命,PROTO关键字表示函数原型,算是一种固定格式把,后面是参数,前面是函数名,多个参数用逗号隔开,如
Shell_NotifyIconA PROTO :DWORD,:DWORD
Shell_NotifyIcon equ <Shell_NotifyIconA>
定义常量之类的可以用 equ 类似C语言的 #define 很好用,一般用于定义对话框资源的ID比如
.const
IDD_DIALOG1 equ 101
还有个比较好用的
func proc uses ecx edi hWin:HWND
前后都简单,关键是中间的 uses ecx edi 表示这个函数使用了哪些寄存器,这样有个好处,MASM会自动在函数的开始加入
PUSH ECX
PUSH EDI
退出函数时加上POP..
当然,手动 PUSHAD 也可以。
posted on 2009-03-15 09:15
╰ZerOday` 阅读(102)
评论(0) 编辑 收藏 引用