Windows 系统编程初探 (二)俗套的 Hello World
2007-05-15 23:55
330 查看
Windows 系统编程初探 (二)俗套的 Hello World
我在研究中常用的开发工具是 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自然有它的独到之处,看完本教程,你或许就会发现它的魅力。
我在研究中常用的开发工具是 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自然有它的独到之处,看完本教程,你或许就会发现它的魅力。
相关文章推荐
- Windows 系统编程初探 (二)俗套的 Hello World
- Windows 系统编程初探 (四)结构化异常处理之一:SEH的基本原理与进程相关异常处理
- Windows 系统编程初探 (五)结构化异常处理之二:线程相关异常处理
- Windows 系统编程初探 (六)结构化异常处理之三:SEH 的简单应用
- Windows 系统编程初探 (一)也叫前言
- Windows 系统编程初探 (六)结构化异常处理之三:SEH 的简单应用
- Windows 系统编程初探 (五)结构化异常处理之二:线程相关异常处理
- Windows 系统编程初探 (三)栈(Stack)的奥秘
- Windows 系统编程初探 (三)栈(Stack)的奥秘
- Windows 系统编程初探 (四)结构化异常处理之一:SEH的基本原理与进程相关异常处理
- Windows系统编程之进程间通信
- 【Win32编程初探】学生信息管理系统的实现
- [记录]开始进行 64 位 Windows 系统编程之前需要了解的所有信息
- windows核心编程-列举出当前系统中的所有进程和线程
- Windows 2000系统编程 (1)
- VB.NET编程技巧——调用windows系统常用功能(原创文章)
- 【Linux技术】Windows与Linux系统下的库·初探
- windows编程学习之获取系统信息
- Windows系统编程之进程间通信
- Qt 编程学习之hello world 篇 [windows] 【window 平台】