首页 > Win32 ASM > 一些Win32汇编知识

一些Win32汇编知识

具体就看看源代码吧,有详细注释:

			.386
			.model flat, stdcall
			option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include		windows.inc
include		user32.inc
includelib	user32.lib
include		kernel32.inc
includelib	kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
			.data
szStr		db	'A Test Buffer!', 0
;重复定义指定值
szBuffer	db	128	dup(?)
;回车换行是?dh, 0ah
szTmp		db	'sizeof(szStr)=%d lengthof(szStr)=%d', 0dh, 0ah
			db	'sizeof(stWndClass)=%d lengthof(stWndClass)=%d', 0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
			.data?
;对于没有初始化的结构体变量,应该定义在.data?之中
stWndClass		WNDCLASS	<>
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
			.code
start:

;字符串取地址值用addr,不过只能用于invoke函数中。
;其他情况下可以使用offset来取得地址值

invoke		wsprintf, addr szBuffer, addr szTmp, sizeof szStr, lengthof szStr, \
			sizeof stWndClass, lengthof stWndClass
invoke		MessageBox, NULL, addr szBuffer, addr szStr, MB_ICONINFORMATION
invoke		ExitProcess, 0
			end start

 


觉得文章还不错?点击此处对作者进行打赏!


本文地址: 程序人生 >> 一些Win32汇编知识
作者:代码疯子(Wins0n) 本站内容如无声明均属原创,转载请保留作者信息与原文链接,谢谢!


更多



  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.