.386 ; 允许使用的指令集
.model flat, stdcall ; 平坦寻址,标准函数调用约定
option casemap:none ; 大小写敏感include \masm32\include\windows.inc ; 包含STD_OUTPUT_HANDLE等定义
include \masm32\include\kernel32.inc ; 包含使用的函数的原型
includelib \masm32\lib\kernel32.lib ; 包含使用的函数的实现.data
output byte "This is a test string",0ah, 0dh ; 0ah, 0dh换行.code
start:
;===================================================================
;
; GetHandle 获取控制台窗口的句柄,返回值在eax
;
; WriteConsole
; 参数:句柄,字符串地址,字符串长度,实际输出长度(由函数返回),保留字段(NULL)
;
;===================================================================invoke GetStdHandle, STD_OUTPUT_HANDLE
invoke WriteConsole, eax, addr output, sizeof output, ebx, NULL
invoke ExitProcess, 0 ; 结束进程,防止CPU继续往下进入未定义内存尝试执行
end start
MASM HelloWorld