我在研究中常用的开发工具是 VC6.0 和 TASM ,所以文章中的例程代码都是 C/C++ 或 ASM 的,可能很
多朋友对ASM(特别时Win32 ASM)接触得比较少,所以我俗套得给出了一个 ASM 编写的 "Hello,World" ,让大
家对 Win32 ASM能有一个大概的认识。
.386
.MODEL FLAT
;API 声明
EXTRN MessageBoxA:PROC
EXTRN ExitProcess:PROC
NULL = 0
MB_OK = 0
.DATA
;数据定义
szMessage DB "Hello,World!",0
szTitle DB "Win32 asm application",0
.CODE
;代码开始
_Start:
;MessageBoxA(NULL,szMessage,szTitle,MB_OK)
PSUH MB_OK
PUSH OFFSET szTitle
PUSH OFFSET szMessage
PUSH NULL
CALL MessageBoxA
;ExitProcess(0)
PUSH 0
CALL ExitProcess
END _Start
将上面的代码编译连接运行,就会弹出一个 "Hello,Wold" 的消息框,非常简单,只是对两个 Windows
API的调用。事实上,在 Win32 平台下,如果脱离了 Windows API,我们基本上寸步难行,但如果仅仅是
对 API 的调用,做一些界面上的处理,我们完全可以使用别的开发工具如 VC、VB 或者Delphi,那会方便
得多!Win32ASM自然有它的独到之处,看完本教程,你或许就会发现它的魅力。