.386
.model flat,stdcall
option casemap:none
includelib kernel32.lib
includelib user32.lib
GetStdHandle PROTO :DWORD
ExitProcess PROTO :DWORD
WriteFile PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
lstrlenA PROTO :DWORD
STD_INPUT_HANDLE equ -10
STD_OUTPUT_HANDLE equ -11
STD_ERROR_HANDLE equ -12
NULL equ 0
.data
mess db 'Hello World',10,0 ;要显示的信息
.data?
StdOut dd ? ;存放标准输出的句柄
CharOut dd ? ;记录实际输出的字符数
.code
start:
invoke GetStdHandle,STD_OUTPUT_HANDLE ;获取标准输出的把柄
mov StdOut,eax ;保存把柄号
lea eax,mess
invoke lstrlenA,eax ;求字符串的长度
lea ecx,CharOut
invoke WriteFile,StdOut,offset mess,eax,ecx,NULL ;写文件
invoke ExitProcess,NULL ;程序结束
end start
Setting environment for using Microsoft Visual Studio 2008 x86 tools.
ml /coff /c "h32con.asm"
Microsoft (R) Macro Assembler Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
Assembling: h32con.asm
link /SUBSYSTEM:CONSOLE "h32con.obj"
Microsoft (R) Incremental Linker Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
C:\Users\Admin\Desktop>h32con.exe
Hello World
.model flat,stdcall
option casemap:none
includelib kernel32.lib
includelib user32.lib
GetStdHandle PROTO :DWORD
ExitProcess PROTO :DWORD
WriteFile PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
lstrlenA PROTO :DWORD
STD_INPUT_HANDLE equ -10
STD_OUTPUT_HANDLE equ -11
STD_ERROR_HANDLE equ -12
NULL equ 0
.data
mess db 'Hello World',10,0 ;要显示的信息
.data?
StdOut dd ? ;存放标准输出的句柄
CharOut dd ? ;记录实际输出的字符数
.code
start:
invoke GetStdHandle,STD_OUTPUT_HANDLE ;获取标准输出的把柄
mov StdOut,eax ;保存把柄号
lea eax,mess
invoke lstrlenA,eax ;求字符串的长度
lea ecx,CharOut
invoke WriteFile,StdOut,offset mess,eax,ecx,NULL ;写文件
invoke ExitProcess,NULL ;程序结束
end start
Setting environment for using Microsoft Visual Studio 2008 x86 tools.
ml /coff /c "h32con.asm"
Microsoft (R) Macro Assembler Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
Assembling: h32con.asm
link /SUBSYSTEM:CONSOLE "h32con.obj"
Microsoft (R) Incremental Linker Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
C:\Users\Admin\Desktop>h32con.exe
Hello World