imageprocessreverse.asm

来自「这是一个数字图像处理的matlab仿真程序」· 汇编 代码 · 共 68 行

ASM
68
字号
		.686
		.xmm
		.model flat,stdcall
		option casemap:none

include		windows.inc
include		mymacro.inc
include		gdi32.inc
includelib	gdi32.lib
include		user32.inc
includelib	user32.lib
include		kernel32.inc
includelib	kernel32.lib
IDI_ICON1	equ		101

		.data?
hInstance	dd	?
hWinMain	dd	?
include		ProcWinMain.asm	;包含进窗口过程文件
		.code
WinMain?	proc
		local	@stWndClass:WNDCLASSEX
		local	@stMsg:MSG
		;------------
		;取得模块句柄
		;------------
		invoke	GetModuleHandle,NULL
		mov	hInstance,eax
		;--------------------------
		;填充窗口类结构,注册窗口类
		;--------------------------
		invoke	RtlZeroMemory,addr @stWndClass,sizeof @stWndClass
		invoke	LoadCursor,NULL,IDC_ARROW
		mov	@stWndClass.hCursor,eax
		invoke	LoadIcon,hInstance,IDI_ICON1
		mov	@stWndClass.hIcon,eax
		m2m	@stWndClass.hInstance,hInstance
		mov	@stWndClass.cbSize,sizeof WNDCLASSEX
		mov	@stWndClass.style,CS_HREDRAW or CS_VREDRAW
		mov	@stWndClass.lpfnWndProc,offset ProcWinMain?
		mov	@stWndClass.hbrBackground,COLOR_WINDOW + 1
		mov	@stWndClass.lpszClassName,String('MyClass')
		invoke	RegisterClassEx,addr @stWndClass
		;--------------
		;创建并更新窗口
		;--------------
		invoke	CreateWindowEx,WS_EX_CLIENTEDGE,String('MyClass'),String('Huffman解码'),\
			WS_OVERLAPPEDWINDOW or WS_VSCROLL or WS_HSCROLL,\
			100,100,800,600,NULL,NULL,hInstance,NULL
		mov	hWinMain,eax
		invoke	ShowWindow,hWinMain,SW_SHOWNORMAL
		invoke	UpdateWindow,hWinMain
		;--------
		;消息循环
		;--------
		.while	TRUE
			invoke	GetMessage,addr @stMsg,NULL,0,0
			.break	.if eax	== 0
			invoke	TranslateMessage,addr @stMsg
			invoke	DispatchMessage,addr @stMsg
		.endw
		ret
WinMain?	endp

start:		call	WinMain?
		invoke	ExitProcess,NULL
		end	start

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?